From 668ae488c9da7e21bacd4cf4960ca27387575126 Mon Sep 17 00:00:00 2001 From: r0adkll Date: Thu, 6 Feb 2025 13:14:58 -0500 Subject: [PATCH] Adding support for 'minified' parameter when fetching a library's items --- server/models/LibraryItem.js | 39 +++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/server/models/LibraryItem.js b/server/models/LibraryItem.js index 3ed4e31e..3572c7b9 100644 --- a/server/models/LibraryItem.js +++ b/server/models/LibraryItem.js @@ -286,11 +286,13 @@ class LibraryItem extends Model { */ static async getByFilterAndSort(library, user, options) { let start = Date.now() + const { minified } = 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`) - return { - libraryItems: libraryItems.map((li) => { + let items = [] + if (minified) { + items = libraryItems.map((li) => { const oldLibraryItem = li.toOldJSONMinified() if (li.collapsedSeries) { oldLibraryItem.collapsedSeries = li.collapsedSeries @@ -315,7 +317,38 @@ class LibraryItem extends Model { } 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 } }