DomainModule.kt 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package eu.kanade.domain
  2. import eu.kanade.data.history.HistoryRepositoryImpl
  3. import eu.kanade.data.manga.MangaRepositoryImpl
  4. import eu.kanade.data.source.SourceRepositoryImpl
  5. import eu.kanade.domain.history.interactor.DeleteHistoryTable
  6. import eu.kanade.domain.history.interactor.GetHistory
  7. import eu.kanade.domain.history.interactor.GetNextChapterForManga
  8. import eu.kanade.domain.history.interactor.RemoveHistoryById
  9. import eu.kanade.domain.history.interactor.RemoveHistoryByMangaId
  10. import eu.kanade.domain.history.repository.HistoryRepository
  11. import eu.kanade.domain.manga.interactor.GetFavoritesBySourceId
  12. import eu.kanade.domain.manga.repository.MangaRepository
  13. import eu.kanade.domain.source.interactor.DisableSource
  14. import eu.kanade.domain.source.interactor.GetEnabledSources
  15. import eu.kanade.domain.source.interactor.GetSourcesWithFavoriteCount
  16. import eu.kanade.domain.source.interactor.SetMigrateSorting
  17. import eu.kanade.domain.source.interactor.ToggleSourcePin
  18. import eu.kanade.domain.source.repository.SourceRepository
  19. import uy.kohesive.injekt.api.InjektModule
  20. import uy.kohesive.injekt.api.InjektRegistrar
  21. import uy.kohesive.injekt.api.addFactory
  22. import uy.kohesive.injekt.api.addSingletonFactory
  23. import uy.kohesive.injekt.api.get
  24. class DomainModule : InjektModule {
  25. override fun InjektRegistrar.registerInjectables() {
  26. addSingletonFactory<MangaRepository> { MangaRepositoryImpl(get()) }
  27. addFactory { GetFavoritesBySourceId(get()) }
  28. addFactory { GetNextChapterForManga(get()) }
  29. addSingletonFactory<HistoryRepository> { HistoryRepositoryImpl(get()) }
  30. addFactory { DeleteHistoryTable(get()) }
  31. addFactory { GetHistory(get()) }
  32. addFactory { RemoveHistoryById(get()) }
  33. addFactory { RemoveHistoryByMangaId(get()) }
  34. addSingletonFactory<SourceRepository> { SourceRepositoryImpl(get(), get()) }
  35. addFactory { GetEnabledSources(get(), get()) }
  36. addFactory { DisableSource(get()) }
  37. addFactory { ToggleSourcePin(get()) }
  38. addFactory { GetSourcesWithFavoriteCount(get(), get()) }
  39. addFactory { SetMigrateSorting(get()) }
  40. }
  41. }