feat: add large-library browse response contract

This commit is contained in:
Jonathan Finley 2026-03-13 21:27:27 -04:00
parent 6b7550c25b
commit 3579341f6c
4 changed files with 146 additions and 6 deletions

View file

@ -22,7 +22,7 @@ module.exports = {
* @returns {Promise<{ libraryItems:import('../../models/LibraryItem')[], count:number }>}
*/
async getFilteredLibraryItems(libraryId, user, options) {
const { filterBy, sortBy, sortDesc, limit, offset, collapseseries, include, mediaType } = options
const { filterBy, sortBy, sortDesc, limit, offset, collapseseries, include, mediaType, cursor, pageMode } = options
let filterValue = null
let filterGroup = null
@ -34,9 +34,17 @@ module.exports = {
}
if (mediaType === 'book') {
return libraryItemsBookFilters.getFilteredLibraryItems(libraryId, user, filterGroup, filterValue, sortBy, sortDesc, collapseseries, include, limit, offset)
return libraryItemsBookFilters.getFilteredLibraryItems(libraryId, user, filterGroup, filterValue, sortBy, sortDesc, collapseseries, include, limit, offset, false, {
cursor: cursor || null,
pageMode: pageMode || 'paged',
collapseseries
})
} else {
return libraryItemsPodcastFilters.getFilteredLibraryItems(libraryId, user, filterGroup, filterValue, sortBy, sortDesc, include, limit, offset)
return libraryItemsPodcastFilters.getFilteredLibraryItems(libraryId, user, filterGroup, filterValue, sortBy, sortDesc, include, limit, offset, {
cursor: cursor || null,
pageMode: pageMode || 'paged',
collapseseries
})
}
},