feat(ui): enhance charging stations list structure
[e-mobility-charging-stations-simulator.git] / ui / web / src / types / ChargingStationType.ts
index 8164bce83bddcc918aea9bab1beca4afee77fbdf..a0c1b4c734ff9f9fc586063b3389fb34fb2fcae3 100644 (file)
@@ -1,5 +1,29 @@
 import type { JsonObject } from './JsonType'
 
+export enum IdTagDistribution {
+  RANDOM = 'random',
+  ROUND_ROBIN = 'round-robin',
+  CONNECTOR_AFFINITY = 'connector-affinity'
+}
+
+export interface AutomaticTransactionGeneratorConfiguration {
+  enable: boolean
+  minDuration: number
+  maxDuration: number
+  minDelayBetweenTwoTransactions: number
+  maxDelayBetweenTwoTransactions: number
+  probabilityOfStart: number
+  stopAfterHours: number
+  stopAbsoluteDuration: boolean
+  requireAuthorize?: boolean
+  idTagDistribution?: IdTagDistribution
+}
+
+export interface ChargingStationAutomaticTransactionGeneratorConfiguration {
+  automaticTransactionGenerator?: AutomaticTransactionGeneratorConfiguration
+  automaticTransactionGeneratorStatuses?: Status[]
+}
+
 export type ChargingStationData = {
   started: boolean
   stationInfo: ChargingStationInfo
@@ -13,7 +37,7 @@ export type ChargingStationData = {
     | typeof WebSocket.CLOSING
     | typeof WebSocket.CLOSED
   bootNotificationResponse?: BootNotificationResponse
-  automaticTransactionGenerator?: Status[]
+  automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration
 }
 
 export enum OCPP16FirmwareStatus {