X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2FChargingStationWorkerBroadcastChannel.ts;h=9e88b4189372eaa030de37cfe159e4cdb3a89044;hb=12b34061fc1777aae4fea0016899e74e6c3c5e70;hp=0d890687828cb6b86ac450c48a3610f5e283c893;hpb=6c8f5d901f6dbfd66e921decde63bf73548c156e;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ChargingStationWorkerBroadcastChannel.ts b/src/charging-station/ChargingStationWorkerBroadcastChannel.ts index 0d890687..9e88b418 100644 --- a/src/charging-station/ChargingStationWorkerBroadcastChannel.ts +++ b/src/charging-station/ChargingStationWorkerBroadcastChannel.ts @@ -17,7 +17,7 @@ import { } from '../types/WorkerBroadcastChannel'; import { ResponseStatus } from '../ui/web/src/type/UIProtocol'; import logger from '../utils/Logger'; -import ChargingStation from './ChargingStation'; +import type ChargingStation from './ChargingStation'; import WorkerBroadcastChannel from './WorkerBroadcastChannel'; const moduleName = 'ChargingStationWorkerBroadcastChannel'; @@ -38,6 +38,9 @@ export default class ChargingStationWorkerBroadcastChannel extends WorkerBroadca if (this.isResponse(messageEvent.data)) { return; } + if (Array.isArray(messageEvent.data) === false) { + throw new BaseError('Worker broadcast channel protocol request is not an array'); + } const [uuid, command, requestPayload] = messageEvent.data as BroadcastChannelRequest; @@ -109,9 +112,15 @@ export default class ChargingStationWorkerBroadcastChannel extends WorkerBroadca case BroadcastChannelProcedureName.STOP_CHARGING_STATION: await this.chargingStation.stop(); break; + case BroadcastChannelProcedureName.OPEN_CONNECTION: + this.chargingStation.openWSConnection(); + break; + case BroadcastChannelProcedureName.CLOSE_CONNECTION: + this.chargingStation.closeWSConnection(); + break; default: // eslint-disable-next-line @typescript-eslint/restrict-template-expressions - throw new BaseError(`Unknown broadcast channel command: ${command}`); + throw new BaseError(`Unknown worker broadcast channel command: ${command}`); } }