diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/model/SeriesSearch.kt b/komga/src/main/kotlin/org/gotson/komga/domain/model/SeriesSearch.kt index 1f98ea94..74a9c564 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/model/SeriesSearch.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/model/SeriesSearch.kt @@ -5,7 +5,8 @@ open class SeriesSearch( val collectionIds: Collection? = null, val searchTerm: String? = null, val metadataStatus: Collection? = null, - val publishers: Collection? = null + val publishers: Collection? = null, + val languages: Collection? = null ) class SeriesSearchWithReadProgress( @@ -14,5 +15,6 @@ class SeriesSearchWithReadProgress( searchTerm: String? = null, metadataStatus: Collection? = null, publishers: Collection? = null, + languages: Collection? = null, val readStatus: Collection? = null -) : SeriesSearch(libraryIds, collectionIds, searchTerm, metadataStatus, publishers) +) : SeriesSearch(libraryIds, collectionIds, searchTerm, metadataStatus, publishers, languages) diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt index 30b23760..99924e73 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/jooq/SeriesDtoDao.kt @@ -186,6 +186,7 @@ class SeriesDtoDao( searchTerm?.let { c = c.and(d.TITLE.containsIgnoreCase(it)) } metadataStatus?.let { c = c.and(d.STATUS.`in`(it)) } publishers?.let { publishers -> c = c.and(lower(d.PUBLISHER).`in`(publishers.map { it.toLowerCase() })) } + languages?.let { languages -> c = c.and(lower(d.LANGUAGE).`in`(languages.map { it.toLowerCase() })) } return c } diff --git a/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/SeriesController.kt b/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/SeriesController.kt index 3223bc69..c8db52c5 100644 --- a/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/SeriesController.kt +++ b/komga/src/main/kotlin/org/gotson/komga/interfaces/rest/SeriesController.kt @@ -78,6 +78,7 @@ class SeriesController( @RequestParam(name = "status", required = false) metadataStatus: List?, @RequestParam(name = "read_status", required = false) readStatus: List?, @RequestParam(name = "publisher", required = false) publishers: List?, + @RequestParam(name = "language", required = false) languages: List?, @RequestParam(name = "unpaged", required = false) unpaged: Boolean = false, @Parameter(hidden = true) page: Pageable ): Page { @@ -99,7 +100,8 @@ class SeriesController( searchTerm = searchTerm, metadataStatus = metadataStatus, readStatus = readStatus, - publishers = publishers + publishers = publishers, + languages = languages ) return seriesDtoRepository.findAll(seriesSearch, principal.user.id, pageRequest)