bonpoint/mobile/lib/data/repositories/onboarding_repository.dart
Julien Martin aac3a729a2 Initialise l'app Flutter mobile : BDD Drift, onboarding sans compte et tableau de bord.
Phase 1 du MVP : schéma SQLite porté depuis le prototype web, seed des règles/récompenses, flux d'onboarding en 4 étapes et écran d'accueil minimal.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-12 12:12:01 +02:00

30 lines
694 B
Dart

import 'package:bcrypt/bcrypt.dart';
import '../database/app_database.dart';
class OnboardingRepository {
OnboardingRepository(this._db);
final AppDatabase _db;
Future<bool> isComplete() => _db.isOnboardingComplete();
Future<void> finish({
required String childName,
required String color,
required String pin,
required bool importDefaultRules,
}) async {
await _db.transaction(() async {
await _db.insertChild(prenom: childName.trim(), couleur: color);
await _db.setPinHash(BCrypt.hashpw(pin, BCrypt.gensalt()));
if (importDefaultRules) {
await _db.importDefaultPack();
}
await _db.completeOnboarding();
});
}
}