allow injecting Sources

This commit is contained in:
Aria Moradi
2021-10-31 18:05:55 +03:30
parent 5fe69becf3
commit ee33acc561
5 changed files with 11 additions and 53 deletions

View File

@@ -10,7 +10,6 @@ package suwayomi.tachidesk.manga.impl.util.source
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.SourceFactory
import eu.kanade.tachiyomi.source.local.LocalSource
import eu.kanade.tachiyomi.source.online.HttpSource
import org.jetbrains.exposed.sql.select
import org.jetbrains.exposed.sql.transactions.transaction
@@ -24,9 +23,7 @@ import suwayomi.tachidesk.server.ApplicationDirs
import java.util.concurrent.ConcurrentHashMap
object GetCatalogueSource {
private val sourceCache = ConcurrentHashMap<Long, CatalogueSource>(
mapOf(LocalSource.ID to LocalSource())
)
private val sourceCache = ConcurrentHashMap<Long, CatalogueSource>()
private val applicationDirs by DI.global.instance<ApplicationDirs>()
fun getCatalogueSource(sourceId: Long): CatalogueSource? {
@@ -63,6 +60,10 @@ object GetCatalogueSource {
return getCatalogueSource(sourceId) ?: StubSource(sourceId)
}
fun registerCatalogueSource(sourcePair: Pair<Long, CatalogueSource>) {
sourceCache += sourcePair
}
fun invalidateSourceCache(sourceId: Long) {
sourceCache.remove(sourceId)
}

View File

@@ -119,7 +119,7 @@ fun applicationSetup() {
databaseUp()
LocalSource.addDbRecords()
LocalSource.register()
// create system tray
if (serverConfig.systemTrayEnabled) {