SEARCH-444

- Created an api to clear the user index data folder
This commit is contained in:
Keerthi Niranjan 2017-11-21 22:14:27 +05:30
parent f2f1eb2cd6
commit 9e6a7df281
4 changed files with 36 additions and 30 deletions

View File

@ -119,32 +119,6 @@ class Crypto {
});
});
}
/**
* Deleting the data index folder
* when the app is closed
*/
deleteFolders() {
Crypto.deleteFolderRecursive(this.dataFolder);
}
/**
* Removing all the folders and files inside the data folder
* @param location
*/
static deleteFolderRecursive(location) {
if (fs.existsSync(location)) {
fs.readdirSync(location).forEach((file) => {
let curPath = location + "/" + file;
if (fs.lstatSync(curPath).isDirectory()) {
Crypto.deleteFolderRecursive(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(location);
}
}
}
module.exports = Crypto;

View File

@ -18,8 +18,7 @@ const protocolHandler = require('./protocolHandler');
const getCmdLineArg = require('./utils/getCmdLineArg.js');
const log = require('./log.js');
const logLevels = require('./enums/logLevels.js');
const Crypto = require('./cryptoLib');
const crypto = new Crypto();
const { clearIndexFolder } = require('./search/search');
require('electron-dl')();
@ -132,7 +131,7 @@ app.on('activate', function() {
app.on('will-quit', function (e) {
e.preventDefault();
crypto.deleteFolders();
clearIndexFolder();
app.exit();
});

View File

@ -136,6 +136,11 @@ function createAPI() {
*/
Search: remote.require('./search/search.js').Search,
/**
* Function to clear the user index data
*/
clearIndexFolder: remote.require('./search/search.js').clearIndexFolder,
/**
* Brings window forward and gives focus.
* @param {String} windowName Name of window. Note: main window name is 'main'

View File

@ -513,6 +513,33 @@ class Search {
throw new Error(err);
}
}
/**
* Removing all the folders and files inside the data folder
* @param location
*/
static deleteFolderRecursive(location) {
if (fs.existsSync(location)) {
fs.readdirSync(location).forEach((file) => {
let curPath = location + "/" + file;
if (fs.lstatSync(curPath).isDirectory()) {
Search.deleteFolderRecursive(curPath);
} else {
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(location);
}
}
}
/**
* Deleting the data index folder
* when the app is closed
*/
function clearIndexFolder() {
Search.deleteFolderRecursive(INDEX_DATA_FOLDER);
}
/**
@ -520,5 +547,6 @@ class Search {
* @type {{Search: Search}}
*/
module.exports = {
Search: Search
Search: Search,
clearIndexFolder: clearIndexFolder
};