mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-06-24 01:39:24 +02:00
Fix:Get library items endpoint limit & total entities count
This commit is contained in:
parent
31be2ba4fb
commit
8f83752abc
2 changed files with 25 additions and 23 deletions
|
@ -188,7 +188,17 @@ class LibraryController {
|
|||
|
||||
if (!(collapsedItems.length == 1 && collapsedItems[0].collapsedSeries)) {
|
||||
libraryItems = collapsedItems
|
||||
payload.total = libraryItems.length
|
||||
|
||||
// Get accurate total entities
|
||||
let uniqueEntities = new Set()
|
||||
libraryItems.forEach((item) => {
|
||||
if (item.collapsedSeries) {
|
||||
item.collapsedSeries.books.forEach(book => uniqueEntities.add(book.id))
|
||||
} else {
|
||||
uniqueEntities.add(item.id)
|
||||
}
|
||||
})
|
||||
payload.total = uniqueEntities.size
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -265,6 +275,12 @@ class LibraryController {
|
|||
libraryItems = naturalSort(libraryItems).by(sortArray)
|
||||
}
|
||||
|
||||
// Step 3.5: Limit items
|
||||
if (payload.limit) {
|
||||
var startIndex = payload.page * payload.limit
|
||||
libraryItems = libraryItems.slice(startIndex, startIndex + payload.limit)
|
||||
}
|
||||
|
||||
// Step 4 - Transform the items to pass to the client side
|
||||
payload.results = libraryItems.map(li => {
|
||||
let json = payload.minified ? li.toJSONMinified() : li.toJSON()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue