build(deps): apply updates
[e-mobility-charging-stations-simulator.git] / src / types / ChargingStationWorker.ts
index d53152dc00dd4c2cf56f0d23064d35548468d9cc..64849fc1aaad5af2ccfde7a2653021a109831362 100644 (file)
@@ -1,14 +1,14 @@
 import type { WebSocket } from 'ws';
 
-import type {
-  BootNotificationResponse,
-  ChargingStationAutomaticTransactionGeneratorConfiguration,
-  ChargingStationInfo,
-  ChargingStationOcppConfiguration,
-  ConnectorStatus,
-  JsonObject,
-  Statistics,
-} from './internal';
+import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator';
+import { ChargingStationEvents } from './ChargingStationEvents';
+import type { ChargingStationInfo } from './ChargingStationInfo';
+import type { ChargingStationOcppConfiguration } from './ChargingStationOcppConfiguration';
+import type { ConnectorStatus } from './ConnectorStatus';
+import type { EvseStatus } from './Evse';
+import type { JsonObject } from './JsonType';
+import type { BootNotificationResponse } from './ocpp/Responses';
+import type { Statistics } from './Statistics';
 import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker';
 
 interface ChargingStationWorkerOptions extends JsonObject {
@@ -21,10 +21,15 @@ export interface ChargingStationWorkerData extends WorkerData {
   chargingStationWorkerOptions?: ChargingStationWorkerOptions;
 }
 
+export type EvseStatusWorkerType = Omit<EvseStatus, 'connectors'> & {
+  connectors?: ConnectorStatus[];
+};
+
 export interface ChargingStationData extends WorkerData {
   started: boolean;
   stationInfo: ChargingStationInfo;
   connectors: ConnectorStatus[];
+  evses: EvseStatusWorkerType[];
   ocppConfiguration: ChargingStationOcppConfiguration;
   wsState?:
     | typeof WebSocket.CONNECTING
@@ -36,23 +41,24 @@ export interface ChargingStationData extends WorkerData {
 }
 
 enum ChargingStationMessageEvents {
-  STARTED = 'started',
-  STOPPED = 'stopped',
-  UPDATED = 'updated',
-  PERFORMANCE_STATISTICS = 'performanceStatistics',
+  performanceStatistics = 'performanceStatistics',
 }
 
 export const ChargingStationWorkerMessageEvents = {
   ...WorkerMessageEvents,
+  ...ChargingStationEvents,
   ...ChargingStationMessageEvents,
 } as const;
-export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents;
+export type ChargingStationWorkerMessageEvents =
+  | WorkerMessageEvents
+  | ChargingStationEvents
+  | ChargingStationMessageEvents;
 
 export type ChargingStationWorkerMessageData = ChargingStationData | Statistics;
 
 export type ChargingStationWorkerMessage<T extends ChargingStationWorkerMessageData> = Omit<
   WorkerMessage<T>,
-  'id'
+  'event'
 > & {
-  id: ChargingStationWorkerMessageEvents;
+  event: ChargingStationWorkerMessageEvents;
 };