Change Track.bind to use trackerId + remoteId (#842)

This commit is contained in:
Mitchell Syer
2024-01-22 21:35:56 -05:00
committed by GitHub
parent b9053e3057
commit 4bec027f11
4 changed files with 23 additions and 18 deletions

View File

@@ -8,7 +8,6 @@ import suwayomi.tachidesk.graphql.types.TrackerType
import suwayomi.tachidesk.manga.impl.track.Track
import suwayomi.tachidesk.manga.impl.track.tracker.TrackerManager
import suwayomi.tachidesk.manga.model.table.TrackRecordTable
import suwayomi.tachidesk.manga.model.table.TrackSearchTable
import suwayomi.tachidesk.server.JavalinSetup.future
import java.util.concurrent.CompletableFuture
@@ -103,7 +102,8 @@ class TrackMutation {
data class BindTrackInput(
val clientMutationId: String? = null,
val mangaId: Int,
val trackSearchId: Int,
val trackerId: Int,
val remoteId: Long,
)
data class BindTrackPayload(
@@ -112,18 +112,16 @@ class TrackMutation {
)
fun bindTrack(input: BindTrackInput): CompletableFuture<BindTrackPayload> {
val (clientMutationId, mangaId, trackSearchId) = input
val (clientMutationId, mangaId, trackerId, remoteId) = input
return future {
Track.bind(
mangaId,
trackSearchId,
trackerId,
remoteId,
)
val trackRecord =
transaction {
val trackerId =
TrackSearchTable.select { TrackSearchTable.id eq trackSearchId }
.first()[TrackSearchTable.trackerId]
TrackRecordTable.select {
TrackRecordTable.mangaId eq mangaId and (TrackRecordTable.trackerId eq trackerId)
}.first()