Remove a linter error.
[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 Configuration.getConfig().statisticsDisplayInterval;
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 getChargingStationTemplateURLs() {
31 // Read conf
32 return Configuration.getConfig().stationTemplateURLs;
33 }
34
35 static getChargingStationTemplate() {
36 // Read conf
37 return Configuration.getConfig().stationTemplate;
38 }
39
40 static getNumberofChargingStation() {
41 // Read conf
42 return Configuration.getConfig().numberOfStation ? Configuration.getConfig().numberOfStation : 0;
43 }
44
45 static useWorkerPool() {
46 return Configuration.getConfig().useWorkerPool;
47 }
48
49 static getWorkerPoolSize() {
50 return Configuration.getConfig().workerPoolSize;
51 }
52
53 static getConsoleLog() {
54 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'consoleLog') ? Configuration.getConfig().consoleLog : false;
55 }
56
57 static getLogFile() {
58 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logFile') ? Configuration.getConfig().logFile : 'combined.log';
59 }
60
61 static getErrorFile() {
62 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'errorFile') ? Configuration.getConfig().errorFile : 'error.log';
63 }
64
65 static getAutomaticTransactionConfiguration() {
66 // Read conf
67 return Configuration.getChargingStationTemplate().AutomaticTransactionGenerator;
68 }
69
70 static getSupervisionURLs() {
71 // Read conf
72 return Configuration.getConfig().supervisionURLs;
73 }
74
75 static getEquallySupervisionDistribution() {
76 return Configuration.getConfig().distributeStationToTenantEqually;
77 }
78
79 static getChargingStationConfiguration() {
80 return Utils.objectHasOwnProperty(Configuration.getChargingStationTemplate(), 'Configuration') ? Configuration.getChargingStationTemplate().Configuration : {};
81 }
82
83 static getChargingStationAuthorizationFile() {
84 return Utils.objectHasOwnProperty(Configuration.getChargingStationTemplate(), 'authorizationFile') ? Configuration.getChargingStationTemplate().authorizationFile : '';
85 }
86
87 static getChargingStationConnectors() {
88 return Configuration.getChargingStationTemplate().Connectors;
89 }
90
91 static getChargingStationConnector(number) {
92 return Configuration.getChargingStationTemplate().Connectors[number];
93 }
94 }
95
96 module.exports = Configuration;