Add DataTransfer support for incoming request
[e-mobility-charging-stations-simulator.git] / src / charging-station / AutomaticTransactionGenerator.ts
index fb04d709287b5a8ca0b9945b678f7a06c5fe679c..a6d3031c88336801233beaba865ab68bf2c5abe6 100644 (file)
@@ -93,10 +93,15 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
     }
     if (this.connectorsStatus.get(connectorId)?.start === false) {
       this.runInAsyncScope(
-        this.internalStartConnector.bind(this) as (this: this, ...args: any[]) => unknown,
+        this.internalStartConnector.bind(this) as (
+          this: AutomaticTransactionGenerator,
+          ...args: any[]
+        ) => Promise<void>,
         this,
         connectorId
-      );
+      ).catch(() => {
+        /* This is intentional */
+      });
     } else if (this.connectorsStatus.get(connectorId)?.start === true) {
       logger.warn(`${this.logPrefix(connectorId)} is already started on connector`);
     }
@@ -138,8 +143,7 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
   }
 
   private async internalStartConnector(connectorId: number): Promise<void> {
-    this.initializeConnectorStatus(connectorId);
-    this.connectorsStatus.get(connectorId).start = true;
+    this.setStartConnectorStatus(connectorId);
     logger.info(
       this.logPrefix(connectorId) +
         ' started on connector and will run for ' +
@@ -153,7 +157,7 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
         this.stopConnector(connectorId);
         break;
       }
-      if (!this.chargingStation.isInAcceptedState()) {
+      if (this.chargingStation.isInAcceptedState() === false) {
         logger.error(
           this.logPrefix(connectorId) +
             ' entered in transaction loop while the charging station is not in accepted state'
@@ -161,7 +165,7 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
         this.stopConnector(connectorId);
         break;
       }
-      if (!this.chargingStation.isChargingStationAvailable()) {
+      if (this.chargingStation.isChargingStationAvailable() === false) {
         logger.info(
           this.logPrefix(connectorId) +
             ' entered in transaction loop while the charging station is unavailable'
@@ -169,7 +173,7 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
         this.stopConnector(connectorId);
         break;
       }
-      if (!this.chargingStation.isConnectorAvailable(connectorId)) {
+      if (this.chargingStation.isConnectorAvailable(connectorId) === false) {
         logger.info(
           `${this.logPrefix(
             connectorId
@@ -252,28 +256,8 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
     );
   }
 
-  private initializeConnectorStatus(connectorId: number): void {
-    this.connectorsStatus.get(connectorId).authorizeRequests =
-      this?.connectorsStatus.get(connectorId)?.authorizeRequests ?? 0;
-    this.connectorsStatus.get(connectorId).acceptedAuthorizeRequests =
-      this?.connectorsStatus.get(connectorId)?.acceptedAuthorizeRequests ?? 0;
-    this.connectorsStatus.get(connectorId).rejectedAuthorizeRequests =
-      this?.connectorsStatus.get(connectorId)?.rejectedAuthorizeRequests ?? 0;
-    this.connectorsStatus.get(connectorId).startTransactionRequests =
-      this?.connectorsStatus.get(connectorId)?.startTransactionRequests ?? 0;
-    this.connectorsStatus.get(connectorId).acceptedStartTransactionRequests =
-      this?.connectorsStatus.get(connectorId)?.acceptedStartTransactionRequests ?? 0;
-    this.connectorsStatus.get(connectorId).rejectedStartTransactionRequests =
-      this?.connectorsStatus.get(connectorId)?.rejectedStartTransactionRequests ?? 0;
-    this.connectorsStatus.get(connectorId).stopTransactionRequests =
-      this?.connectorsStatus.get(connectorId)?.stopTransactionRequests ?? 0;
-    this.connectorsStatus.get(connectorId).acceptedStopTransactionRequests =
-      this?.connectorsStatus.get(connectorId)?.acceptedStopTransactionRequests ?? 0;
-    this.connectorsStatus.get(connectorId).rejectedStopTransactionRequests =
-      this?.connectorsStatus.get(connectorId)?.rejectedStopTransactionRequests ?? 0;
+  private setStartConnectorStatus(connectorId: number): void {
     this.connectorsStatus.get(connectorId).skippedConsecutiveTransactions = 0;
-    this.connectorsStatus.get(connectorId).skippedTransactions =
-      this?.connectorsStatus.get(connectorId)?.skippedTransactions ?? 0;
     const previousRunDuration =
       this?.connectorsStatus.get(connectorId)?.startDate &&
       this?.connectorsStatus.get(connectorId)?.lastRunDate
@@ -289,8 +273,7 @@ export default class AutomaticTransactionGenerator extends AsyncResource {
           1000 -
         previousRunDuration
     );
-    this.connectorsStatus.get(connectorId).start =
-      this?.connectorsStatus.get(connectorId)?.start ?? false;
+    this.connectorsStatus.get(connectorId).start = true;
   }
 
   private initializeConnectorsStatus(): void {