Files
unionflow-server-api/unionflow-mobile-apps/lib/features/events/di/evenements_di.dart

37 lines
1.1 KiB
Dart

/// Module de Dependency Injection pour les événements
library evenements_di;
import 'package:get_it/get_it.dart';
import 'package:dio/dio.dart';
import '../data/repositories/evenement_repository_impl.dart';
import '../bloc/evenements_bloc.dart';
/// Configuration de l'injection de dépendances pour le module Événements
class EvenementsDI {
static final GetIt _getIt = GetIt.instance;
/// Enregistre toutes les dépendances du module Événements
static void register() {
// Repository
_getIt.registerLazySingleton<EvenementRepository>(
() => EvenementRepositoryImpl(_getIt<Dio>()),
);
// BLoC - Factory pour créer une nouvelle instance à chaque fois
_getIt.registerFactory<EvenementsBloc>(
() => EvenementsBloc(_getIt<EvenementRepository>()),
);
}
/// Désenregistre toutes les dépendances (pour les tests)
static void unregister() {
if (_getIt.isRegistered<EvenementsBloc>()) {
_getIt.unregister<EvenementsBloc>();
}
if (_getIt.isRegistered<EvenementRepository>()) {
_getIt.unregister<EvenementRepository>();
}
}
}