fix: don't update read progress for already read books when series is marked as read

This commit is contained in:
Gauthier Roebroeck 2021-09-14 11:53:41 +08:00
parent f8f11e8630
commit a6164dadb7

View file

@ -176,7 +176,12 @@ class SeriesLifecycle(
}
fun markReadProgressCompleted(seriesId: String, user: KomgaUser) {
val progresses = mediaRepository.getPagesSizes(bookRepository.findAllIdsBySeriesId(seriesId))
val bookIds = bookRepository.findAllIdsBySeriesId(seriesId)
.filter { bookId ->
val readProgress = readProgressRepository.findByBookIdAndUserIdOrNull(bookId, user.id)
readProgress == null || !readProgress.completed
}
val progresses = mediaRepository.getPagesSizes(bookIds)
.map { (bookId, pageSize) -> ReadProgress(bookId, user.id, pageSize, true) }
readProgressRepository.save(progresses)