mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-03-03 06:29:42 +00:00
Merge 1204936bf1 into 1d0b7e383a
This commit is contained in:
commit
972f69f273
3 changed files with 49 additions and 2 deletions
|
|
@ -770,7 +770,7 @@ class LibraryController {
|
|||
*
|
||||
* Optional includes (e.g. `?include=rssfeed,progress`)
|
||||
* rssfeed: adds `rssFeed` to series object if a feed is open
|
||||
* progress: adds `progress` to series object with { libraryItemIds:Array<llid>, libraryItemIdsFinished:Array<llid>, isFinished:boolean }
|
||||
* progress: adds `progress` to series object with { libraryItemIds:Array<llid>, libraryItemIdsFinished:Array<llid>, isFinished:boolean, totalDurationListened: number }
|
||||
*
|
||||
* @param {LibraryControllerRequest} req
|
||||
* @param {Response} res - Series
|
||||
|
|
@ -789,10 +789,15 @@ class LibraryController {
|
|||
const seriesJson = series.toOldJSON()
|
||||
if (include.includes('progress')) {
|
||||
const libraryItemsFinished = libraryItemsInSeries.filter((li) => !!req.user.getMediaProgress(li.media.id)?.isFinished)
|
||||
const totalListened = libraryItemsInSeries.reduce((acc, li) => {
|
||||
const p = req.user.getMediaProgress(li.media.id)
|
||||
return acc + (p?.isFinished ? (li.media.duration || 0) : (p?.currentTime || 0))
|
||||
}, 0)
|
||||
seriesJson.progress = {
|
||||
libraryItemIds: libraryItemsInSeries.map((li) => li.id),
|
||||
libraryItemIdsFinished: libraryItemsFinished.map((li) => li.id),
|
||||
isFinished: libraryItemsFinished.length >= libraryItemsInSeries.length
|
||||
isFinished: libraryItemsFinished.length >= libraryItemsInSeries.length,
|
||||
totalDurationListened: totalListened
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -801,6 +806,9 @@ class LibraryController {
|
|||
seriesJson.rssFeed = feedObj?.toOldJSONMinified() || null
|
||||
}
|
||||
|
||||
// populate total duration (same unit as libraryItem.duration)
|
||||
seriesJson.totalDuration = await Database.seriesModel.getTotalDurationById(series.id)
|
||||
|
||||
res.json(seriesJson)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue