build: switch to NodeNext module resolution
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16IncomingRequestService.ts
index 21a6e1ece5b377925ba469643740f73e2c9f1554..f1ea435aac3fba768a8c76506e167494dacc574a 100644 (file)
@@ -16,8 +16,8 @@ import {
 import { maxTime } from 'date-fns/constants';
 import { create } from 'tar';
 
-import { OCPP16Constants } from './OCPP16Constants';
-import { OCPP16ServiceUtils } from './OCPP16ServiceUtils';
+import { OCPP16Constants } from './OCPP16Constants.js';
+import { OCPP16ServiceUtils } from './OCPP16ServiceUtils.js';
 import {
   type ChargingStation,
   canProceedChargingProfile,
@@ -27,13 +27,11 @@ import {
   prepareChargingProfileKind,
   removeExpiredReservations,
   setConfigurationKeyValue,
-} from '../../../charging-station';
-import { OCPPError } from '../../../exception';
+} from '../../../charging-station/index.js';
+import { OCPPError } from '../../../exception/index.js';
 import {
   type ChangeConfigurationRequest,
   type ChangeConfigurationResponse,
-  type ClearChargingProfileRequest,
-  type ClearChargingProfileResponse,
   ErrorType,
   type GenericResponse,
   GenericStatus,
@@ -56,6 +54,8 @@ import {
   OCPP16ChargingProfilePurposeType,
   type OCPP16ChargingSchedule,
   type OCPP16ClearCacheRequest,
+  type OCPP16ClearChargingProfileRequest,
+  type OCPP16ClearChargingProfileResponse,
   type OCPP16DataTransferRequest,
   type OCPP16DataTransferResponse,
   OCPP16DataTransferVendorId,
@@ -95,7 +95,7 @@ import {
   type SetChargingProfileResponse,
   type UnlockConnectorRequest,
   type UnlockConnectorResponse,
-} from '../../../types';
+} from '../../../types/index.js';
 import {
   Constants,
   convertToDate,
@@ -109,8 +109,8 @@ import {
   isUndefined,
   logger,
   sleep,
-} from '../../../utils';
-import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService';
+} from '../../../utils/index.js';
+import { OCPPIncomingRequestService } from '../OCPPIncomingRequestService.js';
 
 const moduleName = 'OCPP16IncomingRequestService';
 
@@ -260,7 +260,7 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
       ],
       [
         OCPP16IncomingRequestCommand.CLEAR_CHARGING_PROFILE,
-        OCPP16ServiceUtils.parseJsonSchemaFile<ClearChargingProfileRequest>(
+        OCPP16ServiceUtils.parseJsonSchemaFile<OCPP16ClearChargingProfileRequest>(
           'assets/json-schemas/ocpp/1.6/ClearChargingProfile.json',
           moduleName,
           'constructor',
@@ -445,14 +445,9 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
     commandPayload: ResetRequest,
   ): GenericResponse {
     const { type } = commandPayload;
-    this.runInAsyncScope(
-      chargingStation.reset.bind(chargingStation) as (
-        this: ChargingStation,
-        ...args: unknown[]
-      ) => Promise<void>,
-      chargingStation,
-      `${type}Reset` as OCPP16StopTransactionReason,
-    ).catch(Constants.EMPTY_FUNCTION);
+    chargingStation
+      .reset(`${type}Reset` as OCPP16StopTransactionReason)
+      .catch(Constants.EMPTY_FUNCTION);
     logger.info(
       `${chargingStation.logPrefix()} ${type} reset command received, simulating it. The station will be back online in ${formatDurationMilliSeconds(
         chargingStation.stationInfo.resetTime!,
@@ -798,8 +793,8 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
 
   private handleRequestClearChargingProfile(
     chargingStation: ChargingStation,
-    commandPayload: ClearChargingProfileRequest,
-  ): ClearChargingProfileResponse {
+    commandPayload: OCPP16ClearChargingProfileRequest,
+  ): OCPP16ClearChargingProfileResponse {
     if (
       OCPP16ServiceUtils.checkFeatureProfile(
         chargingStation,
@@ -1122,25 +1117,11 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
     retrieveDate = convertToDate(retrieveDate)!;
     const now = Date.now();
     if (retrieveDate?.getTime() <= now) {
-      this.runInAsyncScope(
-        this.updateFirmwareSimulation.bind(this) as (
-          this: OCPP16IncomingRequestService,
-          ...args: unknown[]
-        ) => Promise<void>,
-        this,
-        chargingStation,
-      ).catch(Constants.EMPTY_FUNCTION);
+      this.updateFirmwareSimulation(chargingStation).catch(Constants.EMPTY_FUNCTION);
     } else {
       setTimeout(
         () => {
-          this.runInAsyncScope(
-            this.updateFirmwareSimulation.bind(this) as (
-              this: OCPP16IncomingRequestService,
-              ...args: unknown[]
-            ) => Promise<void>,
-            this,
-            chargingStation,
-          ).catch(Constants.EMPTY_FUNCTION);
+          this.updateFirmwareSimulation(chargingStation).catch(Constants.EMPTY_FUNCTION);
         },
         retrieveDate?.getTime() - now,
       );