fix: fix ATG refresh at template changes
[e-mobility-charging-stations-simulator.git] / src / types / AutomaticTransactionGenerator.ts
index e7fe178fba29940b5646c748100adcf29472e484..a91c9067e8c73f38afd3064e863be7f4988c7d60 100644 (file)
@@ -1,9 +1,42 @@
-export interface Status {
-  start?: boolean;
+export enum IdTagDistribution {
+  RANDOM = 'random',
+  ROUND_ROBIN = 'round-robin',
+  CONNECTOR_AFFINITY = 'connector-affinity',
+}
+
+export type AutomaticTransactionGeneratorConfiguration = {
+  enable: boolean;
+  minDuration: number;
+  maxDuration: number;
+  minDelayBetweenTwoTransactions: number;
+  maxDelayBetweenTwoTransactions: number;
+  probabilityOfStart: number;
+  stopAfterHours: number;
+  stopOnConnectionFailure: boolean;
+  requireAuthorize?: boolean;
+  idTagDistribution?: IdTagDistribution;
+};
+
+export type Status = {
+  start: boolean;
   startDate?: Date;
   lastRunDate?: Date;
   stopDate?: Date;
   stoppedDate?: Date;
+  authorizeRequests?: number;
+  acceptedAuthorizeRequests?: number;
+  rejectedAuthorizeRequests?: number;
+  startTransactionRequests?: number;
+  acceptedStartTransactionRequests?: number;
+  rejectedStartTransactionRequests?: number;
+  stopTransactionRequests?: number;
+  acceptedStopTransactionRequests?: number;
+  rejectedStopTransactionRequests?: number;
   skippedConsecutiveTransactions?: number;
   skippedTransactions?: number;
-}
+};
+
+export type ChargingStationAutomaticTransactionGeneratorConfiguration = {
+  automaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration;
+  automaticTransactionGeneratorStatuses?: Status[];
+};