feat(exercice): valeurs par défaut d'exercice (tickets #39/#40, parent #30)
Étend le modèle Drift (tables.dart, app_database.dart/.g.dart), les entités/use cases/repositories et les écrans bibliothèque d'exercices et programme pour supporter des valeurs par défaut par exercice (répétitions/temps/poids proposés à la création d'une série). flutter analyze propre, 51/51 tests verts, build APK debug validé. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -69,6 +69,10 @@ class Exercises extends SyncableTable {
|
||||
text().withDefault(const Constant('manual'))();
|
||||
TextColumn get scoreLabel => text().nullable()();
|
||||
TextColumn get scoreUnit => text().nullable()();
|
||||
IntColumn get defaultTargetTimeSeconds => integer().nullable()();
|
||||
IntColumn get defaultTargetReps => integer().nullable()();
|
||||
RealColumn get defaultTargetScore => real().nullable()();
|
||||
IntColumn get defaultTargetScoreTimeMs => integer().nullable()();
|
||||
DateTimeColumn get archivedAt => dateTime().nullable()();
|
||||
|
||||
@override
|
||||
@ -79,6 +83,12 @@ class Exercises extends SyncableTable {
|
||||
"CHECK (score_input_mode != 'manual' OR NOT has_score_measure OR "
|
||||
'(score_label IS NOT NULL AND length(trim(score_label)) > 0 '
|
||||
'AND score_unit IS NOT NULL AND length(trim(score_unit)) > 0))',
|
||||
'CHECK (default_target_time_seconds IS NULL OR '
|
||||
'default_target_time_seconds > 0)',
|
||||
'CHECK (default_target_reps IS NULL OR default_target_reps > 0)',
|
||||
'CHECK (default_target_score IS NULL OR default_target_score > 0)',
|
||||
'CHECK (default_target_score_time_ms IS NULL OR '
|
||||
'default_target_score_time_ms > 0)',
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user