feat: ajout de la configuration des émulateurs Firebase et mise à jour des services pour utiliser le backend sécurisé
This commit is contained in:
@@ -1,38 +1,44 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:em2rp/models/container_model.dart';
|
||||
import 'package:em2rp/models/equipment_model.dart';
|
||||
import 'package:em2rp/services/api_service.dart';
|
||||
|
||||
class ContainerService {
|
||||
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
|
||||
final ApiService _apiService = apiService;
|
||||
|
||||
// Collection references
|
||||
CollectionReference get _containersCollection => _firestore.collection('containers');
|
||||
CollectionReference get _equipmentCollection => _firestore.collection('equipments');
|
||||
|
||||
// CRUD Operations
|
||||
// ============================================================================
|
||||
// CRUD Operations - Utilise le backend sécurisé
|
||||
// ============================================================================
|
||||
|
||||
/// Créer un nouveau container
|
||||
/// Créer un nouveau container (via Cloud Function)
|
||||
Future<void> createContainer(ContainerModel container) async {
|
||||
try {
|
||||
await _containersCollection.doc(container.id).set(container.toMap());
|
||||
await _apiService.call('createContainer', container.toMap()..['id'] = container.id);
|
||||
} catch (e) {
|
||||
print('Error creating container: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
/// Mettre à jour un container
|
||||
/// Mettre à jour un container (via Cloud Function)
|
||||
Future<void> updateContainer(String id, Map<String, dynamic> data) async {
|
||||
try {
|
||||
data['updatedAt'] = Timestamp.fromDate(DateTime.now());
|
||||
await _containersCollection.doc(id).update(data);
|
||||
await _apiService.call('updateContainer', {
|
||||
'containerId': id,
|
||||
'data': data,
|
||||
});
|
||||
} catch (e) {
|
||||
print('Error updating container: $e');
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
/// Supprimer un container
|
||||
/// Supprimer un container (via Cloud Function)
|
||||
Future<void> deleteContainer(String id) async {
|
||||
try {
|
||||
// Récupérer le container pour obtenir les équipements
|
||||
@@ -55,7 +61,7 @@ class ContainerService {
|
||||
}
|
||||
}
|
||||
|
||||
await _containersCollection.doc(id).delete();
|
||||
await _apiService.call('deleteContainer', {'containerId': id});
|
||||
} catch (e) {
|
||||
print('Error deleting container: $e');
|
||||
rethrow;
|
||||
|
||||
Reference in New Issue
Block a user