mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2025-07-24 04:44:57 +02:00
Fix:Save metadata files when updating library items #1952
This commit is contained in:
parent
22323f606d
commit
80aea0c82d
3 changed files with 13 additions and 34 deletions
|
@ -105,7 +105,6 @@ class Server {
|
|||
}
|
||||
|
||||
await this.cleanUserData() // Remove invalid user item progress
|
||||
await this.purgeMetadata() // Remove metadata folders without library item
|
||||
await this.cacheManager.ensureCachePaths()
|
||||
|
||||
await this.backupManager.init()
|
||||
|
@ -243,36 +242,6 @@ class Server {
|
|||
await this.scanner.scanFilesChanged(fileUpdates)
|
||||
}
|
||||
|
||||
// Remove unused /metadata/items/{id} folders
|
||||
async purgeMetadata() {
|
||||
const itemsMetadata = Path.join(global.MetadataPath, 'items')
|
||||
if (!(await fs.pathExists(itemsMetadata))) return
|
||||
const foldersInItemsMetadata = await fs.readdir(itemsMetadata)
|
||||
|
||||
let purged = 0
|
||||
await Promise.all(foldersInItemsMetadata.map(async foldername => {
|
||||
const itemFullPath = fileUtils.filePathToPOSIX(Path.join(itemsMetadata, foldername))
|
||||
|
||||
const hasMatchingItem = Database.libraryItems.find(li => {
|
||||
if (!li.media.coverPath) return false
|
||||
return itemFullPath === fileUtils.filePathToPOSIX(Path.dirname(li.media.coverPath))
|
||||
})
|
||||
if (!hasMatchingItem) {
|
||||
Logger.debug(`[Server] Purging unused metadata ${itemFullPath}`)
|
||||
|
||||
await fs.remove(itemFullPath).then(() => {
|
||||
purged++
|
||||
}).catch((err) => {
|
||||
Logger.error(`[Server] Failed to delete folder path ${itemFullPath}`, err)
|
||||
})
|
||||
}
|
||||
}))
|
||||
if (purged > 0) {
|
||||
Logger.info(`[Server] Purged ${purged} unused library item metadata`)
|
||||
}
|
||||
return purged
|
||||
}
|
||||
|
||||
// Remove user media progress with items that no longer exist & remove seriesHideFrom that no longer exist
|
||||
async cleanUserData() {
|
||||
for (const _user of Database.users) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue