Fix build due to winston types definition fix
[e-mobility-charging-stations-simulator.git] / src / types / ConfigurationData.ts
1 import { ServerOptions } from 'ws';
2 import { StorageType } from './Storage';
3 import type { WorkerChoiceStrategy } from 'poolifier';
4 import { WorkerProcessType } from './Worker';
5 import { level } from 'winston';
6
7 export enum SupervisionUrlDistribution {
8 ROUND_ROBIN = 'round-robin',
9 RANDOM = 'random',
10 SEQUENTIAL = 'sequential',
11 }
12
13 export interface StationTemplateUrl {
14 file: string;
15 numberOfStations: number;
16 }
17
18 export interface UIWebSocketServerConfiguration {
19 enabled?: boolean;
20 options?: ServerOptions;
21 }
22
23 export interface StorageConfiguration {
24 enabled?: boolean;
25 type?: StorageType;
26 uri?: string;
27 }
28
29 export default interface ConfigurationData {
30 supervisionUrls?: string | string[];
31 supervisionUrlDistribution?: SupervisionUrlDistribution;
32 stationTemplateUrls: StationTemplateUrl[];
33 uiWebSocketServer?: UIWebSocketServerConfiguration;
34 performanceStorage?: StorageConfiguration;
35 autoReconnectMaxRetries?: number;
36 workerProcess?: WorkerProcessType;
37 workerStartDelay?: number;
38 workerPoolMinSize?: number;
39 workerPoolMaxSize?: number;
40 workerPoolStrategy?: WorkerChoiceStrategy;
41 chargingStationsPerWorker?: number;
42 logStatisticsInterval?: number;
43 logFormat?: string;
44 logLevel?: string;
45 logRotate?: boolean;
46 logMaxFiles?: number;
47 logFile?: string;
48 logErrorFile?: string;
49 logConsole?: boolean;
50 }