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

@@ -3,24 +3,28 @@ import 'package:em2rp/models/maintenance_model.dart';
import 'package:em2rp/models/alert_model.dart';
import 'package:em2rp/models/equipment_model.dart';
import 'package:em2rp/services/equipment_service.dart';
import 'package:em2rp/services/api_service.dart';
class MaintenanceService {
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
final EquipmentService _equipmentService = EquipmentService();
final ApiService _apiService = apiService;
// Collection references
CollectionReference get _maintenancesCollection => _firestore.collection('maintenances');
CollectionReference get _equipmentCollection => _firestore.collection('equipment');
CollectionReference get _equipmentCollection => _firestore.collection('equipments');
CollectionReference get _alertsCollection => _firestore.collection('alerts');
// CRUD Operations
// ============================================================================
// CRUD Operations - Utilise le backend sécurisé
// ============================================================================
/// Créer une nouvelle maintenance
/// Créer une nouvelle maintenance (via Cloud Function)
Future<void> createMaintenance(MaintenanceModel maintenance) async {
try {
await _maintenancesCollection.doc(maintenance.id).set(maintenance.toMap());
await _apiService.call('createMaintenance', maintenance.toMap());
// Mettre à jour les équipements concernés
// Mettre à jour les équipements concernés (côté client pour l'instant)
for (String equipmentId in maintenance.equipmentIds) {
await _updateEquipmentMaintenanceList(equipmentId, maintenance.id);
@@ -35,11 +39,13 @@ class MaintenanceService {
}
}
/// Mettre à jour une maintenance
/// Mettre à jour une maintenance (via Cloud Function)
Future<void> updateMaintenance(String id, Map<String, dynamic> data) async {
try {
data['updatedAt'] = Timestamp.fromDate(DateTime.now());
await _maintenancesCollection.doc(id).update(data);
await _apiService.call('updateMaintenance', {
'maintenanceId': id,
'data': data,
});
} catch (e) {
print('Error updating maintenance: $e');
rethrow;