mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01: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: { | ||||
|     search() {}, | ||||
|     inputUpdate() { | ||||
|       clearTimeout(this.searchTimeout) | ||||
|       this.searchTimeout = setTimeout(() => { | ||||
|  | ||||
| @ -176,6 +176,8 @@ class Feed extends Model { | ||||
|     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
 | ||||
| @ -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 | ||||
|     for (const key in feedObj) { | ||||
|       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) { | ||||
|     return { | ||||
|       id: oldFeedEpisode.id, | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user