diff --git a/packages/api/src/controllers/files.js b/packages/api/src/controllers/files.js index 225005bad..d71a67af8 100644 --- a/packages/api/src/controllers/files.js +++ b/packages/api/src/controllers/files.js @@ -86,8 +86,9 @@ module.exports = { const dir = resolveArchiveFolder(folder.substring('archive:'.length)); await fs.writeFile(path.join(dir, file), serialize(format, data)); socket.emitChanged(`archive-files-changed-${folder.substring('archive:'.length)}`); + return true; } else { - if (!hasPermission(`files/${folder}/write`)) return; + if (!hasPermission(`files/${folder}/write`)) return false; const dir = path.join(filesdir(), folder); if (!(await fs.exists(dir))) { await fs.mkdir(dir); @@ -98,6 +99,7 @@ module.exports = { if (folder == 'shell') { scheduler.reload(); } + return true; } }, diff --git a/packages/web/src/appobj/SavedFileAppObject.svelte b/packages/web/src/appobj/SavedFileAppObject.svelte index 4f2e561fc..e7321334c 100644 --- a/packages/web/src/appobj/SavedFileAppObject.svelte +++ b/packages/web/src/appobj/SavedFileAppObject.svelte @@ -55,6 +55,14 @@ currentConnection: true, }; + const diagrams: FileTypeHandler = { + icon: 'img diagram', + format: 'json', + tabComponent: 'DiagramTab', + folder: 'diagrams', + currentConnection: true, + }; + const HANDLERS = { sql, shell, @@ -62,6 +70,7 @@ charts, query, sqlite, + diagrams, }; export const extractKey = data => data.file; @@ -74,7 +83,7 @@ import { showModal } from '../modals/modalTools'; import { currentDatabase } from '../stores'; -import { apiCall } from '../utility/api'; + import { apiCall } from '../utility/api'; import getConnectionLabel from '../utility/getConnectionLabel'; import hasPermission from '../utility/hasPermission'; diff --git a/packages/web/src/widgets/SavedFilesList.svelte b/packages/web/src/widgets/SavedFilesList.svelte index fc9fecbcd..4920441eb 100644 --- a/packages/web/src/widgets/SavedFilesList.svelte +++ b/packages/web/src/widgets/SavedFilesList.svelte @@ -1,10 +1,8 @@