Fix:Update library item RSS feed if item was updated #939

This commit is contained in:
advplyr 2022-08-28 15:41:51 -05:00
parent 40e999fcae
commit 575ec9d00b
2 changed files with 45 additions and 1 deletions

View file

@ -30,7 +30,7 @@ class RssFeedManager {
return Object.values(this.feeds).find(feed => feed.entityId === libraryItemId)
}
getFeed(req, res) {
async getFeed(req, res) {
var feed = this.feeds[req.params.id]
if (!feed) {
Logger.error(`[RssFeedManager] Feed not found ${req.params.id}`)
@ -38,6 +38,15 @@ class RssFeedManager {
return
}
if (feed.entityType === 'item') {
const libraryItem = this.db.getLibraryItem(feed.entityId)
if (libraryItem && (!feed.entityUpdatedAt || libraryItem.updatedAt > feed.entityUpdatedAt)) {
Logger.debug(`[RssFeedManager] Updating RSS feed for item ${libraryItem.id} "${libraryItem.media.metadata.title}"`)
feed.updateFromItem(libraryItem)
await this.db.updateEntity('feed', feed)
}
}
var xml = feed.buildXml()
res.set('Content-Type', 'text/xml')
res.send(xml)