UI protocol: cleanup version handling code
[e-mobility-charging-stations-simulator.git] / src / types / WorkerBroadcastChannel.ts
... / ...
CommitLineData
1import type { RequestPayload, ResponsePayload } from './UIProtocol';
2
3export type BroadcastChannelRequest = [
4 string,
5 BroadcastChannelProcedureName,
6 BroadcastChannelRequestPayload
7];
8export type BroadcastChannelResponse = [string, BroadcastChannelResponsePayload];
9
10export enum BroadcastChannelProcedureName {
11 START_CHARGING_STATION = 'startChargingStation',
12 STOP_CHARGING_STATION = 'stopChargingStation',
13 OPEN_CONNECTION = 'openConnection',
14 CLOSE_CONNECTION = 'closeConnection',
15 START_AUTOMATIC_TRANSACTION_GENERATOR = 'startAutomaticTransactionGenerator',
16 STOP_AUTOMATIC_TRANSACTION_GENERATOR = 'stopAutomaticTransactionGenerator',
17 START_TRANSACTION = 'startTransaction',
18 STOP_TRANSACTION = 'stopTransaction',
19 AUTHORIZE = 'authorize',
20 BOOT_NOTIFICATION = 'bootNotification',
21 STATUS_NOTIFICATION = 'statusNotification',
22 HEARTBEAT = 'heartbeat',
23 METER_VALUES = 'meterValues',
24}
25
26export interface BroadcastChannelRequestPayload extends RequestPayload {
27 connectorId?: number;
28 transactionId?: number;
29 idTag?: string;
30}
31
32export interface BroadcastChannelResponsePayload
33 extends Omit<ResponsePayload, 'hashIdsSucceeded' | 'hashIdsFailed' | 'responsesFailed'> {
34 hashId: string;
35}
36
37export type MessageEvent = { data: BroadcastChannelRequest | BroadcastChannelResponse };