Merge branch 'SEARCH-444' into SEARCH-440

This commit is contained in:
Keerthi Niranjan 2017-11-28 15:22:32 +05:30
commit 0ba1fd3cf5
5 changed files with 42 additions and 30 deletions

View File

@ -116,32 +116,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 { deleteIndexFolder } = require('./search/search.js');
require('electron-dl')();
@ -132,7 +131,7 @@ app.on('activate', function() {
app.on('will-quit', function (e) {
e.preventDefault();
crypto.deleteFolders();
deleteIndexFolder();
app.exit();
});

View File

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

View File

@ -492,6 +492,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/signed-out/navigates
*/
function deleteIndexFolder() {
Search.deleteFolderRecursive(INDEX_DATA_FOLDER);
}
/**
@ -499,5 +526,6 @@ class Search {
* @type {{Search: Search}}
*/
module.exports = {
Search: Search
Search: Search,
deleteIndexFolder: deleteIndexFolder
};

View File

@ -20,6 +20,7 @@ const eventEmitter = require('./eventEmitter');
const throttle = require('./utils/throttle.js');
const { getConfigField, updateConfigField } = require('./config.js');
const { isMac, isNodeEnv } = require('./utils/misc');
const { deleteIndexFolder } = require('./search/search.js');
// show dialog when certificate errors occur
require('./dialogs/showCertError.js');
@ -256,6 +257,11 @@ function doCreateMainWindow(initialUrl, initialBounds) {
});
});
// To delete the user index data folder on navigation
mainWindow.webContents.on('will-navigate', () => {
deleteIndexFolder();
});
getConfigField('url')
.then(initializeCrashReporter)
.catch(app.quit);