isInstalled()) { return $request->user()?->isSuperAdmin ? redirect()->route('manager.dashboard') : redirect()->route('manager.login'); } return view('install'); } public function store(Request $request): RedirectResponse { if ($this->isInstalled()) { return redirect()->route('manager.login'); } $data = $request->validate([ 'adminName' => ['required', 'string', 'max:160'], 'adminEmail' => ['required', 'email', 'max:190', 'unique:User,email'], 'password' => ['required', 'string', 'min:8', 'confirmed'], ]); $admin = DB::transaction(function () use ($data): User { $admin = User::create([ 'name' => trim($data['adminName']), 'email' => strtolower(trim($data['adminEmail'])), 'passwordHash' => Hash::make($data['password']), 'isSuperAdmin' => true, 'emailVerified' => now(), ]); ApplicationInstallation::create([ 'id' => 'singleton', 'status' => InstallationStatus::Installed, 'installedAt' => now(), 'installedVersion' => 'laravel-1', 'initialAdminUserId' => $admin->id, 'primaryBusinessId' => null, 'metadata' => ['installer' => 'platform-admin-only'], ]); return $admin; }); Auth::login($admin); $request->session()->regenerate(); return redirect()->route('manager.dashboard')->with('status', 'Platform setup complete. Create your first business from Manager.'); } private function isInstalled(): bool { try { return ApplicationInstallation::query()->where('status', InstallationStatus::Installed)->exists(); } catch (\Throwable) { return false; } } }