diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ExtensionMutation.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ExtensionMutation.kt index 663f32c5c..4246dd468 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ExtensionMutation.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ExtensionMutation.kt @@ -10,9 +10,11 @@ import org.jetbrains.exposed.v1.core.neq import org.jetbrains.exposed.v1.jdbc.selectAll import org.jetbrains.exposed.v1.jdbc.transactions.transaction import suwayomi.tachidesk.graphql.directives.RequireAuth +import suwayomi.tachidesk.graphql.types.ExtensionStoreType import suwayomi.tachidesk.graphql.types.ExtensionType import suwayomi.tachidesk.manga.impl.extension.Extension import suwayomi.tachidesk.manga.impl.extension.ExtensionsList +import suwayomi.tachidesk.manga.model.table.ExtensionStoreTable import suwayomi.tachidesk.manga.model.table.ExtensionTable import suwayomi.tachidesk.server.JavalinSetup.future import java.util.concurrent.CompletableFuture @@ -129,6 +131,7 @@ class ExtensionMutation { data class FetchExtensionsPayload( val clientMutationId: String?, val extensions: List, + val extensionStores: List, ) @RequireAuth @@ -146,9 +149,17 @@ class ExtensionMutation { .map { ExtensionType(it) } } + val extensionStores = + transaction { + ExtensionStoreTable + .selectAll() + .map { ExtensionStoreType(it) } + } + FetchExtensionsPayload( clientMutationId = clientMutationId, extensions = extensions, + extensionStores = extensionStores, ) } } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionStoreType.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionStoreType.kt index 2d1e1c93f..bcf9cbeb9 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionStoreType.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/types/ExtensionStoreType.kt @@ -37,7 +37,7 @@ class ExtensionStoreType( isLegacy = row[ExtensionStoreTable.isLegacy], ) - fun extension(dataFetchingEnvironment: DataFetchingEnvironment): CompletableFuture = + fun extensions(dataFetchingEnvironment: DataFetchingEnvironment): CompletableFuture = dataFetchingEnvironment.getValueFromDataLoader("ExtensionForExtensionStore", indexUrl) }