From c6e2e18430e3eef7ec545704dded359d9c706683 Mon Sep 17 00:00:00 2001 From: Danny Qiu Date: Fri, 29 Dec 2017 01:33:22 -0500 Subject: Delete session partition with service --- src/api/server/ServerApi.js | 6 +++++- src/helpers/service-helpers.js | 19 +++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/helpers/service-helpers.js diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index 8b3136d27..3daa2d8b6 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js @@ -22,6 +22,10 @@ import { loadRecipeConfig, } from '../../helpers/recipe-helpers'; +import { + removeServicePartitionDirectory, +} from '../../helpers/service-helpers.js'; + module.paths.unshift( getDevRecipeDirectory(), getRecipeDirectory(), @@ -209,7 +213,7 @@ export default class ServerApi { throw request; } const data = await request.json(); - + await removeServicePartitionDirectory(id); console.debug('ServerApi::deleteService resolves', data); return data; } diff --git a/src/helpers/service-helpers.js b/src/helpers/service-helpers.js new file mode 100644 index 000000000..eb804103e --- /dev/null +++ b/src/helpers/service-helpers.js @@ -0,0 +1,19 @@ +import path from 'path'; +import { remote } from 'electron'; +import fs from 'fs-extra'; + +const app = remote.app; + +function getServicePartitionsDirectory() { + return path.join(app.getPath('userData'), 'Partitions'); +} + +export function removeServicePartitionDirectory(id = '') { + const servicePartition = path.join(getServicePartitionsDirectory(), `service-${id}`); + return fs.remove(servicePartition); +} + +export async function getServiceIdsFromPartitions() { + const files = await fs.readdir(getServicePartitionsDirectory()); + return files.map(filename => filename.replace('service-', '')); +} -- cgit v1.2.3-70-g09d2