mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Remove unused old feed methods
This commit is contained in:
		
							parent
							
								
									f8fbd3ac8c
								
							
						
					
					
						commit
						de8a9304d2
					
				| @ -444,21 +444,6 @@ class Database { | |||||||
|     return updated |     return updated | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   async createFeed(oldFeed) { |  | ||||||
|     if (!this.sequelize) return false |  | ||||||
|     await this.models.feed.fullCreateFromOld(oldFeed) |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   updateFeed(oldFeed) { |  | ||||||
|     if (!this.sequelize) return false |  | ||||||
|     return this.models.feed.fullUpdateFromOld(oldFeed) |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   async removeFeed(feedId) { |  | ||||||
|     if (!this.sequelize) return false |  | ||||||
|     await this.models.feed.removeById(feedId) |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   async createBulkBookAuthors(bookAuthors) { |   async createBulkBookAuthors(bookAuthors) { | ||||||
|     if (!this.sequelize) return false |     if (!this.sequelize) return false | ||||||
|     await this.models.bookAuthor.bulkCreate(bookAuthors) |     await this.models.bookAuthor.bulkCreate(bookAuthors) | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| const Path = require('path') | const Path = require('path') | ||||||
| const { DataTypes, Model } = require('sequelize') | const { DataTypes, Model } = require('sequelize') | ||||||
| const oldFeed = require('../objects/Feed') | const oldFeed = require('../objects/Feed') | ||||||
| const areEquivalent = require('../utils/areEquivalent') |  | ||||||
| const Logger = require('../Logger') | const Logger = require('../Logger') | ||||||
| 
 | 
 | ||||||
| const RSS = require('../libs/rss') | const RSS = require('../libs/rss') | ||||||
| @ -143,20 +142,6 @@ class Feed extends Model { | |||||||
|     ) |     ) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   /** |  | ||||||
|    * Find all library item ids that have an open feed (used in library filter) |  | ||||||
|    * @returns {Promise<string[]>} array of library item ids |  | ||||||
|    */ |  | ||||||
|   static async findAllLibraryItemIds() { |  | ||||||
|     const feeds = await this.findAll({ |  | ||||||
|       attributes: ['entityId'], |  | ||||||
|       where: { |  | ||||||
|         entityType: 'libraryItem' |  | ||||||
|       } |  | ||||||
|     }) |  | ||||||
|     return feeds.map((f) => f.entityId).filter((f) => f) || [] |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /** |   /** | ||||||
|    * Find feed where and return oldFeed |    * Find feed where and return oldFeed | ||||||
|    * @param {Object} where sequelize where object |    * @param {Object} where sequelize where object | ||||||
| @ -174,103 +159,6 @@ class Feed extends Model { | |||||||
|     return this.getOldFeed(feedExpanded) |     return this.getOldFeed(feedExpanded) | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   static async fullCreateFromOld(oldFeed) { |  | ||||||
|     const feedObj = this.getFromOld(oldFeed) |  | ||||||
|     const newFeed = await this.create(feedObj) |  | ||||||
| 
 |  | ||||||
|     if (oldFeed.episodes?.length) { |  | ||||||
|       for (const oldFeedEpisode of oldFeed.episodes) { |  | ||||||
|         const feedEpisode = this.sequelize.models.feedEpisode.getFromOld(oldFeedEpisode) |  | ||||||
|         feedEpisode.feedId = newFeed.id |  | ||||||
|         await this.sequelize.models.feedEpisode.create(feedEpisode) |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   static async fullUpdateFromOld(oldFeed) { |  | ||||||
|     const oldFeedEpisodes = oldFeed.episodes || [] |  | ||||||
|     const feedObj = this.getFromOld(oldFeed) |  | ||||||
| 
 |  | ||||||
|     const existingFeed = await this.findByPk(feedObj.id, { |  | ||||||
|       include: this.sequelize.models.feedEpisode |  | ||||||
|     }) |  | ||||||
|     if (!existingFeed) return false |  | ||||||
| 
 |  | ||||||
|     let hasUpdates = false |  | ||||||
| 
 |  | ||||||
|     // Remove and update existing feed episodes
 |  | ||||||
|     for (const feedEpisode of existingFeed.feedEpisodes) { |  | ||||||
|       const oldFeedEpisode = oldFeedEpisodes.find((ep) => ep.id === feedEpisode.id) |  | ||||||
|       // Episode removed
 |  | ||||||
|       if (!oldFeedEpisode) { |  | ||||||
|         feedEpisode.destroy() |  | ||||||
|       } else { |  | ||||||
|         let episodeHasUpdates = false |  | ||||||
|         const oldFeedEpisodeCleaned = this.sequelize.models.feedEpisode.getFromOld(oldFeedEpisode) |  | ||||||
|         for (const key in oldFeedEpisodeCleaned) { |  | ||||||
|           if (!areEquivalent(oldFeedEpisodeCleaned[key], feedEpisode[key])) { |  | ||||||
|             episodeHasUpdates = true |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         if (episodeHasUpdates) { |  | ||||||
|           await feedEpisode.update(oldFeedEpisodeCleaned) |  | ||||||
|           hasUpdates = true |  | ||||||
|         } |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     // 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 |  | ||||||
|     for (const key in feedObj) { |  | ||||||
|       let existingValue = existingFeed[key] |  | ||||||
|       if (existingValue instanceof Date) existingValue = existingValue.valueOf() |  | ||||||
| 
 |  | ||||||
|       if (!areEquivalent(existingValue, feedObj[key])) { |  | ||||||
|         feedHasUpdates = true |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     if (feedHasUpdates) { |  | ||||||
|       await existingFeed.update(feedObj) |  | ||||||
|       hasUpdates = true |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     return hasUpdates |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   static getFromOld(oldFeed) { |  | ||||||
|     const oldFeedMeta = oldFeed.meta || {} |  | ||||||
|     return { |  | ||||||
|       id: oldFeed.id, |  | ||||||
|       slug: oldFeed.slug, |  | ||||||
|       entityType: oldFeed.entityType, |  | ||||||
|       entityId: oldFeed.entityId, |  | ||||||
|       entityUpdatedAt: oldFeed.entityUpdatedAt, |  | ||||||
|       serverAddress: oldFeed.serverAddress, |  | ||||||
|       feedURL: oldFeed.feedUrl, |  | ||||||
|       coverPath: oldFeed.coverPath || null, |  | ||||||
|       imageURL: oldFeedMeta.imageUrl, |  | ||||||
|       siteURL: oldFeedMeta.link, |  | ||||||
|       title: oldFeedMeta.title, |  | ||||||
|       description: oldFeedMeta.description, |  | ||||||
|       author: oldFeedMeta.author, |  | ||||||
|       podcastType: oldFeedMeta.type || null, |  | ||||||
|       language: oldFeedMeta.language || null, |  | ||||||
|       ownerName: oldFeedMeta.ownerName || null, |  | ||||||
|       ownerEmail: oldFeedMeta.ownerEmail || null, |  | ||||||
|       explicit: !!oldFeedMeta.explicit, |  | ||||||
|       preventIndexing: !!oldFeedMeta.preventIndexing, |  | ||||||
|       userId: oldFeed.userId |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /** |   /** | ||||||
|    * |    * | ||||||
|    * @param {string} userId |    * @param {string} userId | ||||||
|  | |||||||
| @ -47,39 +47,6 @@ class FeedEpisode extends Model { | |||||||
|     this.updatedAt |     this.updatedAt | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|   /** |  | ||||||
|    * 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) { |  | ||||||
|     return { |  | ||||||
|       id: oldFeedEpisode.id, |  | ||||||
|       title: oldFeedEpisode.title, |  | ||||||
|       author: oldFeedEpisode.author, |  | ||||||
|       description: oldFeedEpisode.description, |  | ||||||
|       siteURL: oldFeedEpisode.link, |  | ||||||
|       enclosureURL: oldFeedEpisode.enclosure?.url || null, |  | ||||||
|       enclosureType: oldFeedEpisode.enclosure?.type || null, |  | ||||||
|       enclosureSize: oldFeedEpisode.enclosure?.size || null, |  | ||||||
|       pubDate: oldFeedEpisode.pubDate, |  | ||||||
|       season: oldFeedEpisode.season || null, |  | ||||||
|       episode: oldFeedEpisode.episode || null, |  | ||||||
|       episodeType: oldFeedEpisode.episodeType || null, |  | ||||||
|       duration: oldFeedEpisode.duration, |  | ||||||
|       filePath: oldFeedEpisode.fullPath, |  | ||||||
|       explicit: !!oldFeedEpisode.explicit |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| 
 |  | ||||||
|   /** |   /** | ||||||
|    * |    * | ||||||
|    * @param {import('./LibraryItem').LibraryItemExpanded} libraryItemExpanded |    * @param {import('./LibraryItem').LibraryItemExpanded} libraryItemExpanded | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user