X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FAutomaticTransactionGenerator.ts;h=a91c9067e8c73f38afd3064e863be7f4988c7d60;hb=1b821a640d1f793e969eed6d76e9c20e7cebb626;hp=940a5d75b7115bf212928223e514f01109e8b112;hpb=071a9315b94fb1c6f7996ca71e42794ac9ff9f82;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/AutomaticTransactionGenerator.ts b/src/types/AutomaticTransactionGenerator.ts index 940a5d75..a91c9067 100644 --- a/src/types/AutomaticTransactionGenerator.ts +++ b/src/types/AutomaticTransactionGenerator.ts @@ -1,5 +1,24 @@ -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; @@ -11,6 +30,13 @@ export interface Status { acceptedStartTransactionRequests?: number; rejectedStartTransactionRequests?: number; stopTransactionRequests?: number; + acceptedStopTransactionRequests?: number; + rejectedStopTransactionRequests?: number; skippedConsecutiveTransactions?: number; skippedTransactions?: number; -} +}; + +export type ChargingStationAutomaticTransactionGeneratorConfiguration = { + automaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration; + automaticTransactionGeneratorStatuses?: Status[]; +};