X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftypes%2FChargingStationWorker.ts;h=2326d765c7ddd05f3021cb46d1d001ae2f4da0b9;hb=0a96409ab6db51ef7b2e6e292216d12c926f7e9c;hp=3604a85d01e367d8257838c7eab2aedbbb590c4a;hpb=981ebfbeeb421a4b620aa61861f9ddb313a03f67;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/ChargingStationWorker.ts b/src/types/ChargingStationWorker.ts index 3604a85d..2326d765 100644 --- a/src/types/ChargingStationWorker.ts +++ b/src/types/ChargingStationWorker.ts @@ -1,12 +1,16 @@ -import type { Status } from './AutomaticTransactionGenerator'; +import type { WebSocket } from 'ws'; + +import type { ChargingStationAutomaticTransactionGeneratorConfiguration } from './AutomaticTransactionGenerator'; 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; } @@ -16,32 +20,43 @@ export interface ChargingStationWorkerData extends WorkerData { chargingStationWorkerOptions?: ChargingStationWorkerOptions; } +export type EvseStatusWorkerType = Omit & { + connectors?: ConnectorStatus[]; +}; + export interface ChargingStationData extends WorkerData { - stationInfo: ChargingStationInfo; started: boolean; - wsState?: number; - bootNotificationResponse: BootNotificationResponse; + stationInfo: ChargingStationInfo; connectors: ConnectorStatus[]; - automaticTransactionGeneratorStatuses?: Status[]; + evses: EvseStatusWorkerType[]; + ocppConfiguration: ChargingStationOcppConfiguration; + wsState?: + | typeof WebSocket.CONNECTING + | typeof WebSocket.OPEN + | typeof WebSocket.CLOSING + | typeof WebSocket.CLOSED; + bootNotificationResponse?: BootNotificationResponse; + automaticTransactionGenerator?: ChargingStationAutomaticTransactionGeneratorConfiguration; } enum ChargingStationMessageEvents { - STARTED = 'started', - STOPPED = 'stopped', - UPDATED = 'updated', - PERFORMANCE_STATISTICS = 'performanceStatistics', + started = 'started', + stopped = 'stopped', + updated = 'updated', + performanceStatistics = 'performanceStatistics', } -export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents; - export const ChargingStationWorkerMessageEvents = { ...WorkerMessageEvents, ...ChargingStationMessageEvents, -}; +} as const; +export type ChargingStationWorkerMessageEvents = WorkerMessageEvents | ChargingStationMessageEvents; export type ChargingStationWorkerMessageData = ChargingStationData | Statistics; -export interface ChargingStationWorkerMessage - extends Omit, 'id'> { - id: ChargingStationWorkerMessageEvents; -} +export type ChargingStationWorkerMessage = Omit< + WorkerMessage, + 'event' +> & { + event: ChargingStationWorkerMessageEvents; +};