Fix library folder check if folder exists and if not then attempt to create folder and set permissions, fix library folder check for changes before saving

This commit is contained in:
advplyr 2022-04-20 17:49:34 -05:00
parent 1c6cd7499b
commit ff294867f8
2 changed files with 8 additions and 7 deletions

View File

@ -142,7 +142,7 @@ export default {
var updatePayload = {} var updatePayload = {}
for (const key in this.libraryCopy) { for (const key in this.libraryCopy) {
if (key === 'folders') { if (key === 'folders') {
if (this.libraryCopy.folders.join(',') !== this.library.folders.join(',')) { if (this.libraryCopy.folders.map((f) => f.fullPath).join(',') !== this.library.folders.map((f) => f.fullPath).join(',')) {
updatePayload.folders = [...this.libraryCopy.folders] updatePayload.folders = [...this.libraryCopy.folders]
} }
} else if (key === 'settings') { } else if (key === 'settings') {

View File

@ -26,15 +26,16 @@ class LibraryController {
return f return f
}) })
for (var folder of newLibraryPayload.folders) { for (var folder of newLibraryPayload.folders) {
var success = await fs.ensureDir(folder.fullPath).then(() => true).catch((error) => { try {
Logger.error(`[LibraryController] Failed to ensure folder dir "${folder.fullPath}"`, error) var direxists = await fs.pathExists(folder.fullPath)
return false if (!direxists) { // If folder does not exist try to make it and set file permissions/owner
}) await fs.mkdir(folder.fullPath)
if (!success) {
return res.status(400).send(`Invalid folder directory "${folder.fullPath}"`)
} else {
await filePerms.setDefault(folder.fullPath) await filePerms.setDefault(folder.fullPath)
} }
} catch (error) {
Logger.error(`[LibraryController] Failed to ensure folder dir "${folder.fullPath}"`, error)
return res.status(400).send(`Invalid folder directory "${folder.fullPath}"`)
}
} }
var library = new Library() var library = new Library()