build(simulator): enforce minimum node version 18.18.x
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 2.0 / OCPP20RequestService.ts
index 6e857089d96a567c99e0599de561dd56eaccb990..f9f5c2686e3b3115301ed906c1b6f7075f5060c4 100644 (file)
@@ -17,27 +17,27 @@ import {
   OCPPVersion,
   type RequestParams,
 } from '../../../types';
-import { Utils } from '../../../utils';
+import { generateUUID } from '../../../utils';
 import { OCPPRequestService } from '../OCPPRequestService';
 import type { OCPPResponseService } from '../OCPPResponseService';
 
 const moduleName = 'OCPP20RequestService';
 
 export class OCPP20RequestService extends OCPPRequestService {
-  protected jsonSchemas: Map<OCPP20RequestCommand, JSONSchemaType<JsonObject>>;
+  protected jsonSchemas: Map<OCPP20RequestCommand, JSONSchemaType<JsonType>>;
 
   public constructor(ocppResponseService: OCPPResponseService) {
     // if (new.target?.name === moduleName) {
     //   throw new TypeError(`Cannot construct ${new.target?.name} instances directly`);
     // }
     super(OCPPVersion.VERSION_20, ocppResponseService);
-    this.jsonSchemas = new Map<OCPP20RequestCommand, JSONSchemaType<JsonObject>>([
+    this.jsonSchemas = new Map<OCPP20RequestCommand, JSONSchemaType<JsonType>>([
       [
         OCPP20RequestCommand.BOOT_NOTIFICATION,
         OCPP20ServiceUtils.parseJsonSchemaFile<OCPP20BootNotificationRequest>(
           'assets/json-schemas/ocpp/2.0/BootNotificationRequest.json',
           moduleName,
-          'constructor'
+          'constructor',
         ),
       ],
       [
@@ -45,7 +45,7 @@ export class OCPP20RequestService extends OCPPRequestService {
         OCPP20ServiceUtils.parseJsonSchemaFile<OCPP20HeartbeatRequest>(
           'assets/json-schemas/ocpp/2.0/HeartbeatRequest.json',
           moduleName,
-          'constructor'
+          'constructor',
         ),
       ],
       [
@@ -53,14 +53,14 @@ export class OCPP20RequestService extends OCPPRequestService {
         OCPP20ServiceUtils.parseJsonSchemaFile<OCPP20StatusNotificationRequest>(
           'assets/json-schemas/ocpp/2.0/StatusNotificationRequest.json',
           moduleName,
-          'constructor'
+          'constructor',
         ),
       ],
     ]);
     this.buildRequestPayload = this.buildRequestPayload.bind(this) as <Request extends JsonType>(
       chargingStation: ChargingStation,
       commandName: OCPP20RequestCommand,
-      commandParams?: JsonType
+      commandParams?: JsonType,
     ) => Request;
   }
 
@@ -68,16 +68,16 @@ export class OCPP20RequestService extends OCPPRequestService {
     chargingStation: ChargingStation,
     commandName: OCPP20RequestCommand,
     commandParams?: JsonType,
-    params?: RequestParams
+    params?: RequestParams,
   ): Promise<ResponseType> {
     // FIXME?: add sanity checks on charging station availability, connector availability, connector status, etc.
     if (OCPP20ServiceUtils.isRequestCommandSupported(chargingStation, commandName) === true) {
       return (await this.sendMessage(
         chargingStation,
-        Utils.generateUUID(),
+        generateUUID(),
         this.buildRequestPayload<RequestType>(chargingStation, commandName, commandParams),
         commandName,
-        params
+        params,
       )) as ResponseType;
     }
     // OCPPError usage here is debatable: it's an error in the OCPP stack but not targeted to sendError().
@@ -85,14 +85,14 @@ export class OCPP20RequestService extends OCPPRequestService {
       ErrorType.NOT_SUPPORTED,
       `Unsupported OCPP command '${commandName}'`,
       commandName,
-      commandParams
+      commandParams,
     );
   }
 
   private buildRequestPayload<Request extends JsonType>(
     chargingStation: ChargingStation,
     commandName: OCPP20RequestCommand,
-    commandParams?: JsonType
+    commandParams?: JsonType,
   ): Request {
     commandParams = commandParams as JsonObject;
     switch (commandName) {
@@ -112,7 +112,7 @@ export class OCPP20RequestService extends OCPPRequestService {
           // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
           `Unsupported OCPP command '${commandName}'`,
           commandName,
-          commandParams
+          commandParams,
         );
     }
   }