Session Total cost: $8.64 (costs may be inaccurate due to usage of unknown models) Total duration (API): 1h 16m 9s Total duration (wall): 1h 59m 9s Total code changes: 4094 lines added, 229 lines removed Usage by model: qwen/qwen3.6-35b-a3b: 432.0k input, 112.9k output, 18.6m cache read, 0 cache write ($8.56) claude-haiku-4-5: 9.4k input, 13.3k output, 8.3k cache read, 0 cache write ($0.0767) Runtime: llamacpp Model: Qwen 3.6 35B A3B Q4 K M Coding Agent: ClaudeCode
68 lines
1.9 KiB
PHP
68 lines
1.9 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Organization;
|
|
use Illuminate\Http\JsonResponse;
|
|
use Illuminate\Http\RedirectResponse;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class OrganizationController extends Controller
|
|
{
|
|
public function show(Organization $organization)
|
|
{
|
|
abort_unless($organization->user_id === auth()->id(), 403);
|
|
|
|
return view('organizations.show', compact('organization'));
|
|
}
|
|
|
|
public function store(Request $request): JsonResponse|RedirectResponse
|
|
{
|
|
$validated = $request->validate([
|
|
'name' => ['required', 'string', 'max:255'],
|
|
]);
|
|
|
|
$user = Auth::user();
|
|
$org = $user->organizations()->create(['name' => $validated['name']]);
|
|
$user->update([
|
|
'has_organization' => true,
|
|
'current_organization_id' => $org->id,
|
|
]);
|
|
|
|
return response()->json([
|
|
'redirect' => route('dashboard'),
|
|
'message' => 'Organization created successfully.',
|
|
]);
|
|
}
|
|
|
|
public function switch(Organization $organization)
|
|
{
|
|
abort_unless($organization->user_id === auth()->id(), 403);
|
|
auth()->user()->update(['current_organization_id' => $organization->id]);
|
|
|
|
return redirect()->route('organizations.show', $organization);
|
|
}
|
|
|
|
public function destroy(Organization $organization): JsonResponse|RedirectResponse
|
|
{
|
|
$user = Auth::user();
|
|
|
|
if ($organization->user_id !== $user->id) {
|
|
return response()->json(['error' => 'Unauthorized'], 403);
|
|
}
|
|
|
|
if ($user->organizations()->count() <= 1) {
|
|
return response()->json([
|
|
'error' => 'You must have at least one organization.',
|
|
]);
|
|
}
|
|
|
|
$organization->delete();
|
|
|
|
return response()->json([
|
|
'message' => 'Organization deleted.',
|
|
]);
|
|
}
|
|
}
|