Make the station worker self contained.
[e-mobility-charging-stations-simulator.git] / src / utils / Configuration.js
1 const fs = require('fs');
2 const Utils = require('./Utils');
3
4 class Configuration {
5 static configurationFile;
6
7 // Read the config file
8 static getConfig() {
9 if (!Configuration.configurationFile) {
10 Configuration.configurationFile = JSON.parse(fs.readFileSync('./src/assets/config.json', 'utf8'));
11 }
12 return Configuration.configurationFile;
13 }
14
15 static getStatisticsDisplayInterval() {
16 // Read conf
17 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'statisticsDisplayInterval') ? Configuration.getConfig().statisticsDisplayInterval : 60;
18 }
19
20 static getAutoReconnectTimeout() {
21 // Read conf
22 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'autoReconnectTimeout') ? Configuration.getConfig().autoReconnectTimeout : 10;
23 }
24
25 static getAutoReconnectMaxRetries() {
26 // Read conf
27 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'autoReconnectMaxRetries') ? Configuration.getConfig().autoReconnectMaxRetries : -1;
28 }
29
30 static getStationTemplateURLs() {
31 // Read conf
32 return Configuration.getConfig().stationTemplateURLs;
33 }
34
35 static useWorkerPool() {
36 return Configuration.getConfig().useWorkerPool;
37 }
38
39 static getWorkerPoolSize() {
40 return Configuration.getConfig().workerPoolSize;
41 }
42
43 static getConsoleLog() {
44 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'consoleLog') ? Configuration.getConfig().consoleLog : false;
45 }
46
47 static getLogLevel() {
48 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logLevel') ? Configuration.getConfig().logLevel : 'info';
49 }
50
51 static getLogFile() {
52 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logFile') ? Configuration.getConfig().logFile : 'combined.log';
53 }
54
55 static getErrorFile() {
56 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'errorFile') ? Configuration.getConfig().errorFile : 'error.log';
57 }
58
59 static getSupervisionURLs() {
60 // Read conf
61 return Configuration.getConfig().supervisionURLs;
62 }
63
64 static getDistributeStationToTenantEqually() {
65 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'distributeStationToTenantEqually') ? Configuration.getConfig().distributeStationToTenantEqually : true;
66 }
67 }
68
69 module.exports = Configuration;