fix(kobo): correctly propagate metadata update during kobo sync

Massive thanks to @tsheinen for this!
This commit is contained in:
Gauthier Roebroeck 2024-09-02 16:39:56 +08:00
parent fcde9c9376
commit 20e7c295ad
2 changed files with 12 additions and 1 deletions

View file

@ -36,6 +36,7 @@ import org.gotson.komga.interfaces.api.kobo.dto.AuthDto
import org.gotson.komga.interfaces.api.kobo.dto.BookEntitlementContainerDto
import org.gotson.komga.interfaces.api.kobo.dto.BookmarkDto
import org.gotson.komga.interfaces.api.kobo.dto.ChangedEntitlementDto
import org.gotson.komga.interfaces.api.kobo.dto.ChangedProductMetadataDto
import org.gotson.komga.interfaces.api.kobo.dto.ChangedReadingStateDto
import org.gotson.komga.interfaces.api.kobo.dto.KoboBookMetadataDto
import org.gotson.komga.interfaces.api.kobo.dto.NewEntitlementDto
@ -282,7 +283,7 @@ class KoboController(
)
addAll(
booksChanged.content.map {
ChangedEntitlementDto(
NewEntitlementDto(
BookEntitlementContainerDto(
bookEntitlement = it.toBookEntitlementDto(false),
bookMetadata = metadata[it.bookId]!!,
@ -291,6 +292,11 @@ class KoboController(
)
},
)
addAll(
booksChanged.content.map {
ChangedProductMetadataDto(metadata[it.bookId]!!)
},
)
addAll(
booksRemoved.content.map {
ChangedEntitlementDto(

View file

@ -15,6 +15,11 @@ data class ChangedEntitlementDto(
val changedEntitlement: BookEntitlementContainerDto,
) : SyncResultDto
@JsonNaming(PropertyNamingStrategies.UpperCamelCaseStrategy::class)
data class ChangedProductMetadataDto(
val changedProductMetadata: KoboBookMetadataDto,
) : SyncResultDto
@JsonNaming(PropertyNamingStrategies.UpperCamelCaseStrategy::class)
data class NewTagDto(
val newTag: TagDto,