setup method

void setup()

Implementation

void setup() {
  // api
  coreLocator.registerFactory(
    () => ApplicationApi(
      settings:
          coreLocator.get<PreferencesSettings>(instanceName: 'preferences'),
    ),
  );

  // data source
  coreLocator.registerFactory<ApplicationRemoteDataSource>(
    () => ApplicationRemoteDataSourceImpl(
      api: coreLocator.get<ApplicationApi>(),
    ),
  );

  // repository
  coreLocator.registerFactory<ApplicationRepository>(
    () => ApplicationRepositoryImpl(
      remoteDataSource: coreLocator.get<ApplicationRemoteDataSource>(),
    ),
  );

  // use cases
  coreLocator.registerFactory(
    () => CreateApplicationUseCase(
      repository: coreLocator.get<ApplicationRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetApplicationByIdUseCase(
      repository: coreLocator.get<ApplicationRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetApplicationsByParamsUseCase(
      repository: coreLocator.get<ApplicationRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => UpdateApplicationUseCase(
      repository: coreLocator.get<ApplicationRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetRolesFromApplicationIdUseCase(
      repository: coreLocator.get<ApplicationRepository>(),
    ),
  );
}