apps skeleton

This commit is contained in:
Jan Prochazka
2022-01-27 14:31:46 +01:00
parent 8e3d614fb8
commit 595c9424df
16 changed files with 506 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
const uuidv1 = require('uuid/v1');
const fs = require('fs-extra');
const path = require('path');
const { filesdir, archivedir, resolveArchiveFolder, uploadsdir } = require('../utility/directories');
const { filesdir, archivedir, resolveArchiveFolder, uploadsdir, appdir } = require('../utility/directories');
const getChartExport = require('../utility/getChartExport');
const hasPermission = require('../utility/hasPermission');
const socket = require('../utility/socket');
@@ -74,6 +74,11 @@ module.exports = {
encoding: 'utf-8',
});
return deserialize(format, text);
} else if (folder.startsWith('app:')) {
const text = await fs.readFile(path.join(appdir(), folder.substring('app:'.length), file), {
encoding: 'utf-8',
});
return deserialize(format, text);
} else {
if (!hasPermission(`files/${folder}/read`)) return null;
const text = await fs.readFile(path.join(filesdir(), folder, file), { encoding: 'utf-8' });
@@ -88,6 +93,10 @@ module.exports = {
await fs.writeFile(path.join(dir, file), serialize(format, data));
socket.emitChanged(`archive-files-changed-${folder.substring('archive:'.length)}`);
return true;
} else if (folder.startsWith('app:')) {
await fs.writeFile(path.join(appdir(), folder.substring('app:'.length), file), serialize(format, data));
socket.emitChanged(`app-files-changed-${folder.substring('app:'.length)}`);
return true;
} else {
if (!hasPermission(`files/${folder}/write`)) return false;
const dir = path.join(filesdir(), folder);