From eb197ebceef573defff5b3738a195c218bcb29ad Mon Sep 17 00:00:00 2001 From: Syer10 Date: Fri, 31 Mar 2023 22:19:13 -0400 Subject: [PATCH] Switch database logger to SLF4J --- .../kotlin/suwayomi/tachidesk/graphql/GraphQL.kt | 4 +++- .../graphql/dataLoaders/CategoryDataLoader.kt | 6 +++--- .../graphql/dataLoaders/ChapterDataLoader.kt | 6 +++--- .../graphql/dataLoaders/ExtensionDataLoader.kt | 6 +++--- .../graphql/dataLoaders/MangaDataLoader.kt | 7 +++---- .../graphql/dataLoaders/MetaDataLoader.kt | 8 ++++---- .../graphql/dataLoaders/SourceDataLoader.kt | 8 ++++---- .../tachidesk/graphql/mutations/ChapterMutation.kt | 5 ++++- .../tachidesk/graphql/queries/ChapterQuery.kt | 1 + .../server/TachideskDataLoaderRegistryFactory.kt | 14 +++++++++++++- .../tachidesk/manga/controller/UpdateController.kt | 2 +- 11 files changed, 42 insertions(+), 25 deletions(-) diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/GraphQL.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/GraphQL.kt index 8e0225e3..d7343cd0 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/GraphQL.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/GraphQL.kt @@ -7,7 +7,9 @@ package suwayomi.tachidesk.graphql -import io.javalin.apibuilder.ApiBuilder.* +import io.javalin.apibuilder.ApiBuilder.get +import io.javalin.apibuilder.ApiBuilder.post +import io.javalin.apibuilder.ApiBuilder.ws import suwayomi.tachidesk.graphql.controller.GraphQLController object GraphQL { 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 6ec126fd..09dbc52d 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/CategoryDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/CategoryDataLoader.kt @@ -10,7 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders import com.expediagroup.graphql.dataloader.KotlinDataLoader import org.dataloader.DataLoader import org.dataloader.DataLoaderFactory -import org.jetbrains.exposed.sql.StdOutSqlLogger +import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger import org.jetbrains.exposed.sql.addLogger import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction @@ -24,7 +24,7 @@ class CategoryDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) CategoryTable.select { CategoryTable.id inList ids } .map { CategoryType(it) } } @@ -37,7 +37,7 @@ class CategoriesForMangaDataLoader : KotlinDataLoader> { override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader> { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val itemsByRef = CategoryMangaTable.innerJoin(CategoryTable) .select { CategoryMangaTable.manga inList ids } .map { Pair(it[CategoryMangaTable.manga].value, CategoryType(it)) } 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 7bfd6d03..1713df8a 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ChapterDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ChapterDataLoader.kt @@ -10,7 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders import com.expediagroup.graphql.dataloader.KotlinDataLoader import org.dataloader.DataLoader import org.dataloader.DataLoaderFactory -import org.jetbrains.exposed.sql.StdOutSqlLogger +import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger import org.jetbrains.exposed.sql.addLogger import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction @@ -23,7 +23,7 @@ class ChapterDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) ChapterTable.select { ChapterTable.id inList ids } .map { ChapterType(it) } } @@ -36,7 +36,7 @@ class ChaptersForMangaDataLoader : KotlinDataLoader> { override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader> { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val chaptersByMangaId = ChapterTable.select { ChapterTable.manga inList ids } .map { ChapterType(it) } .groupBy { it.mangaId } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ExtensionDataLoader.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ExtensionDataLoader.kt index 37478b75..034ebde9 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ExtensionDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/ExtensionDataLoader.kt @@ -10,7 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders import com.expediagroup.graphql.dataloader.KotlinDataLoader import org.dataloader.DataLoader import org.dataloader.DataLoaderFactory -import org.jetbrains.exposed.sql.StdOutSqlLogger +import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger import org.jetbrains.exposed.sql.addLogger import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction @@ -24,7 +24,7 @@ class ExtensionDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) ExtensionTable.select { ExtensionTable.pkgName inList ids } .map { ExtensionType(it) } } @@ -37,7 +37,7 @@ class ExtensionForSourceDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) ExtensionTable.innerJoin(SourceTable) .select { SourceTable.id inList ids } .map { ExtensionType(it) } 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 186b6fd5..3725efae 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MangaDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MangaDataLoader.kt @@ -10,8 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders import com.expediagroup.graphql.dataloader.KotlinDataLoader import org.dataloader.DataLoader import org.dataloader.DataLoaderFactory -import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList -import org.jetbrains.exposed.sql.StdOutSqlLogger +import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger import org.jetbrains.exposed.sql.addLogger import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction @@ -25,7 +24,7 @@ class MangaDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) MangaTable.select { MangaTable.id inList ids } .map { MangaType(it) } } @@ -38,7 +37,7 @@ class MangaForCategoryDataLoader : KotlinDataLoader> { override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader> { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val itemsByRef = CategoryMangaTable.innerJoin(MangaTable).select { CategoryMangaTable.category inList ids } .map { Pair(it[CategoryMangaTable.category].value, MangaType(it)) } .groupBy { it.first } 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 35c03cbb..a9465eef 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MetaDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/MetaDataLoader.kt @@ -3,7 +3,7 @@ package suwayomi.tachidesk.graphql.dataLoaders import com.expediagroup.graphql.dataloader.KotlinDataLoader import org.dataloader.DataLoader import org.dataloader.DataLoaderFactory -import org.jetbrains.exposed.sql.StdOutSqlLogger +import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger import org.jetbrains.exposed.sql.addLogger import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction @@ -20,7 +20,7 @@ class ChapterMetaDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val metasByRefId = ChapterMetaTable.select { ChapterMetaTable.ref inList ids } .map { ChapterMetaItem(it) } .groupBy { it.ref } @@ -35,7 +35,7 @@ class MangaMetaDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids } .map { MangaMetaItem(it) } .groupBy { it.ref } @@ -50,7 +50,7 @@ class CategoryMetaDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids } .map { CategoryMetaItem(it) } .groupBy { it.ref } 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 e9ce4ced..031f621e 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/SourceDataLoader.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/dataLoaders/SourceDataLoader.kt @@ -10,8 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders import com.expediagroup.graphql.dataloader.KotlinDataLoader import org.dataloader.DataLoader import org.dataloader.DataLoaderFactory -import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList -import org.jetbrains.exposed.sql.StdOutSqlLogger +import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger import org.jetbrains.exposed.sql.addLogger import org.jetbrains.exposed.sql.select import org.jetbrains.exposed.sql.transactions.transaction @@ -26,6 +25,7 @@ class SourceDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { + addLogger(Slf4jSqlDebugLogger) SourceTable.select { SourceTable.id inList ids }.map { SourceType(it) } @@ -39,7 +39,7 @@ class SourceForMangaDataLoader : KotlinDataLoader { override fun getDataLoader(): DataLoader = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val itemsByRef = MangaTable.innerJoin(SourceTable) .select { MangaTable.id inList ids } @@ -68,7 +68,7 @@ class SourcesForExtensionDataLoader : KotlinDataLoader> override fun getDataLoader(): DataLoader> = DataLoaderFactory.newDataLoader { ids -> future { transaction { - addLogger(StdOutSqlLogger) + addLogger(Slf4jSqlDebugLogger) val sourcesByExtensionPkg = SourceTable.innerJoin(ExtensionTable) .select { ExtensionTable.pkgName inList ids } diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ChapterMutation.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ChapterMutation.kt index c84ec775..c1019cd6 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ChapterMutation.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/mutations/ChapterMutation.kt @@ -2,10 +2,13 @@ package suwayomi.tachidesk.graphql.mutations import com.expediagroup.graphql.server.extensions.getValuesFromDataLoader import graphql.schema.DataFetchingEnvironment -import org.jetbrains.exposed.sql.* import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList +import org.jetbrains.exposed.sql.and +import org.jetbrains.exposed.sql.batchInsert +import org.jetbrains.exposed.sql.deleteWhere import org.jetbrains.exposed.sql.transactions.transaction +import org.jetbrains.exposed.sql.update import suwayomi.tachidesk.graphql.types.ChapterType import suwayomi.tachidesk.manga.model.table.ChapterMetaTable import suwayomi.tachidesk.manga.model.table.ChapterTable diff --git a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ChapterQuery.kt b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ChapterQuery.kt index 83297948..e405a25f 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ChapterQuery.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/queries/ChapterQuery.kt @@ -23,6 +23,7 @@ import java.util.concurrent.CompletableFuture * - Filter by downloaded * - Filter by scanlators * - Sort? Upload date, source order, last read, chapter number + * - Get page list? * * TODO Mutations * - Last page read 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 81a95a7a..bafdefdb 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/TachideskDataLoaderRegistryFactory.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/graphql/server/TachideskDataLoaderRegistryFactory.kt @@ -8,7 +8,19 @@ package suwayomi.tachidesk.graphql.server import com.expediagroup.graphql.dataloader.KotlinDataLoaderRegistryFactory -import suwayomi.tachidesk.graphql.dataLoaders.* +import suwayomi.tachidesk.graphql.dataLoaders.CategoriesForMangaDataLoader +import suwayomi.tachidesk.graphql.dataLoaders.CategoryMetaDataLoader +import suwayomi.tachidesk.graphql.dataLoaders.ChapterDataLoader +import suwayomi.tachidesk.graphql.dataLoaders.ChapterMetaDataLoader +import suwayomi.tachidesk.graphql.dataLoaders.ChaptersForMangaDataLoader +import suwayomi.tachidesk.graphql.dataLoaders.ExtensionDataLoader +import suwayomi.tachidesk.graphql.dataLoaders.ExtensionForSourceDataLoader +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 { companion object { diff --git a/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/UpdateController.kt b/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/UpdateController.kt index 06f055a6..78ff6d46 100644 --- a/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/UpdateController.kt +++ b/server/src/main/kotlin/suwayomi/tachidesk/manga/controller/UpdateController.kt @@ -115,7 +115,7 @@ object UpdateController { updater.addMangasToQueue( mangasToUpdate - .sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, MangaDataClass::title)), + .sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, MangaDataClass::title)) ) }