mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-06-30 09:24:34 -05:00
Fix graphql tracking (#840)
This commit is contained in:
@@ -10,6 +10,7 @@ import suwayomi.tachidesk.graphql.types.ChapterMetaType
|
||||
import suwayomi.tachidesk.graphql.types.ChapterType
|
||||
import suwayomi.tachidesk.manga.impl.Chapter
|
||||
import suwayomi.tachidesk.manga.impl.chapter.getChapterDownloadReadyById
|
||||
import suwayomi.tachidesk.manga.impl.track.Track
|
||||
import suwayomi.tachidesk.manga.model.table.ChapterMetaTable
|
||||
import suwayomi.tachidesk.manga.model.table.ChapterTable
|
||||
import suwayomi.tachidesk.server.JavalinSetup.future
|
||||
@@ -69,6 +70,13 @@ class ChapterMutation {
|
||||
update[lastReadAt] = now
|
||||
}
|
||||
}
|
||||
if (patch.isRead == true) {
|
||||
val mangaIds =
|
||||
ChapterTable.slice(ChapterTable.manga).select { ChapterTable.id inList ids }
|
||||
.map { it[ChapterTable.manga].value }
|
||||
.toSet()
|
||||
Track.asyncTrackChapter(mangaIds)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -439,7 +439,7 @@ object Chapter {
|
||||
}
|
||||
|
||||
if (isRead == true || markPrevRead == true) {
|
||||
Track.asyncTrackChapter(mangaId)
|
||||
Track.asyncTrackChapter(setOf(mangaId))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -527,9 +527,9 @@ object Chapter {
|
||||
transaction {
|
||||
ChapterTable.select { condition }
|
||||
.map { it[ChapterTable.manga].value }
|
||||
.distinct()
|
||||
.toSet()
|
||||
}
|
||||
mangaIds.forEach { Track.asyncTrackChapter(it) }
|
||||
Track.asyncTrackChapter(mangaIds)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -235,9 +235,14 @@ object Track {
|
||||
upsertTrackRecord(track)
|
||||
}
|
||||
|
||||
fun asyncTrackChapter(mangaId: Int) {
|
||||
fun asyncTrackChapter(mangaIds: Set<Int>) {
|
||||
if (!TrackerManager.hasLoggedTracker()) {
|
||||
return
|
||||
}
|
||||
scope.launch {
|
||||
trackChapter(mangaId)
|
||||
mangaIds.forEach {
|
||||
trackChapter(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,10 +271,6 @@ object Track {
|
||||
mangaId: Int,
|
||||
chapterNumber: Double,
|
||||
) {
|
||||
if (!TrackerManager.hasLoggedTracker()) {
|
||||
return
|
||||
}
|
||||
|
||||
val records =
|
||||
transaction {
|
||||
TrackRecordTable.select { TrackRecordTable.mangaId eq mangaId }
|
||||
|
||||
Reference in New Issue
Block a user