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

@@ -0,0 +1,58 @@
import 'package:get_it/get_it.dart';
import '../data/datasources/dashboard_remote_datasource.dart';
import '../data/repositories/dashboard_repository_impl.dart';
import '../domain/repositories/dashboard_repository.dart';
import '../domain/usecases/get_dashboard_data.dart';
import '../presentation/bloc/dashboard_bloc.dart';
import '../../../core/network/dio_client.dart';
import '../../../core/network/network_info.dart';
/// Configuration de l'injection de dépendances pour le module Dashboard
class DashboardDI {
static final GetIt _getIt = GetIt.instance;
/// Enregistre toutes les dépendances du module Dashboard
static void registerDependencies() {
// Data Sources
_getIt.registerLazySingleton<DashboardRemoteDataSource>(
() => DashboardRemoteDataSourceImpl(
dioClient: _getIt<DioClient>(),
),
);
// Repositories
_getIt.registerLazySingleton<DashboardRepository>(
() => DashboardRepositoryImpl(
remoteDataSource: _getIt<DashboardRemoteDataSource>(),
networkInfo: _getIt<NetworkInfo>(),
),
);
// Use Cases
_getIt.registerLazySingleton(() => GetDashboardData(_getIt<DashboardRepository>()));
_getIt.registerLazySingleton(() => GetDashboardStats(_getIt<DashboardRepository>()));
_getIt.registerLazySingleton(() => GetRecentActivities(_getIt<DashboardRepository>()));
_getIt.registerLazySingleton(() => GetUpcomingEvents(_getIt<DashboardRepository>()));
// BLoC
_getIt.registerFactory(
() => DashboardBloc(
getDashboardData: _getIt<GetDashboardData>(),
getDashboardStats: _getIt<GetDashboardStats>(),
getRecentActivities: _getIt<GetRecentActivities>(),
getUpcomingEvents: _getIt<GetUpcomingEvents>(),
),
);
}
/// Nettoie les dépendances du module Dashboard
static void unregisterDependencies() {
_getIt.unregister<DashboardBloc>();
_getIt.unregister<GetUpcomingEvents>();
_getIt.unregister<GetRecentActivities>();
_getIt.unregister<GetDashboardStats>();
_getIt.unregister<GetDashboardData>();
_getIt.unregister<DashboardRepository>();
_getIt.unregister<DashboardRemoteDataSource>();
}
}