feat: ajout de la configuration des émulateurs Firebase et mise à jour des services pour utiliser le backend sécurisé

This commit is contained in:
ElPoyo
2026-01-06 23:43:36 +01:00
parent fb6a271f66
commit 13a890606d
24 changed files with 1905 additions and 375 deletions

View File

@@ -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;