mirror of
				https://github.com/advplyr/audiobookshelf.git
				synced 2025-10-27 11:18:14 +01:00 
			
		
		
		
	Update functions for #2724 and add jsdocs
This commit is contained in:
		
							parent
							
								
									ae0a9bcf86
								
							
						
					
					
						commit
						c14f9accaf
					
				| @ -689,18 +689,32 @@ class Database { | ||||
|     return this.libraryFilterData[libraryId].series.some(se => se.id === seriesId) | ||||
|   } | ||||
| 
 | ||||
|   async getAuthorByName(libraryId, authorName) { | ||||
|   /** | ||||
|    * Get author id for library by name. Uses library filter data if available | ||||
|    *  | ||||
|    * @param {string} libraryId  | ||||
|    * @param {string} authorName  | ||||
|    * @returns {Promise<string>} author id or null if not found  | ||||
|    */ | ||||
|   async getAuthorIdByName(libraryId, authorName) { | ||||
|     if (!this.libraryFilterData[libraryId]) { | ||||
|       return await this.authorModel.getOldByNameAndLibrary(authorName, libraryId) | ||||
|       return (await this.authorModel.getOldByNameAndLibrary(authorName, libraryId))?.id || null | ||||
|     } | ||||
|     return this.libraryFilterData[libraryId].authors.find(au => au.name === authorName) | ||||
|     return this.libraryFilterData[libraryId].authors.find(au => au.name === authorName)?.id || null | ||||
|   } | ||||
| 
 | ||||
|   async getSeriesByName(libraryId, seriesName) { | ||||
|   /** | ||||
|    * Get series id for library by name. Uses library filter data if available | ||||
|    *  | ||||
|    * @param {string} libraryId  | ||||
|    * @param {string} seriesName  | ||||
|    * @returns {Promise<string>} series id or null if not found | ||||
|    */ | ||||
|   async getSeriesIdByName(libraryId, seriesName) { | ||||
|     if (!this.libraryFilterData[libraryId]) { | ||||
|       return await this.seriesModel.getOldByNameAndLibrary(seriesName, libraryId) | ||||
|       return (await this.seriesModel.getOldByNameAndLibrary(seriesName, libraryId))?.id || null | ||||
|     } | ||||
|     return this.libraryFilterData[libraryId].series.find(se => se.name === seriesName) | ||||
|     return this.libraryFilterData[libraryId].series.find(se => se.name === seriesName)?.id || null | ||||
|   } | ||||
| 
 | ||||
|   /** | ||||
|  | ||||
| @ -186,11 +186,11 @@ class BookScanner { | ||||
|         // Check for authors added
 | ||||
|         for (const authorName of bookMetadata.authors) { | ||||
|           if (!media.authors.some(au => au.name === authorName)) { | ||||
|             const existingAuthor = await Database.getAuthorByName(libraryItemData.libraryId, authorName) | ||||
|             if (existingAuthor) { | ||||
|             const existingAuthorId = await Database.getAuthorIdByName(libraryItemData.libraryId, authorName) | ||||
|             if (existingAuthorId) { | ||||
|               await Database.bookAuthorModel.create({ | ||||
|                 bookId: media.id, | ||||
|                 authorId: existingAuthor.id | ||||
|                 authorId: existingAuthorId | ||||
|               }) | ||||
|               libraryScan.addLog(LogLevel.DEBUG, `Updating book "${bookMetadata.title}" added author "${authorName}"`) | ||||
|               authorsUpdated = true | ||||
| @ -221,11 +221,11 @@ class BookScanner { | ||||
|         for (const seriesObj of bookMetadata.series) { | ||||
|           const existingBookSeries = media.series.find(se => se.name === seriesObj.name) | ||||
|           if (!existingBookSeries) { | ||||
|             const existingSeries = await Database.getSeriesByName(libraryItemData.libraryId, seriesObj.name) | ||||
|             if (existingSeries) { | ||||
|             const existingSeriesId = await Database.getSeriesIdByName(libraryItemData.libraryId, seriesObj.name) | ||||
|             if (existingSeriesId) { | ||||
|               await Database.bookSeriesModel.create({ | ||||
|                 bookId: media.id, | ||||
|                 seriesId: existingSeries.id, | ||||
|                 seriesId: existingSeriesId, | ||||
|                 sequence: seriesObj.sequence | ||||
|               }) | ||||
|               libraryScan.addLog(LogLevel.DEBUG, `Updating book "${bookMetadata.title}" added series "${seriesObj.name}"${seriesObj.sequence ? ` with sequence "${seriesObj.sequence}"` : ''}`) | ||||
| @ -443,10 +443,10 @@ class BookScanner { | ||||
|     } | ||||
|     if (bookMetadata.authors.length) { | ||||
|       for (const authorName of bookMetadata.authors) { | ||||
|         const matchingAuthor = await Database.getAuthorByName(libraryItemData.libraryId, authorName) | ||||
|         if (matchingAuthor) { | ||||
|         const matchingAuthorId = await Database.getAuthorIdByName(libraryItemData.libraryId, authorName) | ||||
|         if (matchingAuthorId) { | ||||
|           bookObject.bookAuthors.push({ | ||||
|             authorId: matchingAuthor.id | ||||
|             authorId: matchingAuthorId | ||||
|           }) | ||||
|         } else { | ||||
|           // New author
 | ||||
| @ -463,10 +463,10 @@ class BookScanner { | ||||
|     if (bookMetadata.series.length) { | ||||
|       for (const seriesObj of bookMetadata.series) { | ||||
|         if (!seriesObj.name) continue | ||||
|         const matchingSeries = await Database.getSeriesByName(libraryItemData.libraryId, seriesObj.name) | ||||
|         if (matchingSeries) { | ||||
|         const matchingSeriesId = await Database.getSeriesIdByName(libraryItemData.libraryId, seriesObj.name) | ||||
|         if (matchingSeriesId) { | ||||
|           bookObject.bookSeries.push({ | ||||
|             seriesId: matchingSeries.id, | ||||
|             seriesId: matchingSeriesId, | ||||
|             sequence: seriesObj.sequence | ||||
|           }) | ||||
|         } else { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user