From bff3e3e549cdacf2a6d599f87547ebc2212c483c Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Tue, 31 Dec 2019 10:02:59 +0800 Subject: [PATCH] restore backward compatibility of ready_only parameter in /series/{id}/books when media_status is not present --- .../komga/interfaces/web/rest/SeriesController.kt | 12 ++++++------ .../komga/interfaces/web/rest/BookControllerTest.kt | 4 ++-- .../interfaces/web/rest/SeriesControllerTest.kt | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/komga/src/main/kotlin/org/gotson/komga/interfaces/web/rest/SeriesController.kt b/komga/src/main/kotlin/org/gotson/komga/interfaces/web/rest/SeriesController.kt index 2294c8bfb8..dfaaeadc7f 100644 --- a/komga/src/main/kotlin/org/gotson/komga/interfaces/web/rest/SeriesController.kt +++ b/komga/src/main/kotlin/org/gotson/komga/interfaces/web/rest/SeriesController.kt @@ -164,8 +164,8 @@ class SeriesController( fun getAllBooksBySeries( @AuthenticationPrincipal principal: KomgaPrincipal, @PathVariable(name = "seriesId") id: Long, - @RequestParam(name = "ready_only", defaultValue = "true") - readyFilter: Boolean, + // deprecated, to remove once Tachiyomi update has been published + @RequestParam(name = "ready_only", defaultValue = "true") readyFilter: Boolean, @RequestParam(name = "media_status", required = false) mediaStatus: List?, page: Pageable ): Page { @@ -180,10 +180,10 @@ class SeriesController( else Sort.by(Sort.Order.asc("number")) ) - return if (!mediaStatus.isNullOrEmpty()) { - bookRepository.findAllByMediaStatusInAndSeriesId(mediaStatus, id, pageRequest) - } else { - bookRepository.findAllBySeriesId(id, pageRequest) + return when { + !mediaStatus.isNullOrEmpty() -> bookRepository.findAllByMediaStatusInAndSeriesId(mediaStatus, id, pageRequest) + readyFilter -> bookRepository.findAllByMediaStatusInAndSeriesId(listOf(Media.Status.READY), id, pageRequest) + else -> bookRepository.findAllBySeriesId(id, pageRequest) }.map { it.toDto(includeFullUrl = principal.user.isAdmin()) } } } diff --git a/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/BookControllerTest.kt b/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/BookControllerTest.kt index 9323af598a..828e7e6d42 100644 --- a/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/BookControllerTest.kt +++ b/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/BookControllerTest.kt @@ -301,7 +301,7 @@ class BookControllerTest( mockMvc.get("/api/v1/books/latest") .andExpect(validation) - mockMvc.get("/api/v1/series/${series.id}/books") + mockMvc.get("/api/v1/series/${series.id}/books?media_status=UNKNOWN") .andExpect(validation) mockMvc.get("/api/v1/books/${series.books.first().id}") @@ -332,7 +332,7 @@ class BookControllerTest( mockMvc.get("/api/v1/books/latest") .andExpect(validation) - mockMvc.get("/api/v1/series/${series.id}/books") + mockMvc.get("/api/v1/series/${series.id}/books?media_status=UNKNOWN") .andExpect(validation) mockMvc.get("/api/v1/books/${series.books.first().id}") diff --git a/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/SeriesControllerTest.kt b/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/SeriesControllerTest.kt index 14a9652fdc..a971327464 100644 --- a/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/SeriesControllerTest.kt +++ b/komga/src/test/kotlin/org/gotson/komga/interfaces/web/rest/SeriesControllerTest.kt @@ -75,7 +75,7 @@ class SeriesControllerTest( series.books = series.books.toMutableList().also { it.add(makeBook("2")) } seriesRepository.save(series) - mockMvc.get("/api/v1/series/${series.id}/books") + mockMvc.get("/api/v1/series/${series.id}/books?media_status=UNKNOWN") .andExpect { status { isOk } jsonPath("$.content[0].name") { value("1") } @@ -96,7 +96,7 @@ class SeriesControllerTest( series.books = series.books.toMutableList().also { it.add(makeBook("2")) } seriesRepository.save(series) - mockMvc.get("/api/v1/series/${series.id}/books") + mockMvc.get("/api/v1/series/${series.id}/books?media_status=UNKNOWN") .andExpect { status { isOk } jsonPath("$.content[0].name") { value("1") }