fix: ensure charging profiles not related to the current transaction are
[e-mobility-charging-stations-simulator.git] / src / charging-station / Helpers.ts
index 9d67e9306c924cb7274aee36133ecb26f4c3c513..804eb7a1c0593891813a41622e866700aba067f3 100644 (file)
@@ -416,12 +416,15 @@ export const resetConnectorStatus = (connectorStatus: ConnectorStatus | undefine
   if (connectorStatus == null) {
     return
   }
-  connectorStatus.chargingProfiles =
-    connectorStatus.transactionId != null && isNotEmptyArray(connectorStatus.chargingProfiles)
-      ? connectorStatus.chargingProfiles.filter(
-        chargingProfile => chargingProfile.transactionId !== connectorStatus.transactionId
-      )
-      : []
+  if (isNotEmptyArray(connectorStatus.chargingProfiles)) {
+    connectorStatus.chargingProfiles = connectorStatus.chargingProfiles.filter(
+      chargingProfile =>
+        (chargingProfile.transactionId != null &&
+          connectorStatus.transactionId != null &&
+          chargingProfile.transactionId !== connectorStatus.transactionId) ||
+        chargingProfile.transactionId == null
+    )
+  }
   resetAuthorizeConnectorStatus(connectorStatus)
   connectorStatus.transactionRemoteStarted = false
   connectorStatus.transactionStarted = false