X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FAutomaticTransactionGenerator.ts;h=2ff04c09096a42fcc8e33b2a8bb937fa84fd4cc8;hb=2162e174630d4335e0fb8e7d587683b96af0d9a3;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..2ff04c09 100644 --- a/src/types/AutomaticTransactionGenerator.ts +++ b/src/types/AutomaticTransactionGenerator.ts @@ -1,9 +1,44 @@ +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; - 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[] }