X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FConfiguration.ts;h=8e3675b1a6e71c8c6e3e274dd719784aed23a47c;hb=720c5e723bf47e74028b43abf63328820d033357;hp=bf25445c00136eefcb85ed2e11acdf9e660f410c;hpb=9ab62ed05a70a1feda05803f085a449ce35a4f14;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/Configuration.ts b/src/utils/Configuration.ts index bf25445c..8e3675b1 100644 --- a/src/utils/Configuration.ts +++ b/src/utils/Configuration.ts @@ -37,12 +37,14 @@ export default class Configuration { if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'uiWebSocketServer')) { if (Configuration.objectHasOwnProperty(Configuration.getConfig().uiWebSocketServer, 'options')) { options = { + ...options, ...Configuration.objectHasOwnProperty(Configuration.getConfig().uiWebSocketServer.options, 'host') && { host: Configuration.getConfig().uiWebSocketServer.options.host }, ...Configuration.objectHasOwnProperty(Configuration.getConfig().uiWebSocketServer.options, 'port') && { port: Configuration.getConfig().uiWebSocketServer.options.port } }; } uiWebSocketServerConfiguration = { + ...uiWebSocketServerConfiguration, ...Configuration.objectHasOwnProperty(Configuration.getConfig().uiWebSocketServer, 'enabled') && { enabled: Configuration.getConfig().uiWebSocketServer.enabled }, options }; @@ -60,13 +62,10 @@ export default class Configuration { if (Configuration.objectHasOwnProperty(Configuration.getConfig(), 'performanceStorage')) { storageConfiguration = { + ...storageConfiguration, ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'enabled') && { enabled: Configuration.getConfig().performanceStorage.enabled }, - ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'type') - ? { type: Configuration.getConfig().performanceStorage.type } - : { type: StorageType.JSON_FILE }, - ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'uri') - ? { uri: Configuration.getConfig().performanceStorage.uri } - : { uri: this.getDefaultPerformanceStorageUri(Configuration.getConfig()?.performanceStorage?.type ?? StorageType.JSON_FILE) } + ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'type') && { type: Configuration.getConfig().performanceStorage.type }, + ...Configuration.objectHasOwnProperty(Configuration.getConfig().performanceStorage, 'uri') && { uri: this.getDefaultPerformanceStorageUri(Configuration.getConfig()?.performanceStorage?.type ?? StorageType.JSON_FILE) } }; } return storageConfiguration; @@ -192,17 +191,19 @@ export default class Configuration { private static getConfigurationFileWatcher(): fs.FSWatcher { try { - return fs.watch(Configuration.configurationFilePath, async (event, filename): Promise => { + return fs.watch(Configuration.configurationFilePath, (event, filename): void => { if (filename && event === 'change') { // Nullify to force configuration file reading Configuration.configuration = null; if (!Configuration.isUndefined(Configuration.configurationChangeCallback)) { - await Configuration.configurationChangeCallback(); + Configuration.configurationChangeCallback().catch((error) => { + throw typeof error === 'string' ? new Error(error) : error; + }); } } }); } catch (error) { - Configuration.handleFileException(Configuration.logPrefix(), 'Configuration', Configuration.configurationFilePath, error); + Configuration.handleFileException(Configuration.logPrefix(), 'Configuration', Configuration.configurationFilePath, error as Error); } }