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

@@ -7,9 +7,16 @@ import 'dart:convert';
import 'package:em2rp/models/event_model.dart';
import 'package:em2rp/models/event_type_model.dart';
import 'package:em2rp/models/user_model.dart';
import 'package:em2rp/services/api_service.dart';
import 'dart:developer' as developer;
class EventFormService {
static final ApiService _apiService = apiService;
// ============================================================================
// READ Operations - Utilise Firestore (peut rester en lecture directe)
// ============================================================================
static Future<List<EventTypeModel>> fetchEventTypes() async {
developer.log('Fetching event types from Firestore...', name: 'EventFormService');
try {
@@ -33,6 +40,10 @@ class EventFormService {
}
}
// ============================================================================
// STORAGE - Reste inchangé (déjà via Cloud Function)
// ============================================================================
static Future<List<Map<String, String>>> uploadFiles(List<PlatformFile> files) async {
List<Map<String, String>> uploadedFiles = [];
@@ -90,14 +101,39 @@ class EventFormService {
}
}
// ============================================================================
// CRUD Operations - Utilise le backend sécurisé
// ============================================================================
static Future<String> createEvent(EventModel event) async {
final docRef = await FirebaseFirestore.instance.collection('events').add(event.toMap());
return docRef.id;
try {
final result = await _apiService.call('createEvent', event.toMap());
return result['id'] as String;
} catch (e) {
developer.log('Error creating event', name: 'EventFormService', error: e);
rethrow;
}
}
static Future<void> updateEvent(EventModel event) async {
final docRef = FirebaseFirestore.instance.collection('events').doc(event.id);
await docRef.update(event.toMap());
try {
await _apiService.call('updateEvent', {
'eventId': event.id,
'data': event.toMap(),
});
} catch (e) {
developer.log('Error updating event', name: 'EventFormService', error: e);
rethrow;
}
}
static Future<void> deleteEvent(String eventId) async {
try {
await _apiService.call('deleteEvent', {'eventId': eventId});
} catch (e) {
developer.log('Error deleting event', name: 'EventFormService', error: e);
rethrow;
}
}
static Future<List<Map<String, String>>> moveFilesToEvent(