diff --git a/komga/src/flyway/resources/db/migration/sqlite/V20210607144721__library_import_mylar_metadata.sql b/komga/src/flyway/resources/db/migration/sqlite/V20210610153910__library_import_mylar_metadata.sql similarity index 100% rename from komga/src/flyway/resources/db/migration/sqlite/V20210607144721__library_import_mylar_metadata.sql rename to komga/src/flyway/resources/db/migration/sqlite/V20210610153910__library_import_mylar_metadata.sql diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/model/Sidecar.kt b/komga/src/main/kotlin/org/gotson/komga/domain/model/Sidecar.kt index 10bbff975..e8f44f565 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/model/Sidecar.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/model/Sidecar.kt @@ -12,7 +12,7 @@ data class Sidecar( ) { enum class Type { - ARTWORK + ARTWORK, METADATA } enum class Source { diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/service/LibraryContentLifecycle.kt b/komga/src/main/kotlin/org/gotson/komga/domain/service/LibraryContentLifecycle.kt index f793e4714..73ef4437b 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/service/LibraryContentLifecycle.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/service/LibraryContentLifecycle.kt @@ -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) } } } diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/mylar/MylarSeriesProvider.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/mylar/MylarSeriesProvider.kt index 200b259db..e23dcf685 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/mylar/MylarSeriesProvider.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/mylar/MylarSeriesProvider.kt @@ -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 = listOf(SERIES_JSON) }