X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FWorkerBroadcastChannel.ts;h=ca3d42704f4bfea8b3049b82b6a11dfd2ce6abe3;hb=4f317101dedf3e41deaa06cc04ef5beaf79af3bd;hp=61a47fa02eb272e0b98ca41efdee3c465d3175c4;hpb=32de5a575189d226213641f5ee36004f8454cb50;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/WorkerBroadcastChannel.ts b/src/types/WorkerBroadcastChannel.ts index 61a47fa0..ca3d4270 100644 --- a/src/types/WorkerBroadcastChannel.ts +++ b/src/types/WorkerBroadcastChannel.ts @@ -1,8 +1,31 @@ -import { ChargingStationData } from './ChargingStationWorker'; +import type { RequestPayload, ResponsePayload } from './UIProtocol'; -// TODO: use a base payload type and extends it per procedure name -export interface WorkerBroadcastChannelData extends ChargingStationData { +export type BroadcastChannelRequest = [ + string, + BroadcastChannelProcedureName, + BroadcastChannelRequestPayload +]; +export type BroadcastChannelResponse = [string, BroadcastChannelResponsePayload]; + +export enum BroadcastChannelProcedureName { + START_CHARGING_STATION = 'startChargingStation', + STOP_CHARGING_STATION = 'stopChargingStation', + OPEN_CONNECTION = 'openConnection', + CLOSE_CONNECTION = 'closeConnection', + START_TRANSACTION = 'startTransaction', + STOP_TRANSACTION = 'stopTransaction', + START_AUTOMATIC_TRANSACTION_GENERATOR = 'startAutomaticTransactionGenerator', + STOP_AUTOMATIC_TRANSACTION_GENERATOR = 'stopAutomaticTransactionGenerator', +} + +export interface BroadcastChannelRequestPayload extends RequestPayload { connectorId?: number; transactionId?: number; idTag?: string; } + +export interface BroadcastChannelResponsePayload extends ResponsePayload { + hashId: string; +} + +export type MessageEvent = { data: BroadcastChannelRequest | BroadcastChannelResponse };