Add feed migration and cleanup

This commit is contained in:
advplyr 2023-07-05 18:18:37 -05:00
parent a4b0f6c202
commit a0bc959850
12 changed files with 138 additions and 34 deletions

View file

@ -29,7 +29,7 @@ class RssFeedManager {
}
} else if (feedObj.entityType === 'series') {
const series = Database.series.find(s => s.id === feedObj.entityId)
const hasSeriesBook = Database.libraryItems.some(li => li.mediaType === 'book' && li.media.metadata.hasSeries(series.id) && li.media.tracks.length)
const hasSeriesBook = series ? Database.libraryItems.some(li => li.mediaType === 'book' && li.media.metadata.hasSeries(series.id) && li.media.tracks.length) : false
if (!hasSeriesBook) {
Logger.error(`[RssFeedManager] Removing feed "${feedObj.id}". Series "${feedObj.entityId}" not found or has no audio tracks`)
return false
@ -42,16 +42,15 @@ class RssFeedManager {
}
async init() {
const feedObjects = Database.feeds
if (!feedObjects?.length) return
const feeds = Database.feeds
if (!feeds?.length) return
for (const feedObj of feedObjects) {
for (const feed of feeds) {
// Remove invalid feeds
if (!this.validateFeedEntity(feedObj)) {
await Database.removeFeed(feedObj.id)
if (!this.validateFeedEntity(feed)) {
await Database.removeFeed(feed.id)
}
const feed = new Feed(feedObj)
this.feeds[feed.id] = feed
Logger.info(`[RssFeedManager] Opened rss feed ${feed.feedUrl}`)
}