docs: Marquer les tâches #76 et le bug de purge Hive comme terminés
Tâche #76: Accès admin limité web uniquement - ✅ Terminé 26/01 Bug: Boxes Hive non purgées à la connexion - ✅ Corrigé 26/01 Corrections aujourd'hui: - #15: Nouveau membre non synchronisé (sécurité + sync + API) - #76: Accès admin limité web uniquement - Bug: Nettoyage automatique des boxes Hive à la connexion - Optimisation: operation_id en session (évite requêtes SQL)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// ⚠️ AUTO-GENERATED FILE - DO NOT EDIT MANUALLY
|
||||
// This file is automatically generated by deploy-app.sh script
|
||||
// Last update: 2026-01-26 17:20:35
|
||||
// Last update: 2026-01-26 17:39:00
|
||||
// Source: ../VERSION file
|
||||
//
|
||||
// GEOSECTOR App Version Service
|
||||
@@ -8,10 +8,10 @@
|
||||
|
||||
class AppInfoService {
|
||||
// Version number (format: YY.MM.DDNN - auto-incremented on each DEV deploy)
|
||||
static const String version = '26.01.2606';
|
||||
static const String version = '26.01.2607';
|
||||
|
||||
// Build number (version without dots: YYMMDDNN)
|
||||
static const String buildNumber = '26012606';
|
||||
static const String buildNumber = '26012607';
|
||||
|
||||
// Full version string (format: vYY.MM.DDNN+YYMMDDNN)
|
||||
static String get fullVersion => 'v$version+$buildNumber';
|
||||
|
||||
@@ -42,14 +42,19 @@ class DataLoadingService extends ChangeNotifier {
|
||||
// Chat boxes removed - handled by new chat module
|
||||
|
||||
/// Traite toutes les données reçues de l'API lors du login
|
||||
/// Les boxes sont déjà propres, on charge juste les données
|
||||
/// Nettoie d'abord les boxes puis charge les nouvelles données
|
||||
Future<void> processLoginData(Map<String, dynamic> apiResult) async {
|
||||
try {
|
||||
debugPrint('📊 Début du chargement des données (boxes déjà propres)...');
|
||||
debugPrint('📊 Début du chargement des données...');
|
||||
|
||||
// Vérifier que les boxes sont ouvertes
|
||||
_verifyBoxesAreOpen();
|
||||
|
||||
// Nettoyer les boxes AVANT de charger les nouvelles données
|
||||
// Cela évite que les données d'un ancien utilisateur persistent
|
||||
await _clearAllDataBoxes();
|
||||
debugPrint('🧹 Boxes nettoyées pour le nouvel utilisateur');
|
||||
|
||||
// Charger les données directement (les boxes sont vides et propres)
|
||||
if (apiResult['clients'] != null) {
|
||||
await _processClients(apiResult['clients']);
|
||||
@@ -111,6 +116,31 @@ class DataLoadingService extends ChangeNotifier {
|
||||
debugPrint('✅ Toutes les boîtes requises sont ouvertes');
|
||||
}
|
||||
|
||||
/// Nettoie les boxes de données utilisateur lors d'une nouvelle connexion
|
||||
/// Ne touche PAS aux requêtes en attente (pendingRequests) pour la sync hors ligne
|
||||
Future<void> _clearAllDataBoxes() async {
|
||||
try {
|
||||
debugPrint('🧹 Nettoyage des boxes de données utilisateur...');
|
||||
|
||||
// Vider toutes les boxes de données métier
|
||||
await _operationBox.clear();
|
||||
await _sectorBox.clear();
|
||||
await _passageBox.clear();
|
||||
await _membreBox.clear();
|
||||
await _userSectorBox.clear();
|
||||
await _amicaleBox.clear();
|
||||
|
||||
// Ne PAS toucher aux boxes suivantes:
|
||||
// - pendingRequests (requêtes en attente de sync)
|
||||
// - users (géré par CurrentUserService)
|
||||
|
||||
debugPrint('✅ Boxes de données nettoyées');
|
||||
} catch (e) {
|
||||
debugPrint('❌ Erreur lors du nettoyage des boxes: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
/// Nettoie complètement toutes les données lors du logout
|
||||
Future<void> cleanDataAfterLogout() async {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user