Cleanups.
[e-mobility-charging-stations-simulator.git] / src / charging-station / AutomaticTransactionGenerator.ts
index 363605be0e8a19d8d57718c2e3a33a1fe58ae3d0..d6a825ed0db7eb419ad4a8f1c443a02f8b5bfc26 100644 (file)
@@ -130,15 +130,19 @@ export default class AutomaticTransactionGenerator {
   private async startTransaction(connectorId: number, self: AutomaticTransactionGenerator): Promise<StartTransactionResponse> {
     if (self._chargingStation.hasAuthorizedTags()) {
       const tagId = self._chargingStation.getRandomTagId();
-      logger.info(self._logPrefix(connectorId) + ' start transaction for tagID ' + tagId);
-      // Authorize tagId
-      const authorizeResponse = await self._chargingStation.sendAuthorize(tagId);
-      if (authorizeResponse?.idTagInfo?.status === AuthorizationStatus.ACCEPTED) {
-        // Start transaction
-        return await self._chargingStation.sendStartTransaction(connectorId, tagId);
-      } else {
+      if (self._chargingStation.stationInfo.AutomaticTransactionGenerator.requireAuthorize) {
+        // Authorize tagId
+        const authorizeResponse = await self._chargingStation.sendAuthorize(tagId);
+        if (authorizeResponse?.idTagInfo?.status === AuthorizationStatus.ACCEPTED) {
+          logger.info(self._logPrefix(connectorId) + ' start transaction for tagID ' + tagId);
+          // Start transaction
+          return await self._chargingStation.sendStartTransaction(connectorId, tagId);
+        }
         return authorizeResponse as StartTransactionResponse;
       }
+      logger.info(self._logPrefix(connectorId) + ' start transaction for tagID ' + tagId);
+      // Start transaction
+      return await self._chargingStation.sendStartTransaction(connectorId, tagId);
     }
     logger.info(self._logPrefix(connectorId) + ' start transaction without a tagID');
     return await self._chargingStation.sendStartTransaction(connectorId);