36 lines
1.3 KiB
Dart
36 lines
1.3 KiB
Dart
import 'package:get_it/get_it.dart';
|
|
import 'package:http/http.dart' as http;
|
|
|
|
import '../../data/datasources/user_remote_data_source.dart';
|
|
import '../../data/repositories/user_repository_impl.dart';
|
|
import '../../domain/usecases/get_user.dart';
|
|
|
|
/// Instance globale pour gérer l'injection des dépendances via GetIt
|
|
final sl = GetIt.instance;
|
|
|
|
/// Fonction d'initialisation pour enregistrer toutes les dépendances.
|
|
/// Utilisée pour fournir des services, des data sources, des repositories et des use cases.
|
|
void init() {
|
|
// Log de démarrage de l'injection des dépendances
|
|
print("Démarrage de l'initialisation des dépendances.");
|
|
|
|
// Register Http Client
|
|
sl.registerLazySingleton(() => http.Client());
|
|
print("Client HTTP enregistré.");
|
|
|
|
// Register Data Sources
|
|
sl.registerLazySingleton(() => UserRemoteDataSource(sl()));
|
|
print("DataSource pour UserRemoteDataSource enregistré.");
|
|
|
|
// Register Repositories
|
|
sl.registerLazySingleton(() => UserRepositoryImpl(remoteDataSource: sl()));
|
|
print("Repository pour UserRepositoryImpl enregistré.");
|
|
|
|
// Register Use Cases
|
|
sl.registerLazySingleton(() => GetUser(sl()));
|
|
print("UseCase pour GetUser enregistré.");
|
|
|
|
// Log de fin d'initialisation des dépendances
|
|
print("Initialisation des dépendances terminée.");
|
|
}
|