Move date conversion to ISO string helper to utils class
authorJérôme Benoit <jerome.benoit@sap.com>
Sat, 7 Jan 2023 16:38:33 +0000 (17:38 +0100)
committerJérôme Benoit <jerome.benoit@sap.com>
Sat, 7 Jan 2023 16:38:33 +0000 (17:38 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/charging-station/ocpp/OCPPRequestService.ts
src/charging-station/ocpp/OCPPServiceUtils.ts

index 6b58e2adba0b0b06fbb514a2960d3d6eb80c3fe6..fda320abc26557e90c6a25b94a6082e2b00a46bb 100644 (file)
@@ -140,7 +140,7 @@ export default abstract class OCPPRequestService {
       return true;
     }
     const validate = this.ajv.compile(schema);
-    this.convertDateToISOString<T>(payload);
+    OCPPServiceUtils.convertDateToISOString<T>(payload);
     if (validate(payload)) {
       return true;
     }
@@ -385,16 +385,6 @@ export default abstract class OCPPRequestService {
     }
   }
 
-  private convertDateToISOString<T extends JsonType>(obj: T): void {
-    for (const k in obj) {
-      if (obj[k] instanceof Date) {
-        (obj as JsonObject)[k] = (obj[k] as Date).toISOString();
-      } else if (obj[k] !== null && typeof obj[k] === 'object') {
-        this.convertDateToISOString<T>(obj[k] as T);
-      }
-    }
-  }
-
   // eslint-disable-next-line @typescript-eslint/no-unused-vars
   public abstract requestHandler<ReqType extends JsonType, ResType extends JsonType>(
     chargingStation: ChargingStation,
index 33637c65a9e7501ea045cee9fd521863b27c1f0a..574476c64d5762e148e3536234c2d9955d4f9386 100644 (file)
@@ -1,6 +1,7 @@
 import type { DefinedError, ErrorObject } from 'ajv';
 
 import BaseError from '../../exception/BaseError';
+import type { JsonObject, JsonType } from '../../types/JsonType';
 import type { SampledValueTemplate } from '../../types/MeasurandPerPhaseSampledValueTemplates';
 import { StandardParametersKey } from '../../types/ocpp/Configuration';
 import { ErrorType } from '../../types/ocpp/ErrorType';
@@ -104,6 +105,16 @@ export class OCPPServiceUtils {
     return true;
   }
 
+  public static convertDateToISOString<T extends JsonType>(obj: T): void {
+    for (const k in obj) {
+      if (obj[k] instanceof Date) {
+        (obj as JsonObject)[k] = (obj[k] as Date).toISOString();
+      } else if (obj[k] !== null && typeof obj[k] === 'object') {
+        this.convertDateToISOString<T>(obj[k] as T);
+      }
+    }
+  }
+
   protected static getSampledValueTemplate(
     chargingStation: ChargingStation,
     connectorId: number,