mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2024-12-20 19:06:06 +01:00
Update Podcast Episode add libraryItemId, expanded returns audioTrack object
This commit is contained in:
parent
6e5e638076
commit
ac3fa31d1e
@ -40,6 +40,7 @@ class PodcastManager {
|
||||
episodesToDownload.forEach((ep) => {
|
||||
var newPe = new PodcastEpisode()
|
||||
newPe.setData(ep, index++)
|
||||
newPe.libraryItemId = libraryItem.id
|
||||
var newPeDl = new PodcastEpisodeDownload()
|
||||
newPeDl.setData(newPe, libraryItem)
|
||||
this.startPodcastEpisodeDownload(newPeDl)
|
||||
|
@ -4,6 +4,7 @@ const AudioTrack = require('../files/AudioTrack')
|
||||
|
||||
class PodcastEpisode {
|
||||
constructor(episode) {
|
||||
this.libraryItemId = null
|
||||
this.id = null
|
||||
this.index = null
|
||||
|
||||
@ -26,6 +27,7 @@ class PodcastEpisode {
|
||||
}
|
||||
|
||||
construct(episode) {
|
||||
this.libraryItemId = episode.libraryItemId
|
||||
this.id = episode.id
|
||||
this.index = episode.index
|
||||
this.episode = episode.episode
|
||||
@ -43,6 +45,7 @@ class PodcastEpisode {
|
||||
|
||||
toJSON() {
|
||||
return {
|
||||
libraryItemId: this.libraryItemId,
|
||||
id: this.id,
|
||||
index: this.index,
|
||||
episode: this.episode,
|
||||
@ -61,6 +64,7 @@ class PodcastEpisode {
|
||||
|
||||
toJSONExpanded() {
|
||||
return {
|
||||
libraryItemId: this.libraryItemId,
|
||||
id: this.id,
|
||||
index: this.index,
|
||||
episode: this.episode,
|
||||
@ -71,6 +75,7 @@ class PodcastEpisode {
|
||||
enclosure: this.enclosure ? { ...this.enclosure } : null,
|
||||
pubDate: this.pubDate,
|
||||
audioFile: this.audioFile.toJSON(),
|
||||
audioTrack: this.audioTrack.toJSON(),
|
||||
publishedAt: this.publishedAt,
|
||||
addedAt: this.addedAt,
|
||||
updatedAt: this.updatedAt,
|
||||
@ -79,8 +84,13 @@ class PodcastEpisode {
|
||||
}
|
||||
}
|
||||
|
||||
get audioTrack() {
|
||||
var audioTrack = new AudioTrack()
|
||||
audioTrack.setData(this.libraryItemId, this.audioFile, 0)
|
||||
return audioTrack
|
||||
}
|
||||
get tracks() {
|
||||
return [this.audioFile]
|
||||
return [this.audioTrack]
|
||||
}
|
||||
get duration() {
|
||||
return this.audioFile.duration
|
||||
@ -135,10 +145,8 @@ class PodcastEpisode {
|
||||
return supportedMimeTypes.includes(this.audioFile.mimeType)
|
||||
}
|
||||
|
||||
getDirectPlayTracklist(libraryItemId) {
|
||||
var audioTrack = new AudioTrack()
|
||||
audioTrack.setData(libraryItemId, this.audioFile, 0)
|
||||
return [audioTrack]
|
||||
getDirectPlayTracklist() {
|
||||
return this.tracks
|
||||
}
|
||||
|
||||
checkEqualsEnclosureUrl(url) {
|
||||
|
@ -31,7 +31,11 @@ class Podcast {
|
||||
this.metadata = new PodcastMetadata(podcast.metadata)
|
||||
this.coverPath = podcast.coverPath
|
||||
this.tags = [...podcast.tags]
|
||||
this.episodes = podcast.episodes.map((e) => new PodcastEpisode(e))
|
||||
this.episodes = podcast.episodes.map((e) => {
|
||||
var podcastEpisode = new PodcastEpisode(e)
|
||||
podcastEpisode.libraryItemId = this.libraryItemId
|
||||
return podcastEpisode
|
||||
})
|
||||
this.autoDownloadEpisodes = !!podcast.autoDownloadEpisodes
|
||||
this.lastEpisodeCheck = podcast.lastEpisodeCheck || 0
|
||||
}
|
||||
@ -179,7 +183,7 @@ class Podcast {
|
||||
getDirectPlayTracklist(episodeId) {
|
||||
var episode = this.episodes.find(ep => ep.id === episodeId)
|
||||
if (!episode) return false
|
||||
return episode.getDirectPlayTracklist(this.libraryItemId)
|
||||
return episode.getDirectPlayTracklist()
|
||||
}
|
||||
|
||||
addPodcastEpisode(podcastEpisode) {
|
||||
@ -188,6 +192,7 @@ class Podcast {
|
||||
|
||||
addNewEpisodeFromAudioFile(audioFile, index) {
|
||||
var pe = new PodcastEpisode()
|
||||
pe.libraryItemId = this.libraryItemId
|
||||
pe.setDataFromAudioFile(audioFile, index)
|
||||
this.episodes.push(pe)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user