-};
-
-export const resetConnectorStatus = (connectorStatus: ConnectorStatus): void => {
- connectorStatus.idTagLocalAuthorized = false;
- connectorStatus.idTagAuthorized = false;
- connectorStatus.transactionRemoteStarted = false;
- connectorStatus.transactionStarted = false;
- delete connectorStatus?.transactionStart;
- delete connectorStatus?.transactionId;
- delete connectorStatus?.localAuthorizeIdTag;
- delete connectorStatus?.authorizeIdTag;
- delete connectorStatus?.transactionIdTag;
- connectorStatus.transactionEnergyActiveImportRegisterValue = 0;
- delete connectorStatus?.transactionBeginMeterValue;
-};
+}
+
+export const resetAuthorizeConnectorStatus = (connectorStatus: ConnectorStatus): void => {
+ connectorStatus.idTagLocalAuthorized = false
+ connectorStatus.idTagAuthorized = false
+ delete connectorStatus.localAuthorizeIdTag
+ delete connectorStatus.authorizeIdTag
+}
+
+export const resetConnectorStatus = (connectorStatus: ConnectorStatus | undefined): void => {
+ if (connectorStatus == null) {
+ return
+ }
+ 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
+ delete connectorStatus.transactionStart
+ delete connectorStatus.transactionId
+ delete connectorStatus.transactionIdTag
+ connectorStatus.transactionEnergyActiveImportRegisterValue = 0
+ delete connectorStatus.transactionBeginMeterValue
+}