Fix:Save library updating name only #350

This commit is contained in:
advplyr 2022-02-03 16:39:05 -06:00
parent 964cba0491
commit 663ab2db90
2 changed files with 8 additions and 3 deletions

View File

@ -51,13 +51,15 @@ class LibraryController {
async update(req, res) {
var library = req.library
var hasUpdates = library.update(req.body)
// TODO: Should check if this is an update to folder paths or name only
if (hasUpdates) {
// Update watcher
this.watcher.updateLibrary(library)
// Remove audiobooks no longer in library
var audiobooksToRemove = this.db.audiobooks.filter(ab => !library.checkFullPathInLibrary(ab.fullPath))
var audiobooksToRemove = this.db.audiobooks.filter(ab => ab.libraryId === library.id && !library.checkFullPathInLibrary(ab.fullPath))
if (audiobooksToRemove.length) {
Logger.info(`[Scanner] Updating library, removing ${audiobooksToRemove.length} audiobooks`)
for (let i = 0; i < audiobooksToRemove.length; i++) {

View File

@ -97,7 +97,9 @@ class Library {
})
}
hasUpdates = newFolders.length || removedFolders.length
if (newFolders.length || removedFolders.length) {
hasUpdates = true
}
}
if (hasUpdates) {
this.lastUpdate = Date.now()
@ -106,7 +108,8 @@ class Library {
}
checkFullPathInLibrary(fullPath) {
return this.folders.find(folder => fullPath.startsWith(folder.fullPath))
fullPath = fullPath.replace(/\\/g, '/')
return this.folders.find(folder => fullPath.startsWith(folder.fullPath.replace(/\\/g, '/')))
}
getFolderById(id) {