configureDependencies function

void configureDependencies()

Implementation

void configureDependencies() {
  // Networking
  getIt.registerLazySingleton<Dio>(() => _createDio());
  getIt.registerLazySingleton(() => ProjectApi(baseUrl, getIt.get()));
  getIt.registerLazySingleton(() => ResourcesApi(baseUrl, getIt.get()));
  getIt.registerLazySingleton(() => TranslationApi(baseUrl, getIt.get()));

  // Managers
  getIt.registerLazySingleton<InitManager>(() => InitManager(getIt.get(), getIt.get(), getIt.get(), getIt.get()));
  getIt.registerLazySingleton(() => FileManager(getIt.get()));
  getIt.registerLazySingleton(() => ConfigManager());

  // UseCases
  getIt.registerLazySingleton(() => InitProjectUseCase(getIt.get(), getIt.get()));

  // Commands
  getIt.registerLazySingleton<SyncCommand>(
    () => SyncCommand(
      getIt.get<ConfigManager>(),
      getIt.get<FileManager>(),
      getIt.get<ResourcesApi>(),
      getIt.get<TranslationApi>(),
    ),
  );

  getIt.registerLazySingleton(() => DownloadCommand(
        getIt.get<ConfigManager>(),
        getIt.get<FileManager>(),
        getIt.get<ResourcesApi>(),
      ));
}