build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / types / AutomaticTransactionGenerator.ts
index f88659bff630ce8025e6f9f6082a9a2cee2e3e8e..68fd2fe3800b16b5dd14c7497ab5b99223400a74 100644 (file)
@@ -1,30 +1,42 @@
-export type AutomaticTransactionGeneratorConfiguration = {
-  enable: boolean;
-  minDuration: number;
-  maxDuration: number;
-  minDelayBetweenTwoTransactions: number;
-  maxDelayBetweenTwoTransactions: number;
-  probabilityOfStart: number;
-  stopAfterHours: number;
-  stopOnConnectionFailure: boolean;
-  requireAuthorize?: boolean;
-};
+export enum IdTagDistribution {
+  RANDOM = 'random',
+  ROUND_ROBIN = 'round-robin',
+  CONNECTOR_AFFINITY = 'connector-affinity',
+}
 
-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 interface AutomaticTransactionGeneratorConfiguration {
+  enable: boolean
+  minDuration: number
+  maxDuration: number
+  minDelayBetweenTwoTransactions: number
+  maxDelayBetweenTwoTransactions: number
+  probabilityOfStart: number
+  stopAfterHours: number
+  stopOnConnectionFailure: boolean
+  requireAuthorize?: boolean
+  idTagDistribution?: IdTagDistribution
+}
+
+export interface 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 interface ChargingStationAutomaticTransactionGeneratorConfiguration {
+  automaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration
+  automaticTransactionGeneratorStatuses?: Status[]
+}