Adding support for 'minified' parameter when fetching a library's items

This commit is contained in:
r0adkll 2025-02-06 13:14:58 -05:00
parent 5e5a604d03
commit 668ae488c9
No known key found for this signature in database

View File

@ -286,11 +286,13 @@ class LibraryItem extends Model {
*/ */
static async getByFilterAndSort(library, user, options) { static async getByFilterAndSort(library, user, options) {
let start = Date.now() let start = Date.now()
const { minified } = options
const { libraryItems, count } = await libraryFilters.getFilteredLibraryItems(library.id, user, options) const { libraryItems, count } = await libraryFilters.getFilteredLibraryItems(library.id, user, options)
Logger.debug(`Loaded ${libraryItems.length} of ${count} items for libary page in ${((Date.now() - start) / 1000).toFixed(2)}s`) Logger.debug(`Loaded ${libraryItems.length} of ${count} items for libary page in ${((Date.now() - start) / 1000).toFixed(2)}s`)
return { let items = []
libraryItems: libraryItems.map((li) => { if (minified) {
items = libraryItems.map((li) => {
const oldLibraryItem = li.toOldJSONMinified() const oldLibraryItem = li.toOldJSONMinified()
if (li.collapsedSeries) { if (li.collapsedSeries) {
oldLibraryItem.collapsedSeries = li.collapsedSeries oldLibraryItem.collapsedSeries = li.collapsedSeries
@ -315,7 +317,38 @@ class LibraryItem extends Model {
} }
return oldLibraryItem return oldLibraryItem
}), })
} else {
items = libraryItems.map((li) => {
const oldLibraryItem = li.toOldJSONExpanded()
if (li.collapsedSeries) {
oldLibraryItem.collapsedSeries = li.collapsedSeries
}
if (li.series) {
oldLibraryItem.media.metadata.series = li.series
}
if (li.rssFeed) {
oldLibraryItem.rssFeed = li.rssFeed.toOldJSON()
}
if (li.media.numEpisodes) {
oldLibraryItem.media.numEpisodes = li.media.numEpisodes
}
if (li.size && !oldLibraryItem.media.size) {
oldLibraryItem.media.size = li.size
}
if (li.numEpisodesIncomplete) {
oldLibraryItem.numEpisodesIncomplete = li.numEpisodesIncomplete
}
if (li.mediaItemShare) {
oldLibraryItem.mediaItemShare = li.mediaItemShare
}
return oldLibraryItem
})
}
return {
libraryItems: items,
count count
} }
} }