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,7 +1,9 @@
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:travel_mate/services/error_service.dart';
import '../data/models/trip.dart';
class TripService {
final _errorService = ErrorService();
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
static const String _tripsCollection = 'trips';
@@ -18,7 +20,7 @@ class TripService {
return Trip.fromMap({...data, 'id': doc.id});
}).toList();
} catch (e) {
print('Erreur lors du chargement des voyages: $e');
_errorService.logError('Erreur lors du chargement des voyages: $e', StackTrace.current);
return [];
}
}
@@ -39,16 +41,13 @@ class TripService {
await _firestore.collection(_tripsCollection).add(tripData);
return true;
} catch (e) {
print('Erreur lors de l\'ajout du voyage: $e');
_errorService.logError('Erreur lors de l\'ajout du voyage: $e', StackTrace.current);
return false;
}
}
// Stream pour écouter les voyages d'un utilisateur en temps réel
Stream<List<Trip>> getTripsStreamByUser(String userId, String userEmail) {
print('=== STREAM CRÉÉ ===');
print('UserId: $userId');
return _firestore
.collection(_tripsCollection)
.snapshots()
@@ -88,8 +87,7 @@ class TripService {
}
}
} catch (e, stackTrace) {
print('Erreur lors du traitement du document ${doc.id}: $e');
print('StackTrace: $stackTrace');
_errorService.logError('Erreur lors du traitement du document ${doc.id}: $e', stackTrace);
}
}
@@ -98,15 +96,14 @@ class TripService {
try {
return b.createdAt.compareTo(a.createdAt);
} catch (e) {
print('Erreur lors du tri: $e');
_errorService.logError('Erreur lors du tri: $e', StackTrace.current);
return 0;
}
});
return trips;
}).handleError((error, stackTrace) {
print('Erreur dans le stream: $error');
print('StackTrace: $stackTrace');
_errorService.logError('Erreur dans le stream: $error', stackTrace);
return <Trip>[];
});
}
@@ -130,7 +127,7 @@ class TripService {
trips.add(trip);
}
} catch (e) {
print('Erreur lors de la conversion du voyage créé ${doc.id}: $e');
_errorService.logError('Erreur lors de la conversion du voyage créé ${doc.id}: $e', StackTrace.current);
}
}
@@ -144,7 +141,7 @@ class TripService {
});
return trips;
} catch (e) {
print('Erreur lors de la récupération des voyages: $e');
_errorService.logError('Erreur lors de la récupération des voyages: $e', StackTrace.current);
return [];
}
}
@@ -183,8 +180,7 @@ class TripService {
return trip;
} catch (e, stackTrace) {
print('Erreur lors de la conversion du document $docId: $e');
print('StackTrace: $stackTrace');
_errorService.logError('Erreur lors de la conversion du document $docId: $e', stackTrace);
return null;
}
}
@@ -202,7 +198,7 @@ class TripService {
.update(tripData);
return true;
} catch (e) {
print('Erreur lors de la mise à jour du voyage: $e');
_errorService.logError('Erreur lors de la mise à jour du voyage: $e', StackTrace.current);
return false;
}
}
@@ -213,7 +209,7 @@ class TripService {
await _firestore.collection(_tripsCollection).doc(tripId).delete();
return true;
} catch (e) {
print('Erreur lors de la suppression du voyage: $e');
_errorService.logError('Erreur lors de la suppression du voyage: $e', StackTrace.current);
return false;
}
}
@@ -232,7 +228,7 @@ class TripService {
}
return null;
} catch (e) {
print('Erreur lors de la récupération du voyage: $e');
_errorService.logError('Erreur lors de la récupération du voyage: $e', StackTrace.current);
return null;
}
}
@@ -246,7 +242,7 @@ class TripService {
});
return true;
} catch (e) {
print('Erreur lors de l\'ajout du participant: $e');
_errorService.logError('Erreur lors de l\'ajout du participant: $e', StackTrace.current);
return false;
}
}
@@ -260,7 +256,7 @@ class TripService {
});
return true;
} catch (e) {
print('Erreur lors du retrait du participant: $e');
_errorService.logError('Erreur lors du retrait du participant: $e', StackTrace.current);
return false;
}
}