refactor: cleanup nullish values handling
[e-mobility-charging-stations-simulator.git] / src / charging-station / ocpp / 1.6 / OCPP16ResponseService.ts
index 3f311ba56e2687691644f41d04720d170466f412..7c2c041d716cab84e6e645b69bcd2db9f28dd003 100644 (file)
@@ -460,29 +460,30 @@ export class OCPP16ResponseService extends OCPPResponseService {
         }
       }
     }
-    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-    const authorizeConnectorStatus = chargingStation.getConnectorStatus(authorizeConnectorId!)
-    const authorizeConnectorIdDefined = authorizeConnectorId != null
-    if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) {
-      if (authorizeConnectorIdDefined) {
-        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-        authorizeConnectorStatus!.idTagAuthorized = true
+    if (authorizeConnectorId != null) {
+      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+      const authorizeConnectorStatus = chargingStation.getConnectorStatus(authorizeConnectorId)!
+      if (payload.idTagInfo.status === OCPP16AuthorizationStatus.ACCEPTED) {
+        authorizeConnectorStatus.idTagAuthorized = true
+        logger.debug(
+          `${chargingStation.logPrefix()} idTag '${
+            requestPayload.idTag
+          }' accepted on connector id ${authorizeConnectorId}`
+        )
+      } else {
+        authorizeConnectorStatus.idTagAuthorized = false
+        delete authorizeConnectorStatus.authorizeIdTag
+        logger.debug(
+          `${chargingStation.logPrefix()} idTag '${requestPayload.idTag}' rejected with status '${
+            payload.idTagInfo.status
+          }`
+        )
       }
-      logger.debug(
-        `${chargingStation.logPrefix()} idTag '${requestPayload.idTag}' accepted${
-          authorizeConnectorIdDefined ? ` on connector id ${authorizeConnectorId}` : ''
-        }`
-      )
     } else {
-      if (authorizeConnectorIdDefined) {
-        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-        authorizeConnectorStatus!.idTagAuthorized = false
-        delete authorizeConnectorStatus?.authorizeIdTag
-      }
-      logger.debug(
-        `${chargingStation.logPrefix()} idTag '${requestPayload.idTag}' rejected with status '${
-          payload.idTagInfo.status
-        }'${authorizeConnectorIdDefined ? ` on connector id ${authorizeConnectorId}` : ''}`
+      logger.error(
+        `${chargingStation.logPrefix()} idTag '${
+          requestPayload.idTag
+        }' has no authorize request pending`
       )
     }
   }
@@ -699,8 +700,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
     connectorId: number
   ): Promise<void> {
     const connectorStatus = chargingStation.getConnectorStatus(connectorId)
-    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-    resetConnectorStatus(connectorStatus!)
+    resetConnectorStatus(connectorStatus)
     chargingStation.stopMeterValues(connectorId)
     if (connectorStatus?.status !== OCPP16ChargePointStatus.Available) {
       await OCPP16ServiceUtils.sendAndSetConnectorStatus(
@@ -764,8 +764,7 @@ export class OCPP16ResponseService extends OCPPResponseService {
       // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
       chargingStation.powerDivider!--
     }
-    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
-    resetConnectorStatus(chargingStation.getConnectorStatus(transactionConnectorId)!)
+    resetConnectorStatus(chargingStation.getConnectorStatus(transactionConnectorId))
     chargingStation.stopMeterValues(transactionConnectorId)
     const logMsg = `${chargingStation.logPrefix()} Transaction with id ${
       requestPayload.transactionId