StreakFit: exercices planifiés dans la séance + filtre matériel + config matos profil
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:
2026-07-21 13:27:44 +02:00
co-authored by Claude Opus 4.8
parent d629d60cba
commit 29bda37948
8 changed files with 127 additions and 5 deletions
@@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
/**
* Matériel possédé par l'utilisateur (config profil) : sert à filtrer le catalogue
* d'exercices sur "mon matos". Valeurs canoniques anglaises alignées sur exercises.equipment.
*/
return new class extends Migration
{
public function up(): void
{
Schema::table('users', function (Blueprint $table) {
$table->json('available_equipment')->nullable()->after('timezone');
});
}
public function down(): void
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('available_equipment');
});
}
};