Device::all() ]); } public function create() { $this->authorize('admin-only'); return view('devices.create'); } public function store(Request $request) { $this->authorize('admin-only'); $formFields = $request->validate([ 'title' => 'required', 'device_type' => 'required', 'description' => 'required', 'accessories' => 'required', 'rz_username_buyer' => ['required', Rule::unique('devices', 'device_id')], 'serial_number' => 'required', 'image_url' => 'required', ]); Device::create($formFields); Log::info('Device saved successfully'); return redirect('/devices'); } public function edit(Device $device) { $this->authorize('admin-only'); return view('devices.edit', ['device' => $device]); } public function update(Device $device, Request $request) { $this->authorize('admin-only'); $formFields = $request->validate([ 'title' => 'required', 'device_type' => 'required', 'description' => 'required', 'accessories' => 'required', 'rz_username_buyer' => 'required', 'serial_number' => 'required', 'image_url' => 'required', ]); $device->update($formFields); Log::info('Device updated successfully'); return back(); } public function destroy(Device $device): RedirectResponse { $this->authorize('admin-only'); $device->delete(); Log::info('Device deleted successfully'); return redirect('devices'); } public function show(Device $device) { return view('devices.show', [ 'device' => $device ]); } }