Fix manga/source and manga/chapters for graphql (#548)

This commit is contained in:
Mitchell Syer
2023-05-16 20:27:20 -04:00
committed by GitHub
parent ecc1cabafd
commit 99e1912bfe
4 changed files with 4 additions and 36 deletions

View File

@@ -18,7 +18,6 @@ import suwayomi.tachidesk.graphql.types.SourceNodeList
import suwayomi.tachidesk.graphql.types.SourceNodeList.Companion.toNodeList
import suwayomi.tachidesk.graphql.types.SourceType
import suwayomi.tachidesk.manga.model.table.ExtensionTable
import suwayomi.tachidesk.manga.model.table.MangaTable
import suwayomi.tachidesk.manga.model.table.SourceTable
import suwayomi.tachidesk.server.JavalinSetup.future
@@ -37,35 +36,6 @@ class SourceDataLoader : KotlinDataLoader<Long, SourceType?> {
}
}
class SourceForMangaDataLoader : KotlinDataLoader<Int, SourceType?> {
override val dataLoaderName = "SourceForMangaDataLoader"
override fun getDataLoader(): DataLoader<Int, SourceType?> = DataLoaderFactory.newDataLoader { ids ->
future {
transaction {
addLogger(Slf4jSqlDebugLogger)
val itemsByRef = MangaTable.innerJoin(SourceTable)
.select { MangaTable.id inList ids }
.map { Triple(it[MangaTable.id].value, it[MangaTable.sourceReference], it) }
.let { triples ->
val sources = buildMap {
triples.forEach {
if (!containsKey(it.second)) {
put(it.second, SourceType(it.third))
}
}
}
triples.associate {
it.first to sources[it.second]
}
}
ids.map { itemsByRef[it] }
}
}
}
}
class SourcesForExtensionDataLoader : KotlinDataLoader<String, SourceNodeList> {
override val dataLoaderName = "SourcesForExtensionDataLoader"
override fun getDataLoader(): DataLoader<String, SourceNodeList> = DataLoaderFactory.newDataLoader { ids ->