From 99e1912bfeb7547f480725ee9fb6b3372f44fb66 Mon Sep 17 00:00:00 2001 From: Mitchell Syer Date: Tue, 16 May 2023 20:27:20 -0400 Subject: [PATCH] Fix manga/source and manga/chapters for graphql (#548) --- .../graphql/dataLoaders/SourceDataLoader.kt | 30 ------------------- .../graphql/mutations/MangaMutation.kt | 2 +- .../TachideskDataLoaderRegistryFactory.kt | 2 -- .../tachidesk/graphql/types/MangaType.kt | 6 ++-- 4 files changed, 4 insertions(+), 36 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/SourceDataLoader.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/SourceDataLoader.kt index 18eacbcf..bc58ac6f 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/SourceDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/SourceDataLoader.kt @@ -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 { } } -class SourceForMangaDataLoader : KotlinDataLoader { - override val dataLoaderName = "SourceForMangaDataLoader" - override fun getDataLoader(): DataLoader = 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 { override val dataLoaderName = "SourcesForExtensionDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/MangaMutation.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/MangaMutation.kt index 86612e14..0adee422 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/MangaMutation.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/MangaMutation.kt @@ -39,7 +39,7 @@ class MangaMutation { val mangas: List ) data class UpdateMangasInput( - val clientMutationId: String?? = null, + val clientMutationId: String? = null, val ids: List, val patch: UpdateMangaPatch ) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/TachideskDataLoaderRegistryFactory.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/TachideskDataLoaderRegistryFactory.kt index b180e9f8..033e23d6 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/TachideskDataLoaderRegistryFactory.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/TachideskDataLoaderRegistryFactory.kt @@ -20,7 +20,6 @@ import suwayomi.tachidesk.graphql.dataLoaders.MangaDataLoader import suwayomi.tachidesk.graphql.dataLoaders.MangaForCategoryDataLoader import suwayomi.tachidesk.graphql.dataLoaders.MangaMetaDataLoader import suwayomi.tachidesk.graphql.dataLoaders.SourceDataLoader -import suwayomi.tachidesk.graphql.dataLoaders.SourceForMangaDataLoader import suwayomi.tachidesk.graphql.dataLoaders.SourcesForExtensionDataLoader class TachideskDataLoaderRegistryFactory { @@ -37,7 +36,6 @@ class TachideskDataLoaderRegistryFactory { CategoryMetaDataLoader(), CategoriesForMangaDataLoader(), SourceDataLoader(), - SourceForMangaDataLoader(), SourcesForExtensionDataLoader(), ExtensionDataLoader(), ExtensionForSourceDataLoader() diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/MangaType.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/MangaType.kt index 9631d854..57b2ac6c 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/MangaType.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/MangaType.kt @@ -78,8 +78,8 @@ class MangaType( dataClass.chaptersLastFetchedAt ) - fun chapters(dataFetchingEnvironment: DataFetchingEnvironment): CompletableFuture> { - return dataFetchingEnvironment.getValueFromDataLoader>("ChaptersForMangaDataLoader", id) + fun chapters(dataFetchingEnvironment: DataFetchingEnvironment): CompletableFuture { + return dataFetchingEnvironment.getValueFromDataLoader("ChaptersForMangaDataLoader", id) } fun age(): Long? { @@ -102,7 +102,7 @@ class MangaType( } fun source(dataFetchingEnvironment: DataFetchingEnvironment): CompletableFuture { - return dataFetchingEnvironment.getValueFromDataLoader("SourceForMangaDataLoader", id) + return dataFetchingEnvironment.getValueFromDataLoader("SourceDataLoader", sourceId) } }