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