Refactoring - Version OK

This commit is contained in:
dahoud
2025-11-17 16:02:04 +00:00
parent 3f00a26308
commit 3b9ffac8cd
198 changed files with 18010 additions and 11383 deletions

View File

@@ -4,10 +4,12 @@ library app_di;
import 'package:dio/dio.dart';
import 'package:get_it/get_it.dart';
import '../network/dio_client.dart';
import '../../features/organisations/di/organisations_di.dart';
import '../network/network_info.dart';
import '../../features/organizations/di/organizations_di.dart';
import '../../features/members/di/membres_di.dart';
import '../../features/events/di/evenements_di.dart';
import '../../features/cotisations/di/cotisations_di.dart';
import '../../features/contributions/di/contributions_di.dart';
import '../../features/dashboard/di/dashboard_di.dart';
/// Gestionnaire global des dépendances
class AppDI {
@@ -28,12 +30,17 @@ class AppDI {
final dioClient = DioClient();
_getIt.registerSingleton<DioClient>(dioClient);
_getIt.registerSingleton<Dio>(dioClient.dio);
// Network Info (pour l'instant, on simule toujours connecté)
_getIt.registerLazySingleton<NetworkInfo>(
() => _MockNetworkInfo(),
);
}
/// Configure tous les modules de l'application
static Future<void> _setupModules() async {
// Module Organisations
OrganisationsDI.registerDependencies();
// Module Organizations
OrganizationsDI.registerDependencies();
// Module Membres
MembresDI.register();
@@ -41,9 +48,12 @@ class AppDI {
// Module Événements
EvenementsDI.register();
// Module Cotisations
// Module Contributions
registerCotisationsDependencies(_getIt);
// Module Dashboard
DashboardDI.registerDependencies();
// TODO: Ajouter d'autres modules ici
// SolidariteDI.registerDependencies();
// RapportsDI.registerDependencies();
@@ -52,7 +62,7 @@ class AppDI {
/// Nettoie toutes les dépendances
static Future<void> dispose() async {
// Nettoyer les modules
OrganisationsDI.unregisterDependencies();
OrganizationsDI.unregisterDependencies();
MembresDI.unregister();
EvenementsDI.unregister();
@@ -76,4 +86,15 @@ class AppDI {
/// Obtient le client Dio wrapper
static DioClient get dioClient => _getIt<DioClient>();
/// Nettoie toutes les dépendances
static Future<void> cleanup() async {
await _getIt.reset();
}
}
/// Mock de NetworkInfo pour les tests et développement
class _MockNetworkInfo implements NetworkInfo {
@override
Future<bool> get isConnected async => true;
}

View File

@@ -0,0 +1,15 @@
import 'package:get_it/get_it.dart';
import 'app_di.dart';
/// Service locator global - alias pour faciliter l'utilisation
final GetIt sl = AppDI.instance;
/// Initialise toutes les dépendances de l'application
Future<void> initializeDependencies() async {
await AppDI.initialize();
}
/// Nettoie toutes les dépendances
Future<void> cleanupDependencies() async {
await AppDI.cleanup();
}