mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-03 19:04:39 -05:00
Switch database logger to SLF4J
This commit is contained in:
@@ -7,7 +7,9 @@
|
|||||||
|
|
||||||
package suwayomi.tachidesk.graphql
|
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
|
import suwayomi.tachidesk.graphql.controller.GraphQLController
|
||||||
|
|
||||||
object GraphQL {
|
object GraphQL {
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders
|
|||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||||
import org.dataloader.DataLoader
|
import org.dataloader.DataLoader
|
||||||
import org.dataloader.DataLoaderFactory
|
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.addLogger
|
||||||
import org.jetbrains.exposed.sql.select
|
import org.jetbrains.exposed.sql.select
|
||||||
import org.jetbrains.exposed.sql.transactions.transaction
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
@@ -24,7 +24,7 @@ class CategoryDataLoader : KotlinDataLoader<Int, CategoryType> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, CategoryType> = DataLoaderFactory.newDataLoader<Int, CategoryType> { ids ->
|
override fun getDataLoader(): DataLoader<Int, CategoryType> = DataLoaderFactory.newDataLoader<Int, CategoryType> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
CategoryTable.select { CategoryTable.id inList ids }
|
CategoryTable.select { CategoryTable.id inList ids }
|
||||||
.map { CategoryType(it) }
|
.map { CategoryType(it) }
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ class CategoriesForMangaDataLoader : KotlinDataLoader<Int, List<CategoryType>> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, List<CategoryType>> = DataLoaderFactory.newDataLoader<Int, List<CategoryType>> { ids ->
|
override fun getDataLoader(): DataLoader<Int, List<CategoryType>> = DataLoaderFactory.newDataLoader<Int, List<CategoryType>> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
val itemsByRef = CategoryMangaTable.innerJoin(CategoryTable)
|
val itemsByRef = CategoryMangaTable.innerJoin(CategoryTable)
|
||||||
.select { CategoryMangaTable.manga inList ids }
|
.select { CategoryMangaTable.manga inList ids }
|
||||||
.map { Pair(it[CategoryMangaTable.manga].value, CategoryType(it)) }
|
.map { Pair(it[CategoryMangaTable.manga].value, CategoryType(it)) }
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders
|
|||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||||
import org.dataloader.DataLoader
|
import org.dataloader.DataLoader
|
||||||
import org.dataloader.DataLoaderFactory
|
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.addLogger
|
||||||
import org.jetbrains.exposed.sql.select
|
import org.jetbrains.exposed.sql.select
|
||||||
import org.jetbrains.exposed.sql.transactions.transaction
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
@@ -23,7 +23,7 @@ class ChapterDataLoader : KotlinDataLoader<Int, ChapterType> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, ChapterType> = DataLoaderFactory.newDataLoader<Int, ChapterType> { ids ->
|
override fun getDataLoader(): DataLoader<Int, ChapterType> = DataLoaderFactory.newDataLoader<Int, ChapterType> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
ChapterTable.select { ChapterTable.id inList ids }
|
ChapterTable.select { ChapterTable.id inList ids }
|
||||||
.map { ChapterType(it) }
|
.map { ChapterType(it) }
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,7 @@ class ChaptersForMangaDataLoader : KotlinDataLoader<Int, List<ChapterType>> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, List<ChapterType>> = DataLoaderFactory.newDataLoader<Int, List<ChapterType>> { ids ->
|
override fun getDataLoader(): DataLoader<Int, List<ChapterType>> = DataLoaderFactory.newDataLoader<Int, List<ChapterType>> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
val chaptersByMangaId = ChapterTable.select { ChapterTable.manga inList ids }
|
val chaptersByMangaId = ChapterTable.select { ChapterTable.manga inList ids }
|
||||||
.map { ChapterType(it) }
|
.map { ChapterType(it) }
|
||||||
.groupBy { it.mangaId }
|
.groupBy { it.mangaId }
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders
|
|||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||||
import org.dataloader.DataLoader
|
import org.dataloader.DataLoader
|
||||||
import org.dataloader.DataLoaderFactory
|
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.addLogger
|
||||||
import org.jetbrains.exposed.sql.select
|
import org.jetbrains.exposed.sql.select
|
||||||
import org.jetbrains.exposed.sql.transactions.transaction
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
@@ -24,7 +24,7 @@ class ExtensionDataLoader : KotlinDataLoader<String, ExtensionType> {
|
|||||||
override fun getDataLoader(): DataLoader<String, ExtensionType> = DataLoaderFactory.newDataLoader { ids ->
|
override fun getDataLoader(): DataLoader<String, ExtensionType> = DataLoaderFactory.newDataLoader { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
ExtensionTable.select { ExtensionTable.pkgName inList ids }
|
ExtensionTable.select { ExtensionTable.pkgName inList ids }
|
||||||
.map { ExtensionType(it) }
|
.map { ExtensionType(it) }
|
||||||
}
|
}
|
||||||
@@ -37,7 +37,7 @@ class ExtensionForSourceDataLoader : KotlinDataLoader<Long, ExtensionType> {
|
|||||||
override fun getDataLoader(): DataLoader<Long, ExtensionType> = DataLoaderFactory.newDataLoader { ids ->
|
override fun getDataLoader(): DataLoader<Long, ExtensionType> = DataLoaderFactory.newDataLoader { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
ExtensionTable.innerJoin(SourceTable)
|
ExtensionTable.innerJoin(SourceTable)
|
||||||
.select { SourceTable.id inList ids }
|
.select { SourceTable.id inList ids }
|
||||||
.map { ExtensionType(it) }
|
.map { ExtensionType(it) }
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders
|
|||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||||
import org.dataloader.DataLoader
|
import org.dataloader.DataLoader
|
||||||
import org.dataloader.DataLoaderFactory
|
import org.dataloader.DataLoaderFactory
|
||||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList
|
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
|
||||||
import org.jetbrains.exposed.sql.addLogger
|
import org.jetbrains.exposed.sql.addLogger
|
||||||
import org.jetbrains.exposed.sql.select
|
import org.jetbrains.exposed.sql.select
|
||||||
import org.jetbrains.exposed.sql.transactions.transaction
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
@@ -25,7 +24,7 @@ class MangaDataLoader : KotlinDataLoader<Int, MangaType> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, MangaType> = DataLoaderFactory.newDataLoader<Int, MangaType> { ids ->
|
override fun getDataLoader(): DataLoader<Int, MangaType> = DataLoaderFactory.newDataLoader<Int, MangaType> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
MangaTable.select { MangaTable.id inList ids }
|
MangaTable.select { MangaTable.id inList ids }
|
||||||
.map { MangaType(it) }
|
.map { MangaType(it) }
|
||||||
}
|
}
|
||||||
@@ -38,7 +37,7 @@ class MangaForCategoryDataLoader : KotlinDataLoader<Int, List<MangaType>> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, List<MangaType>> = DataLoaderFactory.newDataLoader<Int, List<MangaType>> { ids ->
|
override fun getDataLoader(): DataLoader<Int, List<MangaType>> = DataLoaderFactory.newDataLoader<Int, List<MangaType>> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
val itemsByRef = CategoryMangaTable.innerJoin(MangaTable).select { CategoryMangaTable.category inList ids }
|
val itemsByRef = CategoryMangaTable.innerJoin(MangaTable).select { CategoryMangaTable.category inList ids }
|
||||||
.map { Pair(it[CategoryMangaTable.category].value, MangaType(it)) }
|
.map { Pair(it[CategoryMangaTable.category].value, MangaType(it)) }
|
||||||
.groupBy { it.first }
|
.groupBy { it.first }
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ package suwayomi.tachidesk.graphql.dataLoaders
|
|||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||||
import org.dataloader.DataLoader
|
import org.dataloader.DataLoader
|
||||||
import org.dataloader.DataLoaderFactory
|
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.addLogger
|
||||||
import org.jetbrains.exposed.sql.select
|
import org.jetbrains.exposed.sql.select
|
||||||
import org.jetbrains.exposed.sql.transactions.transaction
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
@@ -20,7 +20,7 @@ class ChapterMetaDataLoader : KotlinDataLoader<Int, MetaType> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, MetaType> = DataLoaderFactory.newDataLoader<Int, MetaType> { ids ->
|
override fun getDataLoader(): DataLoader<Int, MetaType> = DataLoaderFactory.newDataLoader<Int, MetaType> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
val metasByRefId = ChapterMetaTable.select { ChapterMetaTable.ref inList ids }
|
val metasByRefId = ChapterMetaTable.select { ChapterMetaTable.ref inList ids }
|
||||||
.map { ChapterMetaItem(it) }
|
.map { ChapterMetaItem(it) }
|
||||||
.groupBy { it.ref }
|
.groupBy { it.ref }
|
||||||
@@ -35,7 +35,7 @@ class MangaMetaDataLoader : KotlinDataLoader<Int, MetaType> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, MetaType> = DataLoaderFactory.newDataLoader<Int, MetaType> { ids ->
|
override fun getDataLoader(): DataLoader<Int, MetaType> = DataLoaderFactory.newDataLoader<Int, MetaType> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids }
|
val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids }
|
||||||
.map { MangaMetaItem(it) }
|
.map { MangaMetaItem(it) }
|
||||||
.groupBy { it.ref }
|
.groupBy { it.ref }
|
||||||
@@ -50,7 +50,7 @@ class CategoryMetaDataLoader : KotlinDataLoader<Int, MetaType> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, MetaType> = DataLoaderFactory.newDataLoader<Int, MetaType> { ids ->
|
override fun getDataLoader(): DataLoader<Int, MetaType> = DataLoaderFactory.newDataLoader<Int, MetaType> { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids }
|
val metasByRefId = MangaMetaTable.select { MangaMetaTable.ref inList ids }
|
||||||
.map { CategoryMetaItem(it) }
|
.map { CategoryMetaItem(it) }
|
||||||
.groupBy { it.ref }
|
.groupBy { it.ref }
|
||||||
|
|||||||
@@ -10,8 +10,7 @@ package suwayomi.tachidesk.graphql.dataLoaders
|
|||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||||
import org.dataloader.DataLoader
|
import org.dataloader.DataLoader
|
||||||
import org.dataloader.DataLoaderFactory
|
import org.dataloader.DataLoaderFactory
|
||||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList
|
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||||
import org.jetbrains.exposed.sql.StdOutSqlLogger
|
|
||||||
import org.jetbrains.exposed.sql.addLogger
|
import org.jetbrains.exposed.sql.addLogger
|
||||||
import org.jetbrains.exposed.sql.select
|
import org.jetbrains.exposed.sql.select
|
||||||
import org.jetbrains.exposed.sql.transactions.transaction
|
import org.jetbrains.exposed.sql.transactions.transaction
|
||||||
@@ -26,6 +25,7 @@ class SourceDataLoader : KotlinDataLoader<Long, SourceType?> {
|
|||||||
override fun getDataLoader(): DataLoader<Long, SourceType?> = DataLoaderFactory.newDataLoader { ids ->
|
override fun getDataLoader(): DataLoader<Long, SourceType?> = DataLoaderFactory.newDataLoader { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
SourceTable.select { SourceTable.id inList ids }.map {
|
SourceTable.select { SourceTable.id inList ids }.map {
|
||||||
SourceType(it)
|
SourceType(it)
|
||||||
}
|
}
|
||||||
@@ -39,7 +39,7 @@ class SourceForMangaDataLoader : KotlinDataLoader<Int, SourceType?> {
|
|||||||
override fun getDataLoader(): DataLoader<Int, SourceType?> = DataLoaderFactory.newDataLoader { ids ->
|
override fun getDataLoader(): DataLoader<Int, SourceType?> = DataLoaderFactory.newDataLoader { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
|
|
||||||
val itemsByRef = MangaTable.innerJoin(SourceTable)
|
val itemsByRef = MangaTable.innerJoin(SourceTable)
|
||||||
.select { MangaTable.id inList ids }
|
.select { MangaTable.id inList ids }
|
||||||
@@ -68,7 +68,7 @@ class SourcesForExtensionDataLoader : KotlinDataLoader<String, List<SourceType>>
|
|||||||
override fun getDataLoader(): DataLoader<String, List<SourceType>> = DataLoaderFactory.newDataLoader { ids ->
|
override fun getDataLoader(): DataLoader<String, List<SourceType>> = DataLoaderFactory.newDataLoader { ids ->
|
||||||
future {
|
future {
|
||||||
transaction {
|
transaction {
|
||||||
addLogger(StdOutSqlLogger)
|
addLogger(Slf4jSqlDebugLogger)
|
||||||
|
|
||||||
val sourcesByExtensionPkg = SourceTable.innerJoin(ExtensionTable)
|
val sourcesByExtensionPkg = SourceTable.innerJoin(ExtensionTable)
|
||||||
.select { ExtensionTable.pkgName inList ids }
|
.select { ExtensionTable.pkgName inList ids }
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ package suwayomi.tachidesk.graphql.mutations
|
|||||||
|
|
||||||
import com.expediagroup.graphql.server.extensions.getValuesFromDataLoader
|
import com.expediagroup.graphql.server.extensions.getValuesFromDataLoader
|
||||||
import graphql.schema.DataFetchingEnvironment
|
import graphql.schema.DataFetchingEnvironment
|
||||||
import org.jetbrains.exposed.sql.*
|
|
||||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
|
import org.jetbrains.exposed.sql.SqlExpressionBuilder.eq
|
||||||
import org.jetbrains.exposed.sql.SqlExpressionBuilder.inList
|
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.transactions.transaction
|
||||||
|
import org.jetbrains.exposed.sql.update
|
||||||
import suwayomi.tachidesk.graphql.types.ChapterType
|
import suwayomi.tachidesk.graphql.types.ChapterType
|
||||||
import suwayomi.tachidesk.manga.model.table.ChapterMetaTable
|
import suwayomi.tachidesk.manga.model.table.ChapterMetaTable
|
||||||
import suwayomi.tachidesk.manga.model.table.ChapterTable
|
import suwayomi.tachidesk.manga.model.table.ChapterTable
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ import java.util.concurrent.CompletableFuture
|
|||||||
* - Filter by downloaded
|
* - Filter by downloaded
|
||||||
* - Filter by scanlators
|
* - Filter by scanlators
|
||||||
* - Sort? Upload date, source order, last read, chapter number
|
* - Sort? Upload date, source order, last read, chapter number
|
||||||
|
* - Get page list?
|
||||||
*
|
*
|
||||||
* TODO Mutations
|
* TODO Mutations
|
||||||
* - Last page read
|
* - Last page read
|
||||||
|
|||||||
@@ -8,7 +8,19 @@
|
|||||||
package suwayomi.tachidesk.graphql.server
|
package suwayomi.tachidesk.graphql.server
|
||||||
|
|
||||||
import com.expediagroup.graphql.dataloader.KotlinDataLoaderRegistryFactory
|
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 {
|
class TachideskDataLoaderRegistryFactory {
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ object UpdateController {
|
|||||||
|
|
||||||
updater.addMangasToQueue(
|
updater.addMangasToQueue(
|
||||||
mangasToUpdate
|
mangasToUpdate
|
||||||
.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, MangaDataClass::title)),
|
.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER, MangaDataClass::title))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user