refactor(simulator): introduce HTTP methods enum
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
index ac13f441a921d50eced020fd4defe5c122f77993..d53152dc00dd4c2cf56f0d23064d35548468d9cc 100644 (file)
@@ -1,14 +1,17 @@
 import type { WebSocket } from 'ws';
 
-import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
-import type { ChargingStationInfo } from './ChargingStationInfo';
-import type { ConnectorStatus } from './ConnectorStatus';
-import type { JsonObject } from './JsonType';
-import type { BootNotificationResponse } from './ocpp/Responses';
-import type { Statistics } from './Statistics';
-import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker';
-
-export interface ChargingStationWorkerOptions extends JsonObject {
+import type {
+  BootNotificationResponse,
+  ChargingStationAutomaticTransactionGeneratorConfiguration,
+  ChargingStationInfo,
+  ChargingStationOcppConfiguration,
+  ConnectorStatus,
+  JsonObject,
+  Statistics,
+} from './internal';
+import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker';
+
+interface ChargingStationWorkerOptions extends JsonObject {
   elementStartDelay?: number;
 }
 
@@ -19,15 +22,16 @@ export interface ChargingStationWorkerData extends WorkerData {
 }
 
 export interface ChargingStationData extends WorkerData {
-  stationInfo: ChargingStationInfo;
   started: boolean;
+  stationInfo: ChargingStationInfo;
+  connectors: ConnectorStatus[];
+  ocppConfiguration: ChargingStationOcppConfiguration;
   wsState?:
     | typeof WebSocket.CONNECTING
     | typeof WebSocket.OPEN
     | typeof WebSocket.CLOSING
     | typeof WebSocket.CLOSED;
-  bootNotificationResponse: BootNotificationResponse;
-  connectors: ConnectorStatus[];
+  bootNotificationResponse?: BootNotificationResponse;
   automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration;
 }
 
@@ -38,12 +42,11 @@ enum ChargingStationMessageEvents {
   PERFORMANCE_STATISTICS = 'performanceStatistics',
 }
 
-export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
-
 export const ChargingStationWorkerMessageEvents = {
   ...WorkerMessageEvents,
   ...ChargingStationMessageEvents,
-};
+} as const;
+export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
 
 export type ChargingStationWorkerMessageData = ChargingStationData | Statistics;