with(['user', 'phpVersion'])->orderBy('url')->get(); try { $serverIp = Http::get('https://api.ipify.org')->body(); } catch (\Exception $exception) { $serverIp = 'N/A'; } return Inertia::render('Websites/Index', compact('websites', 'serverIp')); } /** * Store a newly created resource in storage. */ public function store(CreateWebsiteRequest $request) { $user = $request->user(); (new CreateWebsiteService($request->validated(), $user))->handle(); session()->flash('success', 'Website created successfully.'); return redirect()->route('websites.index'); } /** * Update the specified resource in storage. */ public function update(UpdateWebsitePHPVersionRequest $request, string $id) { $website = Website::findOrFail($id); Gate::authorize('update', $website); $validated = $request->validated(); (new UpdateWebsitePHPVersionService($website, (int) $validated['php_version_id']))->handle(); session()->flash('success', 'Website updated successfully.'); return redirect()->route('websites.index'); } /** * Remove the specified resource from storage. */ public function destroy(Request $request, Website $website) { Gate::authorize('delete', $website); $user = $request->user(); (new DeleteWebsiteService($website, $user))->handle(); session()->flash('success', 'Website deleted successfully.'); return redirect()->route('websites.index'); } }