mirror of
https://github.com/gotson/komga.git
synced 2025-12-20 15:34:17 +01:00
feat: refresh series metadata if series.json file changed
This commit is contained in:
parent
0af6ec45ad
commit
5cc14b57f8
4 changed files with 10 additions and 2 deletions
|
|
@ -12,7 +12,7 @@ data class Sidecar(
|
|||
) {
|
||||
|
||||
enum class Type {
|
||||
ARTWORK
|
||||
ARTWORK, METADATA
|
||||
}
|
||||
|
||||
enum class Source {
|
||||
|
|
|
|||
|
|
@ -175,6 +175,7 @@ class LibraryContentLifecycle(
|
|||
logger.info { "Sidecar changed on disk (${newSidecar.url}, refresh Series for ${newSidecar.type}: $series" }
|
||||
when (newSidecar.type) {
|
||||
Sidecar.Type.ARTWORK -> taskReceiver.refreshSeriesLocalArtwork(series.id)
|
||||
Sidecar.Type.METADATA -> taskReceiver.refreshSeriesMetadata(series.id)
|
||||
}
|
||||
}
|
||||
Sidecar.Source.BOOK ->
|
||||
|
|
@ -182,6 +183,7 @@ class LibraryContentLifecycle(
|
|||
logger.info { "Sidecar changed on disk (${newSidecar.url}, refresh Book for ${newSidecar.type}: $book" }
|
||||
when (newSidecar.type) {
|
||||
Sidecar.Type.ARTWORK -> taskReceiver.refreshBookLocalArtwork(book.id)
|
||||
Sidecar.Type.METADATA -> taskReceiver.refreshBookMetadata(book.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import mu.KotlinLogging
|
|||
import org.gotson.komga.domain.model.Series
|
||||
import org.gotson.komga.domain.model.SeriesMetadata
|
||||
import org.gotson.komga.domain.model.SeriesMetadataPatch
|
||||
import org.gotson.komga.domain.model.Sidecar
|
||||
import org.gotson.komga.infrastructure.metadata.SeriesMetadataProvider
|
||||
import org.gotson.komga.infrastructure.metadata.mylar.dto.Status
|
||||
import org.gotson.komga.infrastructure.sidecar.SidecarSeriesConsumer
|
||||
import org.springframework.stereotype.Service
|
||||
import kotlin.io.path.notExists
|
||||
import org.gotson.komga.infrastructure.metadata.mylar.dto.Series as MylarSeries
|
||||
|
|
@ -18,7 +20,7 @@ private const val SERIES_JSON = "series.json"
|
|||
@Service
|
||||
class MylarSeriesProvider(
|
||||
private val mapper: ObjectMapper,
|
||||
) : SeriesMetadataProvider {
|
||||
) : SeriesMetadataProvider, SidecarSeriesConsumer {
|
||||
|
||||
override fun getSeriesMetadata(series: Series): SeriesMetadataPatch? {
|
||||
try {
|
||||
|
|
@ -49,4 +51,8 @@ class MylarSeriesProvider(
|
|||
return null
|
||||
}
|
||||
}
|
||||
|
||||
override fun getSidecarSeriesType(): Sidecar.Type = Sidecar.Type.METADATA
|
||||
|
||||
override fun getSidecarSeriesFilenames(): List<String> = listOf(SERIES_JSON)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue