validate([ 'label' => ['required', 'string', 'max:80'], 'url' => ['required', 'string', 'max:500'], ]); $compte = Auth::guard('web')->user() ?? Auth::guard('eleve')->user(); $ordre = Raccourci::when($compte instanceof User, fn ($q) => $q->where('user_id', $compte->id)) ->when($compte instanceof Eleve, fn ($q) => $q->where('eleve_id', $compte->id)) ->max('ordre'); Raccourci::create([ 'user_id' => $compte instanceof User ? $compte->id : null, 'eleve_id' => $compte instanceof Eleve ? $compte->id : null, 'label' => $donnees['label'], 'url' => $donnees['url'], 'ordre' => ($ordre ?? 0) + 1, ]); return back()->with('raccourci_ajoute', true); } public function destroy(Raccourci $raccourci): RedirectResponse { $compte = Auth::guard('web')->user() ?? Auth::guard('eleve')->user(); $proprietaire = $compte instanceof User ? $raccourci->user_id === $compte->id : $raccourci->eleve_id === $compte->id; abort_unless($proprietaire, 403); $raccourci->delete(); return back(); } }