mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-06-26 04:32:13 +02:00
Fix:Updating RSS feeds with new episodes #2139
This commit is contained in:
parent
a446fc0f20
commit
fd0920c808
@ -191,6 +191,7 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
search() {},
|
||||||
inputUpdate() {
|
inputUpdate() {
|
||||||
clearTimeout(this.searchTimeout)
|
clearTimeout(this.searchTimeout)
|
||||||
this.searchTimeout = setTimeout(() => {
|
this.searchTimeout = setTimeout(() => {
|
||||||
|
@ -176,6 +176,8 @@ class Feed extends Model {
|
|||||||
if (!existingFeed) return false
|
if (!existingFeed) return false
|
||||||
|
|
||||||
let hasUpdates = false
|
let hasUpdates = false
|
||||||
|
|
||||||
|
// Remove and update existing feed episodes
|
||||||
for (const feedEpisode of existingFeed.feedEpisodes) {
|
for (const feedEpisode of existingFeed.feedEpisodes) {
|
||||||
const oldFeedEpisode = oldFeedEpisodes.find(ep => ep.id === feedEpisode.id)
|
const oldFeedEpisode = oldFeedEpisodes.find(ep => ep.id === feedEpisode.id)
|
||||||
// Episode removed
|
// Episode removed
|
||||||
@ -196,6 +198,14 @@ class Feed extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add new feed episodes
|
||||||
|
for (const episode of oldFeedEpisodes) {
|
||||||
|
if (!existingFeed.feedEpisodes.some(fe => fe.id === episode.id)) {
|
||||||
|
await this.sequelize.models.feedEpisode.createFromOld(feedObj.id, episode)
|
||||||
|
hasUpdates = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let feedHasUpdates = false
|
let feedHasUpdates = false
|
||||||
for (const key in feedObj) {
|
for (const key in feedObj) {
|
||||||
let existingValue = existingFeed[key]
|
let existingValue = existingFeed[key]
|
||||||
|
@ -63,6 +63,19 @@ class FeedEpisode extends Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create feed episode from old model
|
||||||
|
*
|
||||||
|
* @param {string} feedId
|
||||||
|
* @param {Object} oldFeedEpisode
|
||||||
|
* @returns {Promise<FeedEpisode>}
|
||||||
|
*/
|
||||||
|
static createFromOld(feedId, oldFeedEpisode) {
|
||||||
|
const newEpisode = this.getFromOld(oldFeedEpisode)
|
||||||
|
newEpisode.feedId = feedId
|
||||||
|
return this.create(newEpisode)
|
||||||
|
}
|
||||||
|
|
||||||
static getFromOld(oldFeedEpisode) {
|
static getFromOld(oldFeedEpisode) {
|
||||||
return {
|
return {
|
||||||
id: oldFeedEpisode.id,
|
id: oldFeedEpisode.id,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user