Fix Tracker Status and Scores (#843)

This commit is contained in:
Mitchell Syer
2024-01-23 18:48:47 -05:00
committed by GitHub
parent 4bec027f11
commit 9121a6341c
6 changed files with 63 additions and 14 deletions

View File

@@ -17,6 +17,7 @@ import org.jetbrains.exposed.sql.transactions.transaction
import suwayomi.tachidesk.graphql.types.TrackRecordNodeList
import suwayomi.tachidesk.graphql.types.TrackRecordNodeList.Companion.toNodeList
import suwayomi.tachidesk.graphql.types.TrackRecordType
import suwayomi.tachidesk.graphql.types.TrackStatusType
import suwayomi.tachidesk.graphql.types.TrackerType
import suwayomi.tachidesk.manga.impl.track.tracker.TrackerManager
import suwayomi.tachidesk.manga.impl.track.tracker.model.toTrack
@@ -36,6 +37,36 @@ class TrackerDataLoader : KotlinDataLoader<Int, TrackerType> {
}
}
class TrackerStatusesDataLoader : KotlinDataLoader<Int, List<TrackStatusType>> {
override val dataLoaderName = "TrackerStatusesDataLoader"
override fun getDataLoader(): DataLoader<Int, List<TrackStatusType>> =
DataLoaderFactory.newDataLoader { ids ->
future {
ids.map { id ->
TrackerManager.getTracker(id)?.let { tracker ->
tracker.getStatusList().map {
TrackStatusType(it, tracker.getStatus(it)!!)
}
}
}
}
}
}
class TrackerScoresDataLoader : KotlinDataLoader<Int, List<String>> {
override val dataLoaderName = "TrackerStatusesDataLoader"
override fun getDataLoader(): DataLoader<Int, List<String>> =
DataLoaderFactory.newDataLoader { ids ->
future {
ids.map { id ->
TrackerManager.getTracker(id)?.getScoreList()
}
}
}
}
class TrackRecordsForMangaIdDataLoader : KotlinDataLoader<Int, TrackRecordNodeList> {
override val dataLoaderName = "TrackRecordsForMangaIdDataLoader"