Ajoute l'espace parent : PIN, grille de règles, historique et annulation.

Phase 2 du MVP Flutter : vérification PIN locale, application des règles par famille, suivi des mouvements et correction avec plancher à 0.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Julien Martin
2026-06-12 12:24:42 +02:00
co-authored by Cursor
parent aac3a729a2
commit b8faf3b4df
12 changed files with 950 additions and 4 deletions
@@ -0,0 +1,30 @@
import 'package:bcrypt/bcrypt.dart';
import '../database/app_database.dart';
import '../models/movement_detail.dart';
class ParentRepository {
ParentRepository(this._db);
final AppDatabase _db;
Future<bool> verifyPin(String pin) async {
final hash = await _db.getPinHash();
if (hash == null) return false;
return BCrypt.checkpw(pin, hash);
}
Future<List<Regle>> listRules() => _db.listActiveRules();
Future<List<MovementDetail>> listMovements({int limit = 30}) {
return _db.listRecentMovements(limit: limit);
}
Future<Enfant?> applyRule(int childId, int ruleId) {
return _db.applyRule(childId, ruleId);
}
Future<Enfant?> cancelMovement(int movementId) {
return _db.cancelMovement(movementId);
}
}