restore backward compatibility of ready_only parameter in /series/{id}/books when media_status is not present

This commit is contained in:
Gauthier Roebroeck 2019-12-31 10:02:59 +08:00
parent 12126a2ed7
commit bff3e3e549
3 changed files with 10 additions and 10 deletions

View file

@ -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<Media.Status>?,
page: Pageable
): Page<BookDto> {
@ -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()) }
}
}

View file

@ -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}")

View file

@ -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") }