refactor: do not regenerate error stack strace needlessly
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / OCPPResponseService.ts
index 5ee6e2d09058e9199dffc8015ab28298ef434155..a526c28c6812fea7b27108d1b46daa9c3fe731ec 100644 (file)
@@ -22,8 +22,9 @@ export abstract class OCPPResponseService {
   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>
   >
@@ -35,6 +36,11 @@ export abstract class OCPPResponseService {
       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)
   }
@@ -54,7 +60,7 @@ export abstract class OCPPResponseService {
     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
     }