refactor: cleanup default optional default arguments handling
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / OCPPServiceUtils.ts
index a9c5c562ea18c47e4d88470ca2a54831736af31a..d3930db4244b11502ccea147df11e641af5b5d0b 100644 (file)
@@ -227,20 +227,23 @@ export class OCPPServiceUtils {
     connectorId: number,
     idTag: string,
   ): Promise<boolean> {
-    let authorized = false;
-    if (OCPPServiceUtils.isIdTagLocalAuthorized(chargingStation, idTag)) {
+    if (!chargingStation.getLocalAuthListEnabled() && !chargingStation.getRemoteAuthorization()) {
+      logger.warn(
+        `${chargingStation.logPrefix()} The charging station expects to authorize RFID tags but nor local authorization nor remote authorization are enabled. Misbehavior may occur`,
+      );
+    }
+    if (
+      chargingStation.getLocalAuthListEnabled() === true &&
+      OCPPServiceUtils.isIdTagLocalAuthorized(chargingStation, idTag)
+    ) {
       const connectorStatus: ConnectorStatus = chargingStation.getConnectorStatus(connectorId)!;
       connectorStatus.localAuthorizeIdTag = idTag;
       connectorStatus.idTagLocalAuthorized = true;
-      authorized = true;
-    } else if (chargingStation.getMustAuthorizeAtRemoteStart()) {
-      authorized = await OCPPServiceUtils.isIdTagRemoteAuthorized(
-        chargingStation,
-        connectorId,
-        idTag,
-      );
+      return true;
+    } else if (chargingStation.getRemoteAuthorization()) {
+      return await OCPPServiceUtils.isIdTagRemoteAuthorized(chargingStation, connectorId, idTag);
     }
-    return authorized;
+    return false;
   }
 
   protected static checkConnectorStatusTransition(
@@ -403,10 +406,7 @@ export class OCPPServiceUtils {
   protected static getLimitFromSampledValueTemplateCustomValue(
     value: string,
     limit: number,
-    options: { limitationEnabled?: boolean; unitMultiplier?: number } = {
-      limitationEnabled: true,
-      unitMultiplier: 1,
-    },
+    options?: { limitationEnabled?: boolean; unitMultiplier?: number },
   ): number {
     options = {
       ...{
@@ -424,7 +424,6 @@ export class OCPPServiceUtils {
 
   private static isIdTagLocalAuthorized(chargingStation: ChargingStation, idTag: string): boolean {
     return (
-      chargingStation.getLocalAuthListEnabled() === true &&
       chargingStation.hasIdTags() === true &&
       isNotEmptyString(
         chargingStation.idTagsCache