Commit | Line | Data |
---|---|---|
83ee6a86 | 1 | const fs = require('fs'); |
7dde0b73 JB |
2 | |
3 | class Configuration { | |
83ee6a86 JB |
4 | static configurationFile; |
5 | ||
7dde0b73 JB |
6 | // Read the config file |
7 | static getConfig() { | |
83ee6a86 | 8 | if (!Configuration.configurationFile) { |
2bea9f94 | 9 | Configuration.configurationFile = JSON.parse(fs.readFileSync('./src/assets/config.json', 'utf8')); |
83ee6a86 JB |
10 | } |
11 | return Configuration.configurationFile; | |
7dde0b73 JB |
12 | } |
13 | ||
14 | static getStatisticsDisplayInterval() { | |
15 | // Read conf | |
16 | return Configuration.getConfig().statisticsDisplayInterval; | |
17 | } | |
18 | ||
19 | static getAutoReconnectTimeout() { | |
20 | // Read conf | |
21 | return Configuration.getConfig().hasOwnProperty('autoReconnectTimeout') ? Configuration.getConfig().autoReconnectTimeout : 10; | |
22 | } | |
23 | ||
24 | static getAutoReconnectMaxRetries() { | |
25 | // Read conf | |
26 | return Configuration.getConfig().hasOwnProperty('autoReconnectMaxRetries') ? Configuration.getConfig().autoReconnectMaxRetries : -1; | |
27 | } | |
28 | ||
29 | static getChargingStationTemplateURLs() { | |
30 | // Read conf | |
31 | return Configuration.getConfig().stationTemplateURLs; | |
32 | } | |
33 | ||
34 | static getChargingStationTemplate() { | |
35 | // Read conf | |
36 | return Configuration.getConfig().stationTemplate; | |
37 | } | |
38 | ||
39 | static getNumberofChargingStation() { | |
40 | // Read conf | |
41 | return (Configuration.getConfig().numberOfStation ? Configuration.getConfig().numberOfStation : 0); | |
42 | } | |
43 | ||
44 | static useWorkerPool() { | |
45 | return Configuration.getConfig().useWorkerPool; | |
46 | } | |
47 | ||
48 | static getWorkerPoolSize() { | |
49 | return Configuration.getConfig().workerPoolSize; | |
50 | } | |
51 | ||
52 | static getConsoleLog() { | |
53 | return (Configuration.getConfig().hasOwnProperty('consoleLog') ? Configuration.getConfig().consoleLog : false); | |
54 | } | |
55 | ||
56 | static getLogFile() { | |
57 | return (Configuration.getConfig().hasOwnProperty('logFile') ? Configuration.getConfig().logFile : 'combined.log'); | |
58 | } | |
59 | ||
60 | static getErrorFile() { | |
61 | return (Configuration.getConfig().hasOwnProperty('errorFile') ? Configuration.getConfig().errorFile : 'error.log'); | |
62 | } | |
63 | ||
a6e68f34 | 64 | static getMeterValueSampleInterval() { |
7dde0b73 | 65 | // Read conf |
a6e68f34 | 66 | return (Configuration.getChargingStationConfiguration().hasOwnProperty('MeterValueSampleInterval') ? Configuration.getChargingStationConfiguration().MeterValueSampleInterval * 1000 : 60000); |
7dde0b73 JB |
67 | } |
68 | ||
69 | static getAutomaticTransactionConfiguration() { | |
70 | // Read conf | |
71 | return Configuration.getChargingStationTemplate().AutomaticTransactionGenerator; | |
72 | } | |
73 | ||
74 | static getSupervisionURLs() { | |
75 | // Read conf | |
76 | return Configuration.getConfig().supervisionURLs; | |
77 | } | |
78 | ||
79 | static getEquallySupervisionDistribution() { | |
80 | return Configuration.getConfig().distributeStationToTenantEqually; | |
81 | } | |
82 | ||
83 | static getChargingStationConfiguration() { | |
84 | return (Configuration.getChargingStationTemplate().hasOwnProperty('Configuration') ? Configuration.getChargingStationTemplate().Configuration : {}); | |
85 | } | |
86 | ||
87 | static getChargingStationAuthorizationFile() { | |
88 | return (Configuration.getChargingStationTemplate().hasOwnProperty('authorizationFile') ? Configuration.getChargingStationTemplate().authorizationFile : ''); | |
89 | } | |
90 | ||
91 | static getChargingStationConnectors() { | |
92 | return Configuration.getChargingStationTemplate().Connectors; | |
93 | } | |
94 | ||
95 | static getChargingStationConnector(number) { | |
96 | return Configuration.getChargingStationTemplate().Connectors[number]; | |
97 | } | |
98 | } | |
99 | ||
100 | module.exports = Configuration; |