services: separate volume clear and rm
This commit is contained in:
+5
-4
@@ -74,7 +74,8 @@ const NOOP = async function (/*app, options*/) {};
|
||||
const RMADDONDIR_CMD = path.join(__dirname, 'scripts/rmaddondir.sh');
|
||||
const RESTART_SERVICE_CMD = path.join(__dirname, 'scripts/restartservice.sh');
|
||||
const CLEARVOLUME_CMD = path.join(__dirname, 'scripts/clearvolume.sh');
|
||||
const MKDIRVOLUME_CMD = path.join(__dirname, 'scripts/mkdirvolume.sh');
|
||||
const RMVOLUME_CMD = path.join(__dirname, 'scripts/rmvolume.sh');
|
||||
const SETUPVOLUME_CMD = path.join(__dirname, 'scripts/setupvolume.sh');
|
||||
|
||||
// setup can be called multiple times for the same app (configure crash restart) and existing data must not be lost
|
||||
// teardown is destructive. app data stored with the addon is lost
|
||||
@@ -879,7 +880,7 @@ async function setupLocalStorage(app, options) {
|
||||
|
||||
const volumeDataDir = await apps.getStorageDir(app);
|
||||
|
||||
const [error] = await safe(shell.promises.sudo([ MKDIRVOLUME_CMD, volumeDataDir ], {}));
|
||||
const [error] = await safe(shell.promises.sudo([ SETUPVOLUME_CMD, volumeDataDir ], {}));
|
||||
if (error) throw new BoxError(BoxError.FS_ERROR, `Error creating app storage data dir: ${error.message}`);
|
||||
}
|
||||
|
||||
@@ -890,7 +891,7 @@ async function clearLocalStorage(app, options) {
|
||||
debug('clearLocalStorage');
|
||||
|
||||
const volumeDataDir = await apps.getStorageDir(app);
|
||||
const [error] = await safe(shell.promises.sudo([ CLEARVOLUME_CMD, 'clear', volumeDataDir ], {}));
|
||||
const [error] = await safe(shell.promises.sudo([ CLEARVOLUME_CMD, volumeDataDir ], {}));
|
||||
if (error) throw new BoxError(BoxError.FS_ERROR, error);
|
||||
}
|
||||
|
||||
@@ -901,7 +902,7 @@ async function teardownLocalStorage(app, options) {
|
||||
debug('teardownLocalStorage');
|
||||
|
||||
const volumeDataDir = await apps.getStorageDir(app);
|
||||
const [error] = await safe(shell.promises.sudo([ CLEARVOLUME_CMD, 'rmdir', volumeDataDir ], {}));
|
||||
const [error] = await safe(shell.promises.sudo([ RMVOLUME_CMD, volumeDataDir ], {}));
|
||||
if (error) throw new BoxError(BoxError.FS_ERROR, error);
|
||||
|
||||
// sqlite files are automatically cleared
|
||||
|
||||
Reference in New Issue
Block a user