user(); if (! $user instanceof User) { abort(403); } $validated = $request->validate([ 'workspace_id' => ['required', 'integer'], ]); $workspace = Workspace::query()->whereKey($validated['workspace_id'])->first(); if (! $workspace instanceof Workspace) { abort(404); } if (! empty($workspace->archived_at)) { abort(404); } $context = app(WorkspaceContext::class); if (! $context->isMember($user, $workspace)) { abort(404); } $context->setCurrentWorkspace($workspace, $user, $request); $tenantsQuery = $user->tenants() ->where('workspace_id', $workspace->getKey()) ->where('status', 'active'); $tenantCount = (int) $tenantsQuery->count(); if ($tenantCount === 0) { return redirect()->route('admin.workspace.managed-tenants.index', ['workspace' => $workspace->slug ?? $workspace->getKey()]); } if ($tenantCount === 1) { $tenant = $tenantsQuery->first(); if ($tenant !== null) { return redirect()->to(TenantDashboard::getUrl(tenant: $tenant)); } } return redirect()->to(ChooseTenant::getUrl()); } }