X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FAutomaticTransactionGenerator.ts;h=a91c9067e8c73f38afd3064e863be7f4988c7d60;hb=ac7f79af9a7d553aa0806b97fa138b15cd3d9542;hp=e7fe178fba29940b5646c748100adcf29472e484;hpb=9664ec50ce58f2fa682ad687a214d090a95d51f7;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/AutomaticTransactionGenerator.ts b/src/types/AutomaticTransactionGenerator.ts index e7fe178f..a91c9067 100644 --- a/src/types/AutomaticTransactionGenerator.ts +++ b/src/types/AutomaticTransactionGenerator.ts @@ -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[]; +};