private static instance: OCPPResponseService | null = null
private readonly version: OCPPVersion
protected readonly ajv: Ajv
- protected abstract jsonSchemasValidateFunction: Map<RequestCommand, ValidateFunction<JsonType>>
- public abstract jsonSchemasIncomingRequestResponseValidateFunction: Map<
+ protected readonly ajvIncomingRequest: Ajv
+ protected abstract payloadValidateFunctions: Map<RequestCommand, ValidateFunction<JsonType>>
+ public abstract incomingRequestResponsePayloadValidateFunctions: Map<
IncomingRequestCommand,
ValidateFunction<JsonType>
>
multipleOfPrecision: 2
})
ajvFormats(this.ajv)
+ this.ajvIncomingRequest = new Ajv({
+ keywords: ['javaType'],
+ multipleOfPrecision: 2
+ })
+ ajvFormats(this.ajvIncomingRequest)
this.responseHandler = this.responseHandler.bind(this)
this.validateResponsePayload = this.validateResponsePayload.bind(this)
}
if (chargingStation.stationInfo?.ocppStrictCompliance === false) {
return true
}
- const validate = this.jsonSchemasValidateFunction.get(commandName)
+ const validate = this.payloadValidateFunctions.get(commandName)
if (validate?.(payload) === true) {
return true
}