X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes%2FChargingStationWorker.ts;h=ac13f441a921d50eced020fd4defe5c122f77993;hb=32c4b77bdc1c2d53bb2c37dd363d091816178190;hp=f016d8ffba7f980cf4ddb77d6222a5c236005676;hpb=98dc07faaf264c0263d2c8de382efa9db59cd5b4;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index f016d8ff..ac13f441 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -1,22 +1,55 @@ +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 { + elementStartDelay?: number; +} + export interface ChargingStationWorkerData extends WorkerData { index: number; templateFile: string; + chargingStationWorkerOptions?: ChargingStationWorkerOptions; } -enum InternalChargingStationWorkerMessageEvents { - PERFORMANCE_STATISTICS = 'performanceStatistics' +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[]; + automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration; } -export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | InternalChargingStationWorkerMessageEvents; +enum ChargingStationMessageEvents { + STARTED = 'started', + STOPPED = 'stopped', + UPDATED = 'updated', + PERFORMANCE_STATISTICS = 'performanceStatistics', +} + +export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents; export const ChargingStationWorkerMessageEvents = { ...WorkerMessageEvents, - ...InternalChargingStationWorkerMessageEvents + ...ChargingStationMessageEvents, }; +export type ChargingStationWorkerMessageData = ChargingStationData | Statistics; -export interface ChargingStationWorkerMessage extends Omit { +export type ChargingStationWorkerMessage = Omit< + WorkerMessage, + 'id' +> & { id: ChargingStationWorkerMessageEvents; -} +};