From be801ff55d765e519f58a34d9854fb464a1ff77e Mon Sep 17 00:00:00 2001 From: Stefan Malzner Date: Wed, 3 Jan 2018 23:46:54 +0100 Subject: feat(App): Add option to clear app cache (@dannyqiu) --- src/api/LocalApi.js | 4 ++++ src/api/server/LocalApi.js | 24 +++++++++++++++++++++--- src/api/server/ServerApi.js | 4 +++- 3 files changed, 28 insertions(+), 4 deletions(-) (limited to 'src/api') diff --git a/src/api/LocalApi.js b/src/api/LocalApi.js index d52e9cd10..3f84f8a0b 100644 --- a/src/api/LocalApi.js +++ b/src/api/LocalApi.js @@ -16,6 +16,10 @@ export default class LocalApi { return this.local.removeKey(key); } + getAppCacheSize() { + return this.local.getAppCacheSize(); + } + clearAppCache() { return this.local.clearAppCache(); } diff --git a/src/api/server/LocalApi.js b/src/api/server/LocalApi.js index d2ce0c9de..e95d750ac 100644 --- a/src/api/server/LocalApi.js +++ b/src/api/server/LocalApi.js @@ -1,4 +1,7 @@ import { remote } from 'electron'; +import du from 'du'; + +import { getServicePartitionsDirectory } from '../../helpers/service-helpers.js'; const { session } = remote; @@ -36,14 +39,29 @@ export default class LocalApi { } // Services + async getAppCacheSize() { + const partitionsDir = getServicePartitionsDirectory(); + return new Promise((resolve, reject) => { + du(partitionsDir, (err, size) => { + if (err) reject(err); + + console.debug('LocalApi::getAppCacheSize resolves', size); + resolve(size); + }); + }); + } + async clearCache(serviceId) { - console.debug(`Clearing cache for persist:service-${serviceId}`); const s = session.fromPartition(`persist:service-${serviceId}`); - await new Promise(resolve => s.clearCache(resolve)); + + console.debug('LocalApi::clearCache resolves', serviceId); + return new Promise(resolve => s.clearCache(resolve)); } async clearAppCache() { const s = session.defaultSession; - await new Promise(resolve => s.clearCache(resolve)); + + console.debug('LocalApi::clearCache clearAppCache'); + return new Promise(resolve => s.clearCache(resolve)); } } diff --git a/src/api/server/ServerApi.js b/src/api/server/ServerApi.js index 3daa2d8b6..d75d2e559 100644 --- a/src/api/server/ServerApi.js +++ b/src/api/server/ServerApi.js @@ -213,7 +213,9 @@ export default class ServerApi { throw request; } const data = await request.json(); - await removeServicePartitionDirectory(id); + + removeServicePartitionDirectory(id, true); + console.debug('ServerApi::deleteService resolves', data); return data; } -- cgit v1.2.3-54-g00ecf