X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes%2FAutomaticTransactionGenerator.ts;h=2ff04c09096a42fcc8e33b2a8bb937fa84fd4cc8;hb=ea7468e8b7c855a3fe06656945c0a26c162b0ffb;hp=83e88c68cfc3ad9588efc85951c3bb651aaf149a;hpb=fa7bccf4a465d2156c43a3b5f33f0b521da52dc3;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/AutomaticTransactionGenerator.ts b/src/types/AutomaticTransactionGenerator.ts index 83e88c68..2ff04c09 100644 --- a/src/types/AutomaticTransactionGenerator.ts +++ b/src/types/AutomaticTransactionGenerator.ts @@ -1,28 +1,44 @@ -export interface AutomaticTransactionGeneratorConfiguration { - enable: boolean; - minDuration: number; - maxDuration: number; - minDelayBetweenTwoTransactions: number; - maxDelayBetweenTwoTransactions: number; - probabilityOfStart: number; - stopAfterHours: number; - stopOnConnectionFailure: boolean; - requireAuthorize?: boolean; +import type { JsonObject } from './JsonType.js' + +export enum IdTagDistribution { + RANDOM = 'random', + ROUND_ROBIN = 'round-robin', + CONNECTOR_AFFINITY = 'connector-affinity' +} + +export interface AutomaticTransactionGeneratorConfiguration extends JsonObject { + enable: boolean + minDuration: number + maxDuration: number + minDelayBetweenTwoTransactions: number + maxDelayBetweenTwoTransactions: number + probabilityOfStart: number + stopAfterHours: number + stopAbsoluteDuration: 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; - skippedConsecutiveTransactions?: number; - skippedTransactions?: number; + 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[] }