if (this.isResponse(messageEvent.data)) {
return;
}
- if (Array.isArray(messageEvent.data) === false) {
- throw new BaseError('Worker broadcast channel protocol request is not an array');
- }
+ this.validateMessageEvent(messageEvent);
const [uuid, command, requestPayload] = messageEvent.data as BroadcastChannelRequest;
- if (requestPayload?.hashId !== this.chargingStation.hashId) {
+ if (
+ requestPayload?.hashId === undefined &&
+ (requestPayload?.hashIds as string[])?.includes(this.chargingStation.hashId) === false
+ ) {
+ return;
+ }
+ if (
+ requestPayload?.hashIds === undefined &&
+ requestPayload?.hashId !== this.chargingStation.hashId
+ ) {
return;
}
+ if (requestPayload?.hashId !== undefined) {
+ logger.warn(
+ `${this.chargingStation.logPrefix()} ${moduleName}.requestHandler: 'hashId' field usage in PDU is deprecated, use 'hashIds' instead`
+ );
+ }
let responsePayload: BroadcastChannelResponsePayload;
let commandResponse: CommandResponse;