setup method

void setup()

Implementation

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

  // data source
  coreLocator.registerFactory<RoleRemoteDataSource>(
    () => RoleRemoteDataSourceImpl(
      api: coreLocator.get<RoleApi>(),
    ),
  );

  // repository
  coreLocator.registerFactory<RoleRepository>(
    () => RoleRepositoryImpl(
      remoteDataSource: coreLocator.get<RoleRemoteDataSource>(),
      settings:
          coreLocator.get<PreferencesSettings>(instanceName: 'preferences'),
    ),
  );

  // use cases
  coreLocator.registerFactory(
    () => CreateRoleUseCase(
      repository: coreLocator.get<RoleRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetRoleByIdUseCase(
      repository: coreLocator.get<RoleRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => GetRolesByParamsUseCase(
      repository: coreLocator.get<RoleRepository>(),
    ),
  );
  coreLocator.registerFactory(
    () => UpdateRoleUseCase(
      repository: coreLocator.get<RoleRepository>(),
    ),
  );

  coreLocator.registerFactory(
      () => GetRolesFromSettingsUseCase(repository: coreLocator.get()));
  coreLocator.registerFactory(
      () => SetRolesOnSettingsUseCase(repository: coreLocator.get()));
}