refactor: cleanup RFID tags authorization code
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16IncomingRequestService.ts
index f5b568dc41eb39ade5eeb28cbfb7fff9459c81c7..356e453bde54863444e4fd4589c7432871a5f83a 100644 (file)
@@ -825,15 +825,6 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
     commandPayload: RemoteStartTransactionRequest,
   ): Promise<GenericResponse> {
     const { connectorId: transactionConnectorId, idTag, chargingProfile } = commandPayload;
-    if (
-      (chargingStation.getConnectorStatus(transactionConnectorId)?.status ===
-        OCPP16ChargePointStatus.Reserved &&
-        chargingStation.getReservationBy('connectorId', transactionConnectorId)?.idTag !== idTag) ||
-      (chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved &&
-        chargingStation.getReservationBy('connectorId', 0)?.idTag !== idTag)
-    ) {
-      return OCPP16Constants.OCPP_RESPONSE_REJECTED;
-    }
     if (chargingStation.hasConnector(transactionConnectorId) === false) {
       return this.notifyRemoteStartTransactionRejected(
         chargingStation,
@@ -851,6 +842,15 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
         idTag,
       );
     }
+    if (
+      (chargingStation.getConnectorStatus(transactionConnectorId)?.status ===
+        OCPP16ChargePointStatus.Reserved &&
+        chargingStation.getReservationBy('connectorId', transactionConnectorId)?.idTag !== idTag) ||
+      (chargingStation.getConnectorStatus(0)?.status === OCPP16ChargePointStatus.Reserved &&
+        chargingStation.getReservationBy('connectorId', 0)?.idTag !== idTag)
+    ) {
+      return OCPP16Constants.OCPP_RESPONSE_REJECTED;
+    }
     const remoteStartTransactionLogMsg = `
       ${chargingStation.logPrefix()} Transaction remotely STARTED on ${
         chargingStation.stationInfo.chargingStationId
@@ -861,20 +861,9 @@ export class OCPP16IncomingRequestService extends OCPPIncomingRequestService {
       OCPP16ChargePointStatus.Preparing,
     );
     const connectorStatus = chargingStation.getConnectorStatus(transactionConnectorId)!;
-    if (
-      chargingStation.getAuthorizeRemoteTxRequests() &&
-      !chargingStation.getLocalAuthListEnabled() &&
-      !chargingStation.getMustAuthorizeAtRemoteStart()
-    ) {
-      logger.warn(
-        `${chargingStation.logPrefix()} The charging station configuration expects authorize at remote start transaction
-          but local authorization or must authorize at remote start isn't enabled`,
-      );
-    }
     // Authorization check required
     if (
       chargingStation.getAuthorizeRemoteTxRequests() === true &&
-      chargingStation.getMustAuthorizeAtRemoteStart() === true &&
       (await OCPP16ServiceUtils.isIdTagAuthorized(chargingStation, transactionConnectorId, idTag))
     ) {
       // Authorization successful, start transaction