X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FChargingStationWorker.ts;h=64849fc1aaad5af2ccfde7a2653021a109831362;hb=e0d3c3592f990eadb77780b324ceaa105ba44dfa;hp=c27ec6eb32e3eeec4c3cd8290c3cd414502288fc;hpb=edd134392e237a3242dc2093341df70244c51472;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index c27ec6eb..64849fc1 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -1,14 +1,17 @@ import type { WebSocket } from 'ws'; 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 { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker'; +import { type WorkerData, type WorkerMessage, WorkerMessageEvents } from '../worker'; -export interface ChargingStationWorkerOptions extends JsonObject { +interface ChargingStationWorkerOptions extends JsonObject { elementStartDelay?: number; } @@ -18,37 +21,44 @@ export interface ChargingStationWorkerData extends WorkerData { chargingStationWorkerOptions?: ChargingStationWorkerOptions; } +export type EvseStatusWorkerType = Omit & { + connectors?: ConnectorStatus[]; +}; + export interface ChargingStationData extends WorkerData { - stationInfo: ChargingStationInfo; started: boolean; + stationInfo: ChargingStationInfo; + connectors: ConnectorStatus[]; + evses: EvseStatusWorkerType[]; + ocppConfiguration: ChargingStationOcppConfiguration; wsState?: | typeof WebSocket.CONNECTING | typeof WebSocket.OPEN | typeof WebSocket.CLOSING | typeof WebSocket.CLOSED; - bootNotificationResponse: BootNotificationResponse; - connectors: ConnectorStatus[]; + bootNotificationResponse?: BootNotificationResponse; automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration; } 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 = Omit< WorkerMessage, - 'id' + 'event' > & { - id: ChargingStationWorkerMessageEvents; + event: ChargingStationWorkerMessageEvents; };