mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-12-22 19:59:37 +00:00
Update PlaybackSession to use new library item model
This commit is contained in:
parent
d205c6f734
commit
c251f1899d
16 changed files with 284 additions and 193 deletions
|
|
@ -135,23 +135,28 @@ class PodcastEpisode extends Model {
|
|||
PodcastEpisode.belongsTo(podcast)
|
||||
}
|
||||
|
||||
get size() {
|
||||
return this.audioFile?.metadata.size || 0
|
||||
}
|
||||
|
||||
get duration() {
|
||||
return this.audioFile?.duration || 0
|
||||
}
|
||||
|
||||
/**
|
||||
* AudioTrack object used in old model
|
||||
* Used in client players
|
||||
*
|
||||
* @returns {import('./Book').AudioFileObject|null}
|
||||
* @param {string} libraryItemId
|
||||
* @returns {import('./Book').AudioTrack}
|
||||
*/
|
||||
get track() {
|
||||
if (!this.audioFile) return null
|
||||
getAudioTrack(libraryItemId) {
|
||||
const track = structuredClone(this.audioFile)
|
||||
track.startOffset = 0
|
||||
track.title = this.audioFile.metadata.title
|
||||
track.contentUrl = `${global.RouterBasePath}/api/items/${libraryItemId}/file/${track.ino}`
|
||||
return track
|
||||
}
|
||||
|
||||
get size() {
|
||||
return this.audioFile?.metadata.size || 0
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} libraryItemId
|
||||
* @returns {oldPodcastEpisode}
|
||||
|
|
@ -228,9 +233,9 @@ class PodcastEpisode extends Model {
|
|||
toOldJSONExpanded(libraryItemId) {
|
||||
const json = this.toOldJSON(libraryItemId)
|
||||
|
||||
json.audioTrack = this.track
|
||||
json.audioTrack = this.getAudioTrack(libraryItemId)
|
||||
json.size = this.size
|
||||
json.duration = this.audioFile?.duration || 0
|
||||
json.duration = this.duration
|
||||
|
||||
return json
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue