Files
unionflow-server-api/unionflow/unionflow-mobile-apps/lib/features/members/di/membres_di.dart
dahoud b1957c1c81 feat(unionflow): ajout Spec-Kit, constitution, mission mutuelles
- Config Spec-Kit pour Spec-Driven Development
- CONSTITUTION.md + .specify/memory/constitution.md
- Commandes Cursor /speckit.*, règles projet
- Mission: associations + mutuelles d'épargne et de financement
- .gitignore: versionner config spec-kit unionflow

Made-with: Cursor
2026-02-27 14:41:07 +00:00

46 lines
1.4 KiB
Dart

/// Module de Dependency Injection pour les membres
library membres_di;
import 'package:get_it/get_it.dart';
import 'package:dio/dio.dart';
import '../data/repositories/membre_repository_impl.dart';
import '../data/services/membre_search_service.dart';
import '../bloc/membres_bloc.dart';
/// Configuration de l'injection de dépendances pour le module Membres
class MembresDI {
static final GetIt _getIt = GetIt.instance;
/// Enregistre toutes les dépendances du module Membres
static void register() {
// Repository
_getIt.registerLazySingleton<MembreRepository>(
() => MembreRepositoryImpl(_getIt<Dio>()),
);
// Service de recherche de membres (utilisé par adhésions, etc.)
_getIt.registerLazySingleton<MembreSearchService>(
() => MembreSearchService(_getIt<Dio>()),
);
// BLoC - Factory pour créer une nouvelle instance à chaque fois
_getIt.registerFactory<MembresBloc>(
() => MembresBloc(_getIt<MembreRepository>()),
);
}
/// Désenregistre toutes les dépendances (pour les tests)
static void unregister() {
if (_getIt.isRegistered<MembresBloc>()) {
_getIt.unregister<MembresBloc>();
}
if (_getIt.isRegistered<MembreSearchService>()) {
_getIt.unregister<MembreSearchService>();
}
if (_getIt.isRegistered<MembreRepository>()) {
_getIt.unregister<MembreRepository>();
}
}
}