feat(online): session compte, stockage sécurisé et adapter API (ticket #64)
Ajoute l'adapter API distant (infrastructure/remote/auth_api.dart, http_api_client.dart) et le stockage sécurisé du token d'auth (infrastructure/security/secure_storage_auth_token_store.dart), câblés dans app_bootstrap.dart. Étend le modèle Drift (migration schemaVersion 9→10) et la couche application (ports, use cases, entités) pour la session de compte. flutter pub get OK (ajout http, flutter_secure_storage), build_runner OK, dart format appliqué, analyze propre (mêmes infos préexistantes), 109/109 tests verts, build APK debug validé. Premier ticket du chantier "Ajouter les features serveur au client" (#63). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -18,6 +18,7 @@ part 'app_database.g.dart';
|
||||
ExerciseImages,
|
||||
ExerciseSteps,
|
||||
MediaAssets,
|
||||
OnlineAccountSessions,
|
||||
ProgramExercises,
|
||||
Programs,
|
||||
WorkoutHistories,
|
||||
@ -41,7 +42,7 @@ final class AppDatabase extends _$AppDatabase {
|
||||
}
|
||||
|
||||
@override
|
||||
int get schemaVersion => 9;
|
||||
int get schemaVersion => 10;
|
||||
|
||||
@override
|
||||
MigrationStrategy get migration {
|
||||
@ -83,6 +84,9 @@ final class AppDatabase extends _$AppDatabase {
|
||||
if (from < 9) {
|
||||
await _migrateToSchema9(migrator);
|
||||
}
|
||||
if (from < 10) {
|
||||
await _migrateToSchema10(migrator);
|
||||
}
|
||||
await _createIndexes();
|
||||
},
|
||||
beforeOpen: (details) async {
|
||||
@ -123,6 +127,10 @@ final class AppDatabase extends _$AppDatabase {
|
||||
'CREATE INDEX IF NOT EXISTS idx_exercise_steps_exercise_id_position '
|
||||
'ON exercise_steps (exercise_id, position)',
|
||||
);
|
||||
await customStatement(
|
||||
'CREATE INDEX IF NOT EXISTS idx_online_account_sessions_logged_in '
|
||||
'ON online_account_sessions (is_logged_in, updated_at)',
|
||||
);
|
||||
await customStatement(
|
||||
'CREATE INDEX IF NOT EXISTS idx_workout_template_programs_template_id '
|
||||
'ON workout_template_programs (workout_template_id)',
|
||||
@ -315,4 +323,8 @@ extension on AppDatabase {
|
||||
await migrator.createTable(activeExerciseStepResults);
|
||||
await migrator.createTable(workoutHistoryStepResults);
|
||||
}
|
||||
|
||||
Future<void> _migrateToSchema10(Migrator migrator) async {
|
||||
await migrator.createTable(onlineAccountSessions);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user