user(); $servers = $user->currentProject->servers()->orderByDesc('created_at')->get(); return view('servers.index', compact('servers')); } public function create(Request $request): View { $provider = $request->query('provider', old('provider', \App\Enums\ServerProvider::CUSTOM)); $serverProviders = ServerProvider::query()->where('provider', $provider)->get(); return view('servers.create', [ 'serverProviders' => $serverProviders, 'provider' => $provider, ]); } /** * @throws Throwable */ public function store(Request $request): HtmxResponse { $server = app(CreateServer::class)->create( $request->user(), $request->input() ); Toast::success('Server created successfully.'); return htmx()->redirect(route('servers.show', ['server' => $server])); } public function show(Server $server): View { return view('servers.show', [ 'server' => $server, 'logs' => $server->logs()->latest()->limit(10)->get(), ]); } public function delete(Server $server): RedirectResponse { $server->delete(); Toast::success('Server deleted successfully.'); return redirect()->route('servers'); } }