CF: include TS sources.
[e-mobility-charging-stations-simulator.git] / src / utils / Configuration.ts
CommitLineData
6af9012e 1import Utils from './Utils';
3f40bc9c 2import fs from 'fs';
7dde0b73 3
3f40bc9c 4export default class Configuration {
868cb6d1 5 static configuration;
83ee6a86 6
7dde0b73
JB
7 // Read the config file
8 static getConfig() {
868cb6d1
JB
9 if (!Configuration.configuration) {
10 Configuration.configuration = JSON.parse(fs.readFileSync('./src/assets/config.json', 'utf8'));
83ee6a86 11 }
868cb6d1 12 return Configuration.configuration;
7dde0b73
JB
13 }
14
a4a21709 15 static getStatisticsDisplayInterval(): number {
7dde0b73 16 // Read conf
2e6f5966 17 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'statisticsDisplayInterval') ? Configuration.getConfig().statisticsDisplayInterval : 60;
7dde0b73
JB
18 }
19
a4a21709 20 static getAutoReconnectTimeout(): number {
7dde0b73 21 // Read conf
1d7ca20c 22 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'autoReconnectTimeout') ? Configuration.getConfig().autoReconnectTimeout : 10;
7dde0b73
JB
23 }
24
a4a21709 25 static getAutoReconnectMaxRetries(): number {
7dde0b73 26 // Read conf
1d7ca20c 27 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'autoReconnectMaxRetries') ? Configuration.getConfig().autoReconnectMaxRetries : -1;
7dde0b73
JB
28 }
29
a4a21709 30 static getStationTemplateURLs(): any[] {
7dde0b73
JB
31 // Read conf
32 return Configuration.getConfig().stationTemplateURLs;
33 }
34
a4a21709 35 static useWorkerPool(): boolean {
7dde0b73
JB
36 return Configuration.getConfig().useWorkerPool;
37 }
38
a4a21709 39 static getWorkerPoolSize(): number {
7dde0b73
JB
40 return Configuration.getConfig().workerPoolSize;
41 }
42
a4a21709 43 static getConsoleLog(): boolean {
1d7ca20c 44 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'consoleLog') ? Configuration.getConfig().consoleLog : false;
7dde0b73
JB
45 }
46
a4a21709 47 static getLogFormat(): string {
027b409a
JB
48 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logFormat') ? Configuration.getConfig().logFormat : 'simple';
49 }
50
a4a21709 51 static getLogLevel(): string {
2e6f5966
JB
52 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logLevel') ? Configuration.getConfig().logLevel : 'info';
53 }
54
a4a21709 55 static getLogFile(): string {
1d7ca20c 56 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'logFile') ? Configuration.getConfig().logFile : 'combined.log';
7dde0b73
JB
57 }
58
a4a21709 59 static getErrorFile(): string {
1d7ca20c 60 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'errorFile') ? Configuration.getConfig().errorFile : 'error.log';
7dde0b73
JB
61 }
62
a4a21709 63 static getSupervisionURLs(): string {
7dde0b73
JB
64 // Read conf
65 return Configuration.getConfig().supervisionURLs;
66 }
67
a4a21709 68 static getDistributeStationToTenantEqually(): boolean {
2e6f5966 69 return Utils.objectHasOwnProperty(Configuration.getConfig(), 'distributeStationToTenantEqually') ? Configuration.getConfig().distributeStationToTenantEqually : true;
7dde0b73
JB
70 }
71}