StreakFit: exercices planifiés dans la séance + filtre matériel + config matos profil
Build & Deploy / build (push) Successful in 25s
Build & Deploy / build (push) Successful in 25s
- BUG: une séance issue d'une routine était vide -> WorkoutSessionResource expose planned_exercises (eager-load routine.routineExercises.exercise), pre-rempli cote front - profil: champ users.available_equipment (json), PATCH /api/me (UpdateProfileRequest), expose dans /api/me - exercises: filtre equipment accepte une liste CSV (whereIn) -> filtre 'mon matos' Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -24,7 +24,12 @@ class ExercisesController
|
||||
$exercises = Exercise::query()
|
||||
->search($request->query('search'))
|
||||
->when($request->query('body_part'), fn ($query, $bodyPart) => $query->where('body_part', $bodyPart))
|
||||
->when($request->query('equipment'), fn ($query, $equipment) => $query->where('equipment', $equipment))
|
||||
->when($request->query('equipment'), function ($query, $equipment) {
|
||||
// Accepte une valeur unique ou une liste séparée par des virgules ("dumbbell,barbell")
|
||||
// → filtre "mon matériel" (plusieurs équipements possédés).
|
||||
$values = array_values(array_filter(is_array($equipment) ? $equipment : explode(',', (string) $equipment)));
|
||||
$query->whereIn('equipment', $values);
|
||||
})
|
||||
->when($request->query('target'), fn ($query, $target) => $query->where('target', $target))
|
||||
->when($request->query('category'), fn ($query, $category) => $query->where('category', $category))
|
||||
->orderBy('name')
|
||||
|
||||
Reference in New Issue
Block a user