X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Focpp%2F2.0%2FOCPP20IncomingRequestService.ts;h=67f3a61b492529ca0a2ae2bb487200035ff59569;hb=2665ed1ef62a9fc9b6eec417f3ec7c33305789cf;hp=cfc58323ed8ad4cf597c1a2b3b9227b86f8ba2cd;hpb=24d15716245469249b57e5aa790147d703d60a4e;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts b/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts index cfc58323..67f3a61b 100644 --- a/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts +++ b/src/charging-station/ocpp/2.0/OCPP20IncomingRequestService.ts @@ -19,10 +19,7 @@ import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService.js' const moduleName = 'OCPP20IncomingRequestService' export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { - protected jsonSchemasValidateFunction: Map< - OCPP20IncomingRequestCommand, - ValidateFunction - > + protected payloadValidateFunctions: Map> private readonly incomingRequestHandlers: Map< OCPP20IncomingRequestCommand, @@ -37,7 +34,7 @@ export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { this.incomingRequestHandlers = new Map([ [OCPP20IncomingRequestCommand.CLEAR_CACHE, this.handleRequestClearCache.bind(this)] ]) - this.jsonSchemasValidateFunction = new Map< + this.payloadValidateFunctions = new Map< OCPP20IncomingRequestCommand, ValidateFunction >([ @@ -138,6 +135,8 @@ export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { response, commandName ) + // Emit command name event to allow delayed handling + this.emit(commandName, chargingStation, commandPayload, response) } private validatePayload ( @@ -145,7 +144,7 @@ export class OCPP20IncomingRequestService extends OCPPIncomingRequestService { commandName: OCPP20IncomingRequestCommand, commandPayload: JsonType ): boolean { - if (this.jsonSchemasValidateFunction.has(commandName)) { + if (this.payloadValidateFunctions.has(commandName)) { return this.validateIncomingRequestPayload(chargingStation, commandName, commandPayload) } logger.warn(