UI protocol: Allow to send some relevant commands to several charging… (#152)
[e-mobility-charging-stations-simulator.git] / src / types / WorkerBroadcastChannel.ts
index 0015b717e7fa97ee78a257efeff85d5b71e7d1f9..0d6da48d8871563122d8ec1e2f70fdd8aa551501 100644 (file)
@@ -16,13 +16,24 @@ export enum BroadcastChannelProcedureName {
   CLOSE_CONNECTION = 'closeConnection',
 }
 
-export interface BroadcastChannelRequestPayload extends Omit<RequestPayload, 'hashId'> {
-  hashId: string;
+interface BaseBroadcastChannelRequestPayload extends Omit<RequestPayload, 'hashId' | 'hashIds'> {
   connectorId?: number;
   transactionId?: number;
   idTag?: string;
 }
 
+interface HashIdBroadcastChannelRequestPayload extends BaseBroadcastChannelRequestPayload {
+  hashId: string;
+}
+
+interface HashIdsBroadcastChannelRequestPayload extends BaseBroadcastChannelRequestPayload {
+  hashIds: string[];
+}
+
+export type BroadcastChannelRequestPayload =
+  | HashIdBroadcastChannelRequestPayload
+  | HashIdsBroadcastChannelRequestPayload;
+
 export type BroadcastChannelResponsePayload = ResponsePayload;
 
 export type MessageEvent = { data: BroadcastChannelRequest | BroadcastChannelResponse };