X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FChargingStationWorker.ts;h=ec6e92b52bf1243ab4f1c77b13265b0ca2239a0a;hb=36999e7745b090d38c68015929b5d223b4162613;hp=fe09514f26fbe71b40d90c0762b12b45e7606efe;hpb=3e0905a14af7b7e0a96e859d6c4c615044845d54;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index fe09514f..ec6e92b5 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -1,6 +1,12 @@ -import { WorkerData, WorkerMessage, WorkerMessageEvents } from './Worker'; +import type { WebSocket } from 'ws'; -import { JsonObject } from './JsonType'; +import type { Status } 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 { elementStartDelay?: number; @@ -12,22 +18,35 @@ export interface ChargingStationWorkerData extends WorkerData { chargingStationWorkerOptions?: ChargingStationWorkerOptions; } -enum InternalChargingStationWorkerMessageEvents { +export interface ChargingStationData extends WorkerData { + stationInfo: ChargingStationInfo; + started: boolean; + wsState?: + | typeof WebSocket.CONNECTING + | typeof WebSocket.OPEN + | typeof WebSocket.CLOSING + | typeof WebSocket.CLOSED; + bootNotificationResponse: BootNotificationResponse; + connectors: ConnectorStatus[]; + automaticTransactionGeneratorStatuses?: Status[]; +} + +enum ChargingStationMessageEvents { STARTED = 'started', STOPPED = 'stopped', + UPDATED = 'updated', PERFORMANCE_STATISTICS = 'performanceStatistics', } -export type ChargingStationWorkerMessageEvents = - | WorkerMessageEvents - | InternalChargingStationWorkerMessageEvents; +export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents; export const ChargingStationWorkerMessageEvents = { ...WorkerMessageEvents, - ...InternalChargingStationWorkerMessageEvents, + ...ChargingStationMessageEvents, }; -export interface ChargingStationWorkerMessage - extends Omit, 'id'> { +export type ChargingStationWorkerMessageData = ChargingStationData | Statistics; + +export type ChargingStationWorkerMessage = Omit, 'id'> & { id: ChargingStationWorkerMessageEvents; -} +};