Update graphqlkotlin to v8 (major) (#1143)
* Update graphqlkotlin to v8 * Go back to JsonMapper * Add context to data loaders * Compile fixes --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Syer10 <syer10@users.noreply.github.com>
This commit is contained in:
@@ -10,7 +10,7 @@ dex2jar = "v64" # Stuck until https://github.com/ThexXTURBOXx/dex2jar/issues/27
|
||||
rhino = "1.7.15"
|
||||
settings = "1.2.0"
|
||||
twelvemonkeys = "3.12.0"
|
||||
graphqlkotlin = "6.8.5"
|
||||
graphqlkotlin = "8.2.1"
|
||||
xmlserialization = "0.90.3"
|
||||
ktlint = "1.4.1"
|
||||
koin = "4.0.0"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||
@@ -24,7 +25,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class CategoryDataLoader : KotlinDataLoader<Int, CategoryType> {
|
||||
override val dataLoaderName = "CategoryDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, CategoryType> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, CategoryType> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -43,7 +44,7 @@ class CategoryDataLoader : KotlinDataLoader<Int, CategoryType> {
|
||||
class CategoryForIdsDataLoader : KotlinDataLoader<List<Int>, CategoryNodeList> {
|
||||
override val dataLoaderName = "CategoryForIdsDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<List<Int>, CategoryNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<List<Int>, CategoryNodeList> =
|
||||
DataLoaderFactory.newDataLoader { categoryIds ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -61,7 +62,7 @@ class CategoryForIdsDataLoader : KotlinDataLoader<List<Int>, CategoryNodeList> {
|
||||
class CategoriesForMangaDataLoader : KotlinDataLoader<Int, CategoryNodeList> {
|
||||
override val dataLoaderName = "CategoriesForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, CategoryNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, CategoryNodeList> =
|
||||
DataLoaderFactory.newDataLoader<Int, CategoryNodeList> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
|
||||
+12
-11
@@ -8,6 +8,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||
@@ -26,7 +27,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class ChapterDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
override val dataLoaderName = "ChapterDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterType?> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterType> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -45,7 +46,7 @@ class ChapterDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
class ChaptersForMangaDataLoader : KotlinDataLoader<Int, ChapterNodeList> {
|
||||
override val dataLoaderName = "ChaptersForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterNodeList> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterNodeList> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -64,7 +65,7 @@ class ChaptersForMangaDataLoader : KotlinDataLoader<Int, ChapterNodeList> {
|
||||
class DownloadedChapterCountForMangaDataLoader : KotlinDataLoader<Int, Int> {
|
||||
override val dataLoaderName = "DownloadedChapterCountForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, Int> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, Int> =
|
||||
DataLoaderFactory.newDataLoader<Int, Int> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -84,7 +85,7 @@ class DownloadedChapterCountForMangaDataLoader : KotlinDataLoader<Int, Int> {
|
||||
class UnreadChapterCountForMangaDataLoader : KotlinDataLoader<Int, Int> {
|
||||
override val dataLoaderName = "UnreadChapterCountForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, Int> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, Int> =
|
||||
DataLoaderFactory.newDataLoader<Int, Int> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -104,7 +105,7 @@ class UnreadChapterCountForMangaDataLoader : KotlinDataLoader<Int, Int> {
|
||||
class BookmarkedChapterCountForMangaDataLoader : KotlinDataLoader<Int, Int> {
|
||||
override val dataLoaderName = "BookmarkedChapterCountForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, Int> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, Int> =
|
||||
DataLoaderFactory.newDataLoader<Int, Int> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -124,7 +125,7 @@ class BookmarkedChapterCountForMangaDataLoader : KotlinDataLoader<Int, Int> {
|
||||
class HasDuplicateChaptersForMangaDataLoader : KotlinDataLoader<Int, Boolean> {
|
||||
override val dataLoaderName = "HasDuplicateChaptersForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, Boolean> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, Boolean> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -146,7 +147,7 @@ class HasDuplicateChaptersForMangaDataLoader : KotlinDataLoader<Int, Boolean> {
|
||||
class LastReadChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
override val dataLoaderName = "LastReadChapterForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterType?> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterType?> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -165,7 +166,7 @@ class LastReadChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
class LatestReadChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
override val dataLoaderName = "LatestReadChapterForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterType?> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterType?> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -184,7 +185,7 @@ class LatestReadChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?>
|
||||
class LatestFetchedChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
override val dataLoaderName = "LatestFetchedChapterForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterType?> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterType?> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -203,7 +204,7 @@ class LatestFetchedChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType
|
||||
class LatestUploadedChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
override val dataLoaderName = "LatestUploadedChapterForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterType?> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterType?> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -222,7 +223,7 @@ class LatestUploadedChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterTyp
|
||||
class FirstUnreadChapterForMangaDataLoader : KotlinDataLoader<Int, ChapterType?> {
|
||||
override val dataLoaderName = "FirstUnreadChapterForMangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, ChapterType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, ChapterType?> =
|
||||
DataLoaderFactory.newDataLoader<Int, ChapterType?> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
|
||||
+3
-2
@@ -8,6 +8,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||
@@ -22,7 +23,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class ExtensionDataLoader : KotlinDataLoader<String, ExtensionType?> {
|
||||
override val dataLoaderName = "ExtensionDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<String, ExtensionType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<String, ExtensionType?> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -41,7 +42,7 @@ class ExtensionDataLoader : KotlinDataLoader<String, ExtensionType?> {
|
||||
class ExtensionForSourceDataLoader : KotlinDataLoader<Long, ExtensionType?> {
|
||||
override val dataLoaderName = "ExtensionForSourceDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Long, ExtensionType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Long, ExtensionType?> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.dataloader.DataLoaderOptions
|
||||
@@ -27,7 +28,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class MangaDataLoader : KotlinDataLoader<Int, MangaType?> {
|
||||
override val dataLoaderName = "MangaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, MangaType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, MangaType?> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -46,7 +47,7 @@ class MangaDataLoader : KotlinDataLoader<Int, MangaType?> {
|
||||
class MangaForCategoryDataLoader : KotlinDataLoader<Int, MangaNodeList> {
|
||||
override val dataLoaderName = "MangaForCategoryDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, MangaNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, MangaNodeList> =
|
||||
DataLoaderFactory.newDataLoader<Int, MangaNodeList> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -80,7 +81,7 @@ class MangaForCategoryDataLoader : KotlinDataLoader<Int, MangaNodeList> {
|
||||
class MangaForSourceDataLoader : KotlinDataLoader<Long, MangaNodeList> {
|
||||
override val dataLoaderName = "MangaForSourceDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Long, MangaNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Long, MangaNodeList> =
|
||||
DataLoaderFactory.newDataLoader<Long, MangaNodeList> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -99,7 +100,7 @@ class MangaForSourceDataLoader : KotlinDataLoader<Long, MangaNodeList> {
|
||||
class MangaForIdsDataLoader : KotlinDataLoader<List<Int>, MangaNodeList> {
|
||||
override val dataLoaderName = "MangaForIdsDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<List<Int>, MangaNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<List<Int>, MangaNodeList> =
|
||||
DataLoaderFactory.newDataLoader(
|
||||
{ mangaIds ->
|
||||
future {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||
@@ -22,7 +23,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class GlobalMetaDataLoader : KotlinDataLoader<String, GlobalMetaType?> {
|
||||
override val dataLoaderName = "GlobalMetaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<String, GlobalMetaType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<String, GlobalMetaType?> =
|
||||
DataLoaderFactory.newDataLoader<String, GlobalMetaType?> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -41,7 +42,7 @@ class GlobalMetaDataLoader : KotlinDataLoader<String, GlobalMetaType?> {
|
||||
class ChapterMetaDataLoader : KotlinDataLoader<Int, List<ChapterMetaType>> {
|
||||
override val dataLoaderName = "ChapterMetaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, List<ChapterMetaType>> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, List<ChapterMetaType>> =
|
||||
DataLoaderFactory.newDataLoader<Int, List<ChapterMetaType>> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -60,7 +61,7 @@ class ChapterMetaDataLoader : KotlinDataLoader<Int, List<ChapterMetaType>> {
|
||||
class MangaMetaDataLoader : KotlinDataLoader<Int, List<MangaMetaType>> {
|
||||
override val dataLoaderName = "MangaMetaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, List<MangaMetaType>> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, List<MangaMetaType>> =
|
||||
DataLoaderFactory.newDataLoader<Int, List<MangaMetaType>> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -79,7 +80,7 @@ class MangaMetaDataLoader : KotlinDataLoader<Int, List<MangaMetaType>> {
|
||||
class CategoryMetaDataLoader : KotlinDataLoader<Int, List<CategoryMetaType>> {
|
||||
override val dataLoaderName = "CategoryMetaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, List<CategoryMetaType>> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, List<CategoryMetaType>> =
|
||||
DataLoaderFactory.newDataLoader<Int, List<CategoryMetaType>> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -98,7 +99,7 @@ class CategoryMetaDataLoader : KotlinDataLoader<Int, List<CategoryMetaType>> {
|
||||
class SourceMetaDataLoader : KotlinDataLoader<Long, List<SourceMetaType>> {
|
||||
override val dataLoaderName = "SourceMetaDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Long, List<SourceMetaType>> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Long, List<SourceMetaType>> =
|
||||
DataLoaderFactory.newDataLoader<Long, List<SourceMetaType>> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||
@@ -24,7 +25,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class SourceDataLoader : KotlinDataLoader<Long, SourceType?> {
|
||||
override val dataLoaderName = "SourceDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Long, SourceType?> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Long, SourceType?> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -43,7 +44,7 @@ class SourceDataLoader : KotlinDataLoader<Long, SourceType?> {
|
||||
class SourcesForExtensionDataLoader : KotlinDataLoader<String, SourceNodeList> {
|
||||
override val dataLoaderName = "SourcesForExtensionDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<String, SourceNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<String, SourceNodeList> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
package suwayomi.tachidesk.graphql.dataLoaders
|
||||
|
||||
import com.expediagroup.graphql.dataloader.KotlinDataLoader
|
||||
import graphql.GraphQLContext
|
||||
import org.dataloader.DataLoader
|
||||
import org.dataloader.DataLoaderFactory
|
||||
import org.jetbrains.exposed.sql.Slf4jSqlDebugLogger
|
||||
@@ -27,7 +28,7 @@ import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
class TrackerDataLoader : KotlinDataLoader<Int, TrackerType> {
|
||||
override val dataLoaderName = "TrackerDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, TrackerType> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, TrackerType> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
ids.map { id ->
|
||||
@@ -40,7 +41,7 @@ class TrackerDataLoader : KotlinDataLoader<Int, TrackerType> {
|
||||
class TrackerStatusesDataLoader : KotlinDataLoader<Int, List<TrackStatusType>> {
|
||||
override val dataLoaderName = "TrackerStatusesDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, List<TrackStatusType>> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, List<TrackStatusType>> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
ids.map { id ->
|
||||
@@ -57,7 +58,7 @@ class TrackerStatusesDataLoader : KotlinDataLoader<Int, List<TrackStatusType>> {
|
||||
class TrackerScoresDataLoader : KotlinDataLoader<Int, List<String>> {
|
||||
override val dataLoaderName = "TrackerScoresDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, List<String>> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, List<String>> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
ids.map { id ->
|
||||
@@ -70,7 +71,7 @@ class TrackerScoresDataLoader : KotlinDataLoader<Int, List<String>> {
|
||||
class TrackerTokenExpiredDataLoader : KotlinDataLoader<Int, Boolean> {
|
||||
override val dataLoaderName = "TrackerTokenExpiredDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, Boolean> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, Boolean> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
ids.map { id ->
|
||||
@@ -83,7 +84,7 @@ class TrackerTokenExpiredDataLoader : KotlinDataLoader<Int, Boolean> {
|
||||
class TrackRecordsForMangaIdDataLoader : KotlinDataLoader<Int, TrackRecordNodeList> {
|
||||
override val dataLoaderName = "TrackRecordsForMangaIdDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, TrackRecordNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, TrackRecordNodeList> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -102,7 +103,7 @@ class TrackRecordsForMangaIdDataLoader : KotlinDataLoader<Int, TrackRecordNodeLi
|
||||
class DisplayScoreForTrackRecordDataLoader : KotlinDataLoader<Int, String> {
|
||||
override val dataLoaderName = "DisplayScoreForTrackRecordDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, String> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, String> =
|
||||
DataLoaderFactory.newDataLoader<Int, String> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -124,7 +125,7 @@ class DisplayScoreForTrackRecordDataLoader : KotlinDataLoader<Int, String> {
|
||||
class TrackRecordsForTrackerIdDataLoader : KotlinDataLoader<Int, TrackRecordNodeList> {
|
||||
override val dataLoaderName = "TrackRecordsForTrackerIdDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, TrackRecordNodeList> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, TrackRecordNodeList> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
@@ -143,7 +144,7 @@ class TrackRecordsForTrackerIdDataLoader : KotlinDataLoader<Int, TrackRecordNode
|
||||
class TrackRecordDataLoader : KotlinDataLoader<Int, TrackRecordType> {
|
||||
override val dataLoaderName = "TrackRecordDataLoader"
|
||||
|
||||
override fun getDataLoader(): DataLoader<Int, TrackRecordType> =
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, TrackRecordType> =
|
||||
DataLoaderFactory.newDataLoader { ids ->
|
||||
future {
|
||||
transaction {
|
||||
|
||||
+10
-9
@@ -13,11 +13,7 @@ import com.expediagroup.graphql.server.types.GraphQLRequest
|
||||
import com.expediagroup.graphql.server.types.GraphQLServerRequest
|
||||
import io.javalin.http.Context
|
||||
import io.javalin.http.UploadedFile
|
||||
import kotlinx.serialization.builtins.ListSerializer
|
||||
import kotlinx.serialization.builtins.MapSerializer
|
||||
import kotlinx.serialization.builtins.serializer
|
||||
import kotlinx.serialization.json.Json
|
||||
import kotlinx.serialization.json.decodeFromStream
|
||||
import io.javalin.plugin.json.jsonMapper
|
||||
import java.io.IOException
|
||||
|
||||
class JavalinGraphQLRequestParser : GraphQLRequestParser<Context> {
|
||||
@@ -33,18 +29,23 @@ class JavalinGraphQLRequestParser : GraphQLRequestParser<Context> {
|
||||
context.formParam("operations")
|
||||
?: throw IllegalArgumentException("Cannot find 'operations' body")
|
||||
} else {
|
||||
return Json.decodeFromStream<GraphQLServerRequest>(context.bodyAsInputStream())
|
||||
return context.bodyAsClass(GraphQLServerRequest::class.java)
|
||||
}
|
||||
|
||||
val request =
|
||||
Json.decodeFromString<GraphQLServerRequest>(formParam)
|
||||
context.jsonMapper().fromJsonString(
|
||||
formParam,
|
||||
GraphQLServerRequest::class.java,
|
||||
)
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
val map =
|
||||
context
|
||||
.formParam("map")
|
||||
?.let {
|
||||
Json.decodeFromString(
|
||||
MapSerializer(String.serializer(), ListSerializer(String.serializer())),
|
||||
context.jsonMapper().fromJsonString(
|
||||
it,
|
||||
Map::class.java as Class<Map<String, List<String>>>,
|
||||
)
|
||||
}.orEmpty()
|
||||
|
||||
|
||||
+4
-6
@@ -5,20 +5,18 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
|
||||
|
||||
@file:Suppress("DEPRECATION")
|
||||
|
||||
package suwayomi.tachidesk.graphql.server
|
||||
|
||||
import com.expediagroup.graphql.generator.execution.GraphQLContext
|
||||
import com.expediagroup.graphql.server.execution.GraphQLContextFactory
|
||||
import graphql.GraphQLContext
|
||||
import io.javalin.http.Context
|
||||
import io.javalin.websocket.WsContext
|
||||
|
||||
/**
|
||||
* Custom logic for how Suwayomi-Server should create its context given the [Context]
|
||||
*/
|
||||
class TachideskGraphQLContextFactory : GraphQLContextFactory<GraphQLContext, Context> {
|
||||
override suspend fun generateContextMap(request: Context): Map<*, Any> = emptyMap<Any, Any>()
|
||||
class TachideskGraphQLContextFactory : GraphQLContextFactory<Context> {
|
||||
override suspend fun generateContext(request: Context): GraphQLContext = emptyMap<Any, Any>().toGraphQLContext()
|
||||
// mutableMapOf<Any, Any>(
|
||||
// "user" to User(
|
||||
// email = "fake@site.com",
|
||||
@@ -30,7 +28,7 @@ class TachideskGraphQLContextFactory : GraphQLContextFactory<GraphQLContext, Con
|
||||
// request.headers["my-custom-header"]?.let { customHeader ->
|
||||
// map["customHeader"] = customHeader
|
||||
// }
|
||||
// }
|
||||
// }.toGraphQLContext()
|
||||
|
||||
fun generateContextMap(
|
||||
@Suppress("UNUSED_PARAMETER") request: WsContext,
|
||||
|
||||
+2
-2
@@ -29,8 +29,8 @@ open class GraphQLSubscriptionHandler(
|
||||
graphQLRequest: GraphQLRequest,
|
||||
graphQLContext: GraphQLContext = GraphQLContext.of(emptyMap<Any, Any>()),
|
||||
): Flow<GraphQLResponse<*>> {
|
||||
val dataLoaderRegistry = dataLoaderRegistryFactory?.generate()
|
||||
val input = graphQLRequest.toExecutionInput(dataLoaderRegistry, graphQLContext)
|
||||
val dataLoaderRegistry = dataLoaderRegistryFactory?.generate(graphQLContext)
|
||||
val input = graphQLRequest.toExecutionInput(graphQLContext, dataLoaderRegistry)
|
||||
|
||||
val res = graphQL.execute(input)
|
||||
val data = res.getData<Flow<ExecutionResult>>()
|
||||
|
||||
@@ -44,10 +44,10 @@ class ChapterType(
|
||||
mangaId: Int,
|
||||
dataFetchingEnvironment: DataFetchingEnvironment,
|
||||
) {
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("ChapterDataLoader").clear(chapterId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterNodeList>("ChaptersForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("DownloadedChapterCountForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LastReadChapterForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("ChapterDataLoader")?.clear(chapterId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterNodeList>("ChaptersForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("DownloadedChapterCountForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LastReadChapterForMangaDataLoader")?.clear(mangaId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -57,31 +57,31 @@ class MangaType(
|
||||
mangaId: Int,
|
||||
dataFetchingEnvironment: DataFetchingEnvironment,
|
||||
) {
|
||||
dataFetchingEnvironment.getDataLoader<Int, MangaType>("MangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, MangaType>("MangaDataLoader")?.clear(mangaId)
|
||||
|
||||
val mangaForIdsDataLoader =
|
||||
dataFetchingEnvironment.getDataLoader<List<Int>, MangaNodeList>("MangaForIdsDataLoader")
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
(mangaForIdsDataLoader.cacheMap as CustomCacheMap<List<Int>, MangaNodeList>)
|
||||
.getKeys()
|
||||
.filter { it.contains(mangaId) }
|
||||
.forEach { mangaForIdsDataLoader.clear(it) }
|
||||
(mangaForIdsDataLoader?.cacheMap as? CustomCacheMap<List<Int>, MangaNodeList>?)
|
||||
?.getKeys()
|
||||
?.filter { it.contains(mangaId) }
|
||||
?.forEach { mangaForIdsDataLoader.clear(it) }
|
||||
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("DownloadedChapterCountForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("UnreadChapterCountForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("BookmarkedChapterCountForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("HasDuplicateChaptersForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LastReadChapterForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LatestReadChapterForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LatestFetchedChapterForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LatestUploadedChapterForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("FirstUnreadChapterForMangaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("DownloadedChapterCountForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("UnreadChapterCountForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("BookmarkedChapterCountForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, Int>("HasDuplicateChaptersForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LastReadChapterForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LatestReadChapterForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LatestFetchedChapterForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("LatestUploadedChapterForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, ChapterType>("FirstUnreadChapterForMangaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment
|
||||
.getDataLoader<Int, ChapterNodeList>(
|
||||
"ChaptersForMangaDataLoader",
|
||||
).clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, List<MangaMetaType>>("MangaMetaDataLoader").clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, CategoryNodeList>("CategoriesForMangaDataLoader").clear(mangaId)
|
||||
)?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, List<MangaMetaType>>("MangaMetaDataLoader")?.clear(mangaId)
|
||||
dataFetchingEnvironment.getDataLoader<Int, CategoryNodeList>("CategoriesForMangaDataLoader")?.clear(mangaId)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user