From 00370a81fa38e7f63a48a759c32dd7acb1e80ce8 Mon Sep 17 00:00:00 2001 From: Syer10 Date: Fri, 31 Mar 2023 19:10:04 -0400 Subject: [PATCH] Minor cleanup --- server/build.gradle.kts | 4 ++-- .../tachidesk/graphql/dataLoaders/CategoryDataLoader.kt | 9 +++++---- .../tachidesk/graphql/dataLoaders/ChapterDataLoader.kt | 6 +++--- .../tachidesk/graphql/dataLoaders/MangaDataLoader.kt | 6 +++--- .../tachidesk/graphql/dataLoaders/MetaDataLoader.kt | 8 ++++---- .../subscriptions/ApolloSubscriptionProtocolHandler.kt | 8 +++----- 6 files changed, 20 insertions(+), 21 deletions(-) diff --git a/server/build.gradle.kts b/server/build.gradle.kts index cb5ff96d..65591dc3 100644 --- a/server/build.gradle.kts +++ b/server/build.gradle.kts @@ -64,8 +64,8 @@ dependencies { // implementation(fileTree("lib/")) implementation(kotlin("script-runtime")) - implementation("com.expediagroup:graphql-kotlin-server:6.3.0") - implementation("com.expediagroup:graphql-kotlin-schema-generator:6.3.0") + implementation("com.expediagroup:graphql-kotlin-server:6.4.0") + implementation("com.expediagroup:graphql-kotlin-schema-generator:6.4.0") implementation("com.graphql-java:graphql-java-extended-scalars:20.0") testImplementation(libs.mockk) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/CategoryDataLoader.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/CategoryDataLoader.kt index 61146aad..6ec126fd 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/CategoryDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/CategoryDataLoader.kt @@ -17,12 +17,12 @@ import org.jetbrains.exposed.sql.transactions.transaction import suwayomi.tachidesk.graphql.types.CategoryType import suwayomi.tachidesk.manga.model.table.CategoryMangaTable import suwayomi.tachidesk.manga.model.table.CategoryTable -import java.util.concurrent.CompletableFuture +import suwayomi.tachidesk.server.JavalinSetup.future class CategoryDataLoader : KotlinDataLoader { override val dataLoaderName = "CategoryDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) CategoryTable.select { CategoryTable.id inList ids } @@ -35,10 +35,11 @@ class CategoryDataLoader : KotlinDataLoader { class CategoriesForMangaDataLoader : KotlinDataLoader> { override val dataLoaderName = "CategoriesForMangaDataLoader" override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader> { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) - val itemsByRef = CategoryMangaTable.innerJoin(CategoryTable).select { CategoryMangaTable.manga inList ids } + val itemsByRef = CategoryMangaTable.innerJoin(CategoryTable) + .select { CategoryMangaTable.manga inList ids } .map { Pair(it[CategoryMangaTable.manga].value, CategoryType(it)) } .groupBy { it.first } .mapValues { it.value.map { pair -> pair.second } } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ChapterDataLoader.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ChapterDataLoader.kt index c3567893..7bfd6d03 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ChapterDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ChapterDataLoader.kt @@ -16,12 +16,12 @@ import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction import suwayomi.tachidesk.graphql.types.ChapterType import suwayomi.tachidesk.manga.model.table.ChapterTable -import java.util.concurrent.CompletableFuture +import suwayomi.tachidesk.server.JavalinSetup.future class ChapterDataLoader : KotlinDataLoader { override val dataLoaderName = "ChapterDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) ChapterTable.select { ChapterTable.id inList ids } @@ -34,7 +34,7 @@ class ChapterDataLoader : KotlinDataLoader { class ChaptersForMangaDataLoader : KotlinDataLoader> { override val dataLoaderName = "ChaptersForMangaDataLoader" override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader> { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) val chaptersByMangaId = ChapterTable.select { ChapterTable.manga inList ids } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MangaDataLoader.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MangaDataLoader.kt index b3e9fb8d..186b6fd5 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MangaDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MangaDataLoader.kt @@ -18,12 +18,12 @@ import org.jetbrains.exposed.sql.transactions.transaction import suwayomi.tachidesk.graphql.types.MangaType import suwayomi.tachidesk.manga.model.table.CategoryMangaTable import suwayomi.tachidesk.manga.model.table.MangaTable -import java.util.concurrent.CompletableFuture +import suwayomi.tachidesk.server.JavalinSetup.future class MangaDataLoader : KotlinDataLoader { override val dataLoaderName = "MangaDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) MangaTable.select { MangaTable.id inList ids } @@ -36,7 +36,7 @@ class MangaDataLoader : KotlinDataLoader { class MangaForCategoryDataLoader : KotlinDataLoader> { override val dataLoaderName = "MangaForCategoryDataLoader" override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader> { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) val itemsByRef = CategoryMangaTable.innerJoin(MangaTable).select { CategoryMangaTable.category inList ids } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MetaDataLoader.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MetaDataLoader.kt index 57ea723f..35c03cbb 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MetaDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MetaDataLoader.kt @@ -13,12 +13,12 @@ import suwayomi.tachidesk.graphql.types.MangaMetaItem import suwayomi.tachidesk.graphql.types.MetaType import suwayomi.tachidesk.manga.model.table.ChapterMetaTable import suwayomi.tachidesk.manga.model.table.MangaMetaTable -import java.util.concurrent.CompletableFuture +import suwayomi.tachidesk.server.JavalinSetup.future class ChapterMetaDataLoader : KotlinDataLoader { override val dataLoaderName = "ChapterMetaDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) val metasByRefId = ChapterMetaTable.select { ChapterMetaTable.ref inList ids } @@ -33,7 +33,7 @@ class ChapterMetaDataLoader : KotlinDataLoader { class MangaMetaDataLoader : KotlinDataLoader { override val dataLoaderName = "MangaMetaDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids } @@ -48,7 +48,7 @@ class MangaMetaDataLoader : KotlinDataLoader { class CategoryMetaDataLoader : KotlinDataLoader { override val dataLoaderName = "CategoryMetaDataLoader" override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> - CompletableFuture.supplyAsync { + future { transaction { addLogger(StdOutSqlLogger) val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/subscriptions/ApolloSubscriptionProtocolHandler.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/subscriptions/ApolloSubscriptionProtocolHandler.kt index c4d418ba..338d00b7 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/subscriptions/ApolloSubscriptionProtocolHandler.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/subscriptions/ApolloSubscriptionProtocolHandler.kt @@ -26,7 +26,7 @@ import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.sample import kotlinx.coroutines.job import kotlinx.coroutines.runBlocking -import org.slf4j.LoggerFactory +import mu.KotlinLogging import suwayomi.tachidesk.graphql.server.TachideskGraphQLContextFactory import suwayomi.tachidesk.graphql.server.subscriptions.SubscriptionOperationMessage.ClientMessages.* import suwayomi.tachidesk.graphql.server.subscriptions.SubscriptionOperationMessage.ServerMessages.* @@ -43,15 +43,14 @@ class ApolloSubscriptionProtocolHandler( private val objectMapper: ObjectMapper ) { private val sessionState = ApolloSubscriptionSessionState() - private val logger = LoggerFactory.getLogger(ApolloSubscriptionProtocolHandler::class.java) + private val logger = KotlinLogging.logger {} private val keepAliveMessage = SubscriptionOperationMessage(type = GQL_CONNECTION_KEEP_ALIVE.type) private val basicConnectionErrorMessage = SubscriptionOperationMessage(type = GQL_CONNECTION_ERROR.type) private val acknowledgeMessage = SubscriptionOperationMessage(GQL_CONNECTION_ACK.type) - @Suppress("Detekt.TooGenericExceptionCaught") fun handleMessage(context: WsMessageContext): Flow { val operationMessage = convertToMessageOrNull(context.message()) ?: return flowOf(basicConnectionErrorMessage) - logger.debug("GraphQL subscription client message, sessionId=${context.sessionId} operationMessage=$operationMessage") + logger.debug { "GraphQL subscription client message, sessionId=${context.sessionId} operationMessage=$operationMessage" } return try { when (operationMessage.type) { @@ -70,7 +69,6 @@ class ApolloSubscriptionProtocolHandler( onDisconnect(context) } - @Suppress("Detekt.TooGenericExceptionCaught") private fun convertToMessageOrNull(payload: String): SubscriptionOperationMessage? { return try { objectMapper.readValue(payload)