sortBy('position'); return view('documents.index', compact('files')); } public function create($idReceptionScreen = null): View { abort_if(Auth::guest(), 403); $receptionScreens = ReceptionScreen::pluck('name', 'id'); $files = Documents::where('reception_screen_id', '=', $idReceptionScreen)->get(); return view('files.create', compact('receptionScreens', 'idReceptionScreen', 'files')); } public function store(StoreFileRequest $request) { abort_if(Auth::guest(), 403); $nameFile = $request->file('url')->getClientOriginalName(); $name = Storage::put('public', $request->file('url')); $validated = $request->validated(); $file = new Documents(); $file->name = $validated['name']; $file->file_name = $nameFile; $file->url = Storage::url($name); $file->position = $validated['position']; $file->reception_screen_id = $validated['idReceptionScreen']; $file->save(); return redirect()->route('files.index'); } public function download($id) { $file = (new Documents())->find($id); return Storage::url($file->url); } public function edit(int $idFile) { abort_if(Auth::guest(), 403); $file = (new Documents())->find($idFile); $files = Documents::where('reception_screen_id', '=', $file->reception_screen_id)->get(); $receptionScreens = ReceptionScreen::pluck('name', 'id'); $idsReceptionScreens = $receptionScreens->keys()->toArray(); $idReceptionScreen = $file->reception_screen_id; return view( 'files.edit', compact( 'receptionScreens', 'idsReceptionScreens', 'idReceptionScreen', 'files', 'file' ) ); } public function update(UpdateFileRequest $request, Documents $file) { abort_if(Auth::guest(), 403); $validated = $request->validated(); $file->name = $validated['name']; $file->position = $validated['position']; $file->reception_screen_id = $validated['idReceptionScreen']; $file->save(); return redirect()->route('admin-reception-screen.index'); } public function destroy($idFile) { abort_if(Auth::guest(), 403); $file = (new Documents())->find($idFile); $file->delete(); return redirect()->route('admin-reception-screen.index'); } }