UI server: add start/stop charging station command
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
1 import ChargingStationInfo from './ChargingStationInfo';
2 import { ConnectorStatus } from './ConnectorStatus';
3 import { JsonObject } from './JsonType';
4 import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
5
6 export interface ChargingStationWorkerOptions extends JsonObject {
7 elementStartDelay?: number;
8 }
9
10 export interface ChargingStationWorkerData extends WorkerData {
11 index: number;
12 templateFile: string;
13 chargingStationWorkerOptions?: ChargingStationWorkerOptions;
14 }
15
16 export interface ChargingStationData extends WorkerData {
17 hashId: string;
18 stationInfo: ChargingStationInfo;
19 stopped: boolean;
20 connectors: ConnectorStatus[];
21 }
22
23 enum ChargingStationMessageEvents {
24 STARTED = 'started',
25 STOPPED = 'stopped',
26 UPDATED = 'updated',
27 PERFORMANCE_STATISTICS = 'performanceStatistics',
28 }
29
30 export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
31
32 export const ChargingStationWorkerMessageEvents = {
33 ...WorkerMessageEvents,
34 ...ChargingStationMessageEvents,
35 };
36
37 export interface ChargingStationWorkerMessage<T extends WorkerData>
38 extends Omit<WorkerMessage<T>, 'id'> {
39 id: ChargingStationWorkerMessageEvents;
40 }