DomainModule.kt 3.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package eu.kanade.domain
  2. import eu.kanade.data.chapter.ChapterRepositoryImpl
  3. import eu.kanade.data.history.HistoryRepositoryImpl
  4. import eu.kanade.data.manga.MangaRepositoryImpl
  5. import eu.kanade.data.source.SourceRepositoryImpl
  6. import eu.kanade.domain.chapter.interactor.ShouldUpdateDbChapter
  7. import eu.kanade.domain.chapter.interactor.SyncChaptersWithSource
  8. import eu.kanade.domain.chapter.interactor.UpdateChapter
  9. import eu.kanade.domain.chapter.repository.ChapterRepository
  10. import eu.kanade.domain.extension.interactor.GetExtensionLanguages
  11. import eu.kanade.domain.extension.interactor.GetExtensionSources
  12. import eu.kanade.domain.extension.interactor.GetExtensionUpdates
  13. import eu.kanade.domain.extension.interactor.GetExtensions
  14. import eu.kanade.domain.history.interactor.DeleteHistoryTable
  15. import eu.kanade.domain.history.interactor.GetHistory
  16. import eu.kanade.domain.history.interactor.GetNextChapter
  17. import eu.kanade.domain.history.interactor.RemoveHistoryById
  18. import eu.kanade.domain.history.interactor.RemoveHistoryByMangaId
  19. import eu.kanade.domain.history.interactor.UpsertHistory
  20. import eu.kanade.domain.history.repository.HistoryRepository
  21. import eu.kanade.domain.manga.interactor.GetFavoritesBySourceId
  22. import eu.kanade.domain.manga.interactor.ResetViewerFlags
  23. import eu.kanade.domain.manga.interactor.UpdateMangaLastUpdate
  24. import eu.kanade.domain.manga.repository.MangaRepository
  25. import eu.kanade.domain.source.interactor.GetEnabledSources
  26. import eu.kanade.domain.source.interactor.GetLanguagesWithSources
  27. import eu.kanade.domain.source.interactor.GetSourcesWithFavoriteCount
  28. import eu.kanade.domain.source.interactor.GetSourcesWithNonLibraryManga
  29. import eu.kanade.domain.source.interactor.SetMigrateSorting
  30. import eu.kanade.domain.source.interactor.ToggleLanguage
  31. import eu.kanade.domain.source.interactor.ToggleSource
  32. import eu.kanade.domain.source.interactor.ToggleSourcePin
  33. import eu.kanade.domain.source.repository.SourceRepository
  34. import uy.kohesive.injekt.api.InjektModule
  35. import uy.kohesive.injekt.api.InjektRegistrar
  36. import uy.kohesive.injekt.api.addFactory
  37. import uy.kohesive.injekt.api.addSingletonFactory
  38. import uy.kohesive.injekt.api.get
  39. class DomainModule : InjektModule {
  40. override fun InjektRegistrar.registerInjectables() {
  41. addSingletonFactory<MangaRepository> { MangaRepositoryImpl(get()) }
  42. addFactory { GetFavoritesBySourceId(get()) }
  43. addFactory { GetNextChapter(get()) }
  44. addFactory { ResetViewerFlags(get()) }
  45. addFactory { UpdateMangaLastUpdate(get()) }
  46. addSingletonFactory<ChapterRepository> { ChapterRepositoryImpl(get()) }
  47. addFactory { UpdateChapter(get()) }
  48. addFactory { ShouldUpdateDbChapter() }
  49. addFactory { SyncChaptersWithSource(get(), get(), get(), get()) }
  50. addSingletonFactory<HistoryRepository> { HistoryRepositoryImpl(get()) }
  51. addFactory { DeleteHistoryTable(get()) }
  52. addFactory { GetHistory(get()) }
  53. addFactory { UpsertHistory(get()) }
  54. addFactory { RemoveHistoryById(get()) }
  55. addFactory { RemoveHistoryByMangaId(get()) }
  56. addFactory { GetExtensions(get(), get()) }
  57. addFactory { GetExtensionSources(get()) }
  58. addFactory { GetExtensionUpdates(get(), get()) }
  59. addFactory { GetExtensionLanguages(get(), get()) }
  60. addSingletonFactory<SourceRepository> { SourceRepositoryImpl(get(), get()) }
  61. addFactory { GetEnabledSources(get(), get()) }
  62. addFactory { GetLanguagesWithSources(get(), get()) }
  63. addFactory { GetSourcesWithFavoriteCount(get(), get()) }
  64. addFactory { GetSourcesWithNonLibraryManga(get()) }
  65. addFactory { SetMigrateSorting(get()) }
  66. addFactory { ToggleLanguage(get()) }
  67. addFactory { ToggleSource(get()) }
  68. addFactory { ToggleSourcePin(get()) }
  69. }
  70. }