From 550013a2e7bf99da868eb28d444fa4aaab1311dd Mon Sep 17 00:00:00 2001 From: Tzahi12345 Date: Fri, 8 May 2020 14:28:19 -0400 Subject: [PATCH] Config file is now created when missing and set with default values --- backend/config.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/backend/config.js b/backend/config.js index 71119cb..bda7c1a 100644 --- a/backend/config.js +++ b/backend/config.js @@ -10,6 +10,7 @@ function setLogger(input_logger) { logger = input_logger; } function initialize(input_logger) { setLogger(input_logger); + ensureConfigFileExists(); ensureConfigItemsExist(); } @@ -21,6 +22,13 @@ function ensureConfigItemsExist() { } } +function ensureConfigFileExists() { + if (!fs.existsSync(configPath)) { + logger.info('Cannot find config file. Creating one with default values...'); + fs.writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2)); + } +} + // https://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key Object.byString = function(o, s) { s = s.replace(/\[(\w+)\]/g, '.$1'); // convert indexes to properties @@ -62,8 +70,8 @@ function configExistsCheck() { * Gets config file and returns as a json */ function getConfigFile() { - let raw_data = fs.readFileSync(configPath); try { + let raw_data = fs.readFileSync(configPath); let parsed_data = JSON.parse(raw_data); return parsed_data; } catch(e) {