refactor: remove unneeded condition at changing availability
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16ResponseService.ts
index e5caf4bf3cfb9d23c41e1403125a23d784943fe2..ae8b6287bd8757e01b134cfd2e50a67167bae383 100644 (file)
@@ -14,7 +14,6 @@ import {
 } from '../../../charging-station';
 import { OCPPError } from '../../../exception';
 import {
-  type ChangeAvailabilityResponse,
   type ChangeConfigurationResponse,
   type ClearChargingProfileResponse,
   ErrorType,
@@ -27,6 +26,7 @@ import {
   type OCPP16AuthorizeRequest,
   type OCPP16AuthorizeResponse,
   type OCPP16BootNotificationResponse,
+  type OCPP16ChangeAvailabilityResponse,
   OCPP16ChargePointStatus,
   type OCPP16DataTransferResponse,
   type OCPP16DiagnosticsStatusNotificationResponse,
@@ -209,7 +209,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
       ],
       [
         OCPP16IncomingRequestCommand.CHANGE_AVAILABILITY,
-        OCPP16ServiceUtils.parseJsonSchemaFile<ChangeAvailabilityResponse>(
+        OCPP16ServiceUtils.parseJsonSchemaFile<OCPP16ChangeAvailabilityResponse>(
           'assets/json-schemas/ocpp/1.6/ChangeAvailabilityResponse.json',
           moduleName,
           'constructor',
@@ -472,9 +472,9 @@ export class OCPP16ResponseService extends OCPPResponseService {
     const authorizeConnectorIdDefined = !isNullOrUndefined(authorizeConnectorId);
     if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) {
       if (authorizeConnectorIdDefined) {
+        // chargingStation.getConnectorStatus(authorizeConnectorId!)!.authorizeIdTag =
+        //   requestPayload.idTag;
         chargingStation.getConnectorStatus(authorizeConnectorId!)!.idTagAuthorized = true;
-        chargingStation.getConnectorStatus(authorizeConnectorId!)!.authorizeIdTag =
-          requestPayload.idTag;
       }
       logger.debug(
         `${chargingStation.logPrefix()} idTag '${requestPayload.idTag}' accepted${
@@ -529,7 +529,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
       chargingStation.getConnectorStatus(transactionConnectorId)?.transactionRemoteStarted ===
         true &&
       chargingStation.getAuthorizeRemoteTxRequests() === true &&
-      chargingStation.getMustAuthorizeAtRemoteStart() === true &&
+      chargingStation.getRemoteAuthorization() === true &&
       chargingStation.getConnectorStatus(transactionConnectorId)?.idTagLocalAuthorized === false &&
       chargingStation.getConnectorStatus(transactionConnectorId)?.idTagAuthorized === false
     ) {
@@ -613,7 +613,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
       );
       return;
     }
-    if (!Number.isInteger(payload.transactionId)) {
+    if (!Number.isSafeInteger(payload.transactionId)) {
       logger.warn(
         `${chargingStation.logPrefix()} Trying to start a transaction on connector id ${transactionConnectorId.toString()} with a non integer transaction id ${
           payload.transactionId
@@ -640,18 +640,17 @@ export class OCPP16ResponseService extends OCPPResponseService {
           requestPayload.meterStart,
         );
       const reservedOnConnectorZero =
-        chargingStation.getConnectorStatus(0)!.status === OCPP16ChargePointStatus.Reserved;
+        chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved;
       if (
-        chargingStation.getConnectorStatus(transactionConnectorId)!.status ===
+        chargingStation.getConnectorStatus(transactionConnectorId)?.status ===
           OCPP16ChargePointStatus.Reserved ||
         reservedOnConnectorZero
       ) {
-        const reservation = chargingStation.getReservationBy(
-          'connectorId',
-          reservedOnConnectorZero ? 0 : transactionConnectorId,
-        )!;
         await chargingStation.removeReservation(
-          reservation,
+          chargingStation.getReservationBy(
+            'connectorId',
+            reservedOnConnectorZero ? 0 : transactionConnectorId,
+          )!,
           ReservationTerminationReason.TRANSACTION_STARTED,
         );
       }