2025-12-18 00:11:30 +01:00
|
|
|
import 'package:b0esche_cloud/services/api_client.dart';
|
2025-12-16 18:09:20 +01:00
|
|
|
import 'package:get_it/get_it.dart';
|
2026-01-09 17:01:41 +01:00
|
|
|
import 'blocs/session/session_bloc.dart';
|
2025-12-16 18:09:20 +01:00
|
|
|
import 'repositories/auth_repository.dart';
|
|
|
|
|
import 'repositories/file_repository.dart';
|
2026-01-09 17:01:41 +01:00
|
|
|
import 'repositories/http_auth_repository.dart';
|
|
|
|
|
import 'repositories/http_file_repository.dart';
|
2025-12-16 18:09:20 +01:00
|
|
|
import 'services/auth_service.dart';
|
|
|
|
|
import 'services/file_service.dart';
|
2026-01-09 21:50:44 +01:00
|
|
|
import 'services/org_api.dart';
|
2025-12-16 18:09:20 +01:00
|
|
|
import 'viewmodels/login_view_model.dart';
|
|
|
|
|
import 'viewmodels/file_explorer_view_model.dart';
|
|
|
|
|
|
|
|
|
|
final getIt = GetIt.instance;
|
|
|
|
|
|
2026-01-09 17:01:41 +01:00
|
|
|
void configureDependencies(SessionBloc sessionBloc) {
|
2026-01-09 18:26:13 +01:00
|
|
|
// Register ApiClient first
|
2026-01-09 17:01:41 +01:00
|
|
|
final apiClient = ApiClient(sessionBloc);
|
2026-01-09 18:26:13 +01:00
|
|
|
getIt.registerSingleton<ApiClient>(apiClient);
|
|
|
|
|
|
|
|
|
|
// Register repositories (HTTP-backed)
|
2026-01-09 17:01:41 +01:00
|
|
|
getIt.registerSingleton<AuthRepository>(HttpAuthRepository(apiClient));
|
2026-01-09 17:01:41 +01:00
|
|
|
getIt.registerSingleton<FileRepository>(
|
|
|
|
|
HttpFileRepository(FileService(apiClient)),
|
|
|
|
|
);
|
2025-12-16 18:09:20 +01:00
|
|
|
|
|
|
|
|
// Register services
|
|
|
|
|
getIt.registerSingleton<AuthService>(AuthService(getIt<AuthRepository>()));
|
2025-12-18 00:11:30 +01:00
|
|
|
getIt.registerSingleton<FileService>(FileService(getIt<ApiClient>()));
|
2026-01-09 21:50:44 +01:00
|
|
|
getIt.registerSingleton<OrgApi>(OrgApi(getIt<ApiClient>()));
|
2025-12-16 18:09:20 +01:00
|
|
|
|
|
|
|
|
// Register viewmodels
|
|
|
|
|
getIt.registerSingleton<LoginViewModel>(LoginViewModel(getIt<AuthService>()));
|
|
|
|
|
getIt.registerSingleton<FileExplorerViewModel>(
|
|
|
|
|
FileExplorerViewModel(getIt<FileService>()),
|
|
|
|
|
);
|
|
|
|
|
}
|