refactor: refine .cfignore
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
index 5b12307973d495118e65b273bc00190d32809b20..ff3c5ef0fe56ed6b29d11745279dd334741a3b92 100644 (file)
@@ -11,14 +11,20 @@ import type { BootNotificationResponse } from './ocpp/Responses.js'
 import type { Statistics } from './Statistics.js'
 import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker/index.js'
 
-interface ChargingStationWorkerOptions extends JsonObject {
-  elementStartDelay?: number
+export interface ChargingStationOptions extends JsonObject {
+  supervisionUrls?: string | string[]
+  persistentConfiguration?: boolean
+  autoStart?: boolean
+  autoRegister?: boolean
+  enableStatistics?: boolean
+  ocppStrictCompliance?: boolean
+  stopTransactionsOnStopped?: boolean
 }
 
 export interface ChargingStationWorkerData extends WorkerData {
   index: number
   templateFile: string
-  chargingStationWorkerOptions?: ChargingStationWorkerOptions
+  options?: ChargingStationOptions
 }
 
 export type EvseStatusWorkerType = Omit<EvseStatus, 'connectors'> & {
@@ -31,6 +37,7 @@ export interface ChargingStationData extends WorkerData {
   connectors: ConnectorStatus[]
   evses: EvseStatusWorkerType[]
   ocppConfiguration: ChargingStationOcppConfiguration
+  supervisionUrl: string
   wsState?:
   | typeof WebSocket.CONNECTING
   | typeof WebSocket.OPEN
@@ -55,7 +62,17 @@ export type ChargingStationWorkerMessageEvents =
   | ChargingStationEvents
   | ChargingStationMessageEvents
 
-export type ChargingStationWorkerMessageData = ChargingStationData | Statistics
+export interface ChargingStationWorkerEventError extends WorkerData {
+  event: WorkerMessageEvents
+  name: string
+  message: string
+  stack?: string
+}
+
+export type ChargingStationWorkerMessageData =
+  | ChargingStationData
+  | Statistics
+  | ChargingStationWorkerEventError
 
 export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
 WorkerMessage<T>,