Manga for Source data loader (#588)

This commit is contained in:
Mitchell Syer
2023-07-02 11:46:04 -04:00
committed by GitHub
parent a11b654c3d
commit 5372ef8f0c
2 changed files with 17 additions and 0 deletions

View File

@@ -65,3 +65,18 @@ class MangaForCategoryDataLoader : KotlinDataLoader<Int, MangaNodeList> {
} }
} }
} }
class MangaForSourceDataLoader : KotlinDataLoader<Long, MangaNodeList> {
override val dataLoaderName = "MangaForSourceDataLoader"
override fun getDataLoader(): DataLoader<Long, MangaNodeList> = DataLoaderFactory.newDataLoader<Long, MangaNodeList> { ids ->
future {
transaction {
addLogger(Slf4jSqlDebugLogger)
val mangaBySourceId = MangaTable.select { MangaTable.sourceReference inList ids }
.map { MangaType(it) }
.groupBy { it.sourceId }
ids.map { (mangaBySourceId[it] ?: emptyList()).toNodeList() }
}
}
}
}

View File

@@ -19,6 +19,7 @@ import suwayomi.tachidesk.graphql.dataLoaders.ExtensionForSourceDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.GlobalMetaDataLoader import suwayomi.tachidesk.graphql.dataLoaders.GlobalMetaDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.MangaDataLoader import suwayomi.tachidesk.graphql.dataLoaders.MangaDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.MangaForCategoryDataLoader import suwayomi.tachidesk.graphql.dataLoaders.MangaForCategoryDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.MangaForSourceDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.MangaMetaDataLoader import suwayomi.tachidesk.graphql.dataLoaders.MangaMetaDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.SourceDataLoader import suwayomi.tachidesk.graphql.dataLoaders.SourceDataLoader
import suwayomi.tachidesk.graphql.dataLoaders.SourcesForExtensionDataLoader import suwayomi.tachidesk.graphql.dataLoaders.SourcesForExtensionDataLoader
@@ -34,6 +35,7 @@ class TachideskDataLoaderRegistryFactory {
ChapterMetaDataLoader(), ChapterMetaDataLoader(),
MangaMetaDataLoader(), MangaMetaDataLoader(),
MangaForCategoryDataLoader(), MangaForCategoryDataLoader(),
MangaForSourceDataLoader(),
CategoryDataLoader(), CategoryDataLoader(),
CategoryMetaDataLoader(), CategoryMetaDataLoader(),
CategoriesForMangaDataLoader(), CategoriesForMangaDataLoader(),