feat: Implement centralized error handling with ErrorService; replace print statements with logging in services and blocs

feat: Add ErrorContent widget for displaying error messages in dialogs and bottom sheets
refactor: Update GroupBloc and GroupRepository to utilize ErrorService for error logging
refactor: Enhance user and trip services to log errors using ErrorService
refactor: Clean up debug print statements in GroupContent and related components
This commit is contained in:
Dayron
2025-10-15 11:43:21 +02:00
parent 03ed85bf98
commit 0162eb67f5
12 changed files with 422 additions and 197 deletions

View File

@@ -1,8 +1,10 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:travel_mate/services/error_service.dart';
import '../blocs/user/user_state.dart';
class UserService {
final _errorService = ErrorService();
final FirebaseFirestore _firestore;
final FirebaseAuth _auth;
static const String _usersCollection = 'users';
@@ -32,7 +34,7 @@ class UserService {
.set(user.toJson());
return true;
} catch (e) {
print('Erreur lors de la création de l\'utilisateur: $e');
_errorService.logError('Erreur lors de la création de l\'utilisateur: $e', StackTrace.current);
return false;
}
}
@@ -53,7 +55,7 @@ class UserService {
}
return null;
} catch (e) {
print('Erreur lors de la récupération de l\'utilisateur: $e');
_errorService.logError('Erreur lors de la récupération de l\'utilisateur: $e', StackTrace.current);
return null;
}
}
@@ -76,7 +78,7 @@ class UserService {
}
return null;
} catch (e) {
print('Erreur lors de la récupération de l\'utilisateur par email: $e');
_errorService.logError('Erreur lors de la récupération de l\'utilisateur par email: $e', StackTrace.current);
return null;
}
}
@@ -95,7 +97,7 @@ class UserService {
}
return null;
} catch (e) {
print('Erreur lors de la récupération de l\'ID utilisateur: $e');
_errorService.logError('Erreur lors de la récupération de l\'ID utilisateur: $e', StackTrace.current);
return null;
}
}
@@ -109,7 +111,7 @@ class UserService {
.update(userData);
return true;
} catch (e) {
print('Erreur lors de la mise à jour de l\'utilisateur: $e');
_errorService.logError('Erreur lors de la mise à jour de l\'utilisateur: $e', StackTrace.current);
return false;
}
}
@@ -123,7 +125,7 @@ class UserService {
.delete();
return true;
} catch (e) {
print('Erreur lors de la suppression de l\'utilisateur: $e');
_errorService.logError('Erreur lors de la suppression de l\'utilisateur: $e', StackTrace.current);
return false;
}
}
@@ -139,7 +141,7 @@ class UserService {
return querySnapshot.docs.isNotEmpty;
} catch (e) {
print('Erreur lors de la vérification de l\'email: $e');
_errorService.logError('Erreur lors de la vérification de l\'email: $e', StackTrace.current);
return false;
}
}
@@ -171,7 +173,7 @@ class UserService {
return users;
} catch (e) {
print('Erreur lors de la récupération des utilisateurs: $e');
_errorService.logError('Erreur lors de la récupération des utilisateurs: $e', StackTrace.current);
return [];
}
}
@@ -190,7 +192,7 @@ class UserService {
});
}).toList();
} catch (e) {
print('Erreur lors de la récupération de tous les utilisateurs: $e');
_errorService.logError('Erreur lors de la récupération de tous les utilisateurs: $e', StackTrace.current);
return [];
}
}
@@ -254,7 +256,7 @@ class UserService {
return usersMap.values.toList();
} catch (e) {
print('Erreur lors de la recherche d\'utilisateurs: $e');
_errorService.logError('Erreur lors de la recherche d\'utilisateurs: $e', StackTrace.current);
return [];
}
}
@@ -270,7 +272,7 @@ class UserService {
});
return true;
} catch (e) {
print('Erreur lors de la mise à jour de la dernière connexion: $e');
_errorService.logError('Erreur lors de la mise à jour de la dernière connexion: $e', StackTrace.current);
return false;
}
}
@@ -284,7 +286,7 @@ class UserService {
.get();
return doc.exists;
} catch (e) {
print('Erreur lors de la vérification de l\'existence de l\'utilisateur: $e');
_errorService.logError('Erreur lors de la vérification de l\'existence de l\'utilisateur: $e', StackTrace.current);
return false;
}
}