mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-04 03:14:40 -05:00
Update Tracking Backend (#1457)
* Update Tracking Library * Update Bangumi * Update Anilist * Update MangaUpdates * Update MAL * Add private to bind track * Use null * Remove old nullable * Remove custom implementation of supportsTrackDeletion * Add private to updateTrack * Some descriptions * Another description
This commit is contained in:
@@ -22,7 +22,9 @@ 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
|
||||
import suwayomi.tachidesk.manga.impl.track.tracker.model.toTrackSearch
|
||||
import suwayomi.tachidesk.manga.model.table.TrackRecordTable
|
||||
import suwayomi.tachidesk.manga.model.table.TrackSearchTable
|
||||
import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
|
||||
class TrackerDataLoader : KotlinDataLoader<Int, TrackerType> {
|
||||
@@ -116,7 +118,30 @@ class DisplayScoreForTrackRecordDataLoader : KotlinDataLoader<Int, String> {
|
||||
.toList()
|
||||
.map { it.toTrack() }
|
||||
.associateBy { it.id!! }
|
||||
.mapValues { TrackerManager.getTracker(it.value.sync_id)?.displayScore(it.value) }
|
||||
.mapValues { TrackerManager.getTracker(it.value.tracker_id)?.displayScore(it.value) }
|
||||
|
||||
ids.map { trackRecords[it] }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class DisplayScoreForTrackSearchDataLoader : KotlinDataLoader<Int, String> {
|
||||
override val dataLoaderName = "DisplayScoreForTrackRecordDataLoader"
|
||||
|
||||
override fun getDataLoader(graphQLContext: GraphQLContext): DataLoader<Int, String> =
|
||||
DataLoaderFactory.newDataLoader<Int, String> { ids ->
|
||||
future {
|
||||
transaction {
|
||||
addLogger(Slf4jSqlDebugLogger)
|
||||
val trackRecords =
|
||||
TrackSearchTable
|
||||
.selectAll()
|
||||
.where { TrackSearchTable.id inList ids }
|
||||
.toList()
|
||||
.map { it.toTrackSearch() }
|
||||
.associateBy { it.id!! }
|
||||
.mapValues { TrackerManager.getTracker(it.value.tracker_id)?.displayScore(it.value) }
|
||||
|
||||
ids.map { trackRecords[it] }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user