user()->id) ->with(['telemetry' => fn ($query) => $query->orderByDesc('recordedAt')->limit(1)]) ->orderBy('printerName')->get(); return view('printers.index', compact('printers')); } public function create(): View { return view('printers.create'); } public function store(Request $request): RedirectResponse { $data = $request->validate([ 'printerName' => ['required', 'string', 'max:255'], 'printerIp' => ['required', 'ip'], 'serialNumber' => ['required', 'string', 'max:255', 'unique:bambuPrinters,serialNumber'], 'mqttPassword' => ['required', 'string', 'max:255'], ]); Printer::create([...$data, 'userId' => $request->user()->id]); return redirect()->route('printers.index')->with('status', 'Printer added.'); } public function destroy(Request $request, Printer $printer): RedirectResponse { abort_unless($printer->userId === $request->user()->id, 404); $printer->delete(); return redirect()->route('printers.index')->with('status', 'Printer removed.'); } }