fix(backend): durcissements (throttle register, garde auto-suppression admin, null-check saisie)

- throttle:10,1 sur l'inscription (anti-spam de comptes)
- un admin ne peut plus désactiver/supprimer son propre compte (anti lock-out)
- update/destroy saisie : abort 404 propre si l'utilisateur n'a pas de tracker

Tests 15/15, Pint pass.
This commit is contained in:
Azmog
2026-06-19 10:47:37 +02:00
parent ae9395a831
commit fe9e921d73
3 changed files with 16 additions and 3 deletions
@@ -53,7 +53,9 @@ class SaisieTrackerController extends Controller
public function update(StoreSaisieRequest $request, int $id): JsonResponse
{
$saisie = auth()->user()->tracker->saisies()->findOrFail($id);
$tracker = auth()->user()->tracker;
abort_unless($tracker, 404, 'Aucun tracker trouvé.');
$saisie = $tracker->saisies()->findOrFail($id);
$saisie->update($request->validated());
$saisie->load('emotion');
@@ -65,7 +67,9 @@ class SaisieTrackerController extends Controller
public function destroy(int $id): JsonResponse
{
$saisie = auth()->user()->tracker->saisies()->findOrFail($id);
$tracker = auth()->user()->tracker;
abort_unless($tracker, 404, 'Aucun tracker trouvé.');
$saisie = $tracker->saisies()->findOrFail($id);
$saisie->delete();
return response()->json([