X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Futils%2FMessageChannelUtils.ts;h=4164c36bf11c96f18b8250cfd47be98bdeb897d5;hb=8a4f882a2486682b72195ad978ec1d81604b452b;hp=f3008b50d117b675cfeec772a8b90518669a998d;hpb=8cc482a9324a0989516b6eb6db85a16258c4b4d1;p=e-mobility-charging-stations-simulator.git diff --git a/src/utils/MessageChannelUtils.ts b/src/utils/MessageChannelUtils.ts index f3008b50..4164c36b 100644 --- a/src/utils/MessageChannelUtils.ts +++ b/src/utils/MessageChannelUtils.ts @@ -1,65 +1,86 @@ -import { - OutputFormat, - buildChargingStationAutomaticTransactionGeneratorConfiguration, - buildConnectorsStatus, - buildEvsesStatus, -} from './ChargingStationConfigurationUtils'; -import type { ChargingStation } from '../charging-station'; +import type { ChargingStation } from '../charging-station/index.js' import { type ChargingStationData, type ChargingStationWorkerMessage, ChargingStationWorkerMessageEvents, - type Statistics, -} from '../types'; + type Statistics +} from '../types/index.js' +import { + buildChargingStationAutomaticTransactionGeneratorConfiguration, + buildConnectorsStatus, + buildEvsesStatus, + OutputFormat +} from './ChargingStationConfigurationUtils.js' + +export const buildAddedMessage = ( + chargingStation: ChargingStation +): ChargingStationWorkerMessage => { + return { + event: ChargingStationWorkerMessageEvents.added, + data: buildChargingStationDataPayload(chargingStation) + } +} + +export const buildDeletedMessage = ( + chargingStation: ChargingStation +): ChargingStationWorkerMessage => { + return { + event: ChargingStationWorkerMessageEvents.deleted, + data: buildChargingStationDataPayload(chargingStation) + } +} export const buildStartedMessage = ( - chargingStation: ChargingStation, + chargingStation: ChargingStation ): ChargingStationWorkerMessage => { return { event: ChargingStationWorkerMessageEvents.started, - data: buildChargingStationDataPayload(chargingStation), - }; -}; + data: buildChargingStationDataPayload(chargingStation) + } +} export const buildStoppedMessage = ( - chargingStation: ChargingStation, + chargingStation: ChargingStation ): ChargingStationWorkerMessage => { return { event: ChargingStationWorkerMessageEvents.stopped, - data: buildChargingStationDataPayload(chargingStation), - }; -}; + data: buildChargingStationDataPayload(chargingStation) + } +} export const buildUpdatedMessage = ( - chargingStation: ChargingStation, + chargingStation: ChargingStation ): ChargingStationWorkerMessage => { return { event: ChargingStationWorkerMessageEvents.updated, - data: buildChargingStationDataPayload(chargingStation), - }; -}; + data: buildChargingStationDataPayload(chargingStation) + } +} export const buildPerformanceStatisticsMessage = ( - statistics: Statistics, + statistics: Statistics ): ChargingStationWorkerMessage => { return { event: ChargingStationWorkerMessageEvents.performanceStatistics, - data: statistics, - }; -}; + data: statistics + } +} const buildChargingStationDataPayload = (chargingStation: ChargingStation): ChargingStationData => { return { started: chargingStation.started, - stationInfo: chargingStation.stationInfo, + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + stationInfo: chargingStation.stationInfo!, connectors: buildConnectorsStatus(chargingStation), evses: buildEvsesStatus(chargingStation, OutputFormat.worker), + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion ocppConfiguration: chargingStation.ocppConfiguration!, - wsState: chargingStation?.wsConnection?.readyState, + supervisionUrl: chargingStation.wsConnectionUrl.href, + wsState: chargingStation.wsConnection?.readyState, bootNotificationResponse: chargingStation.bootNotificationResponse, - ...(chargingStation.automaticTransactionGenerator && { + ...(chargingStation.automaticTransactionGenerator != null && { automaticTransactionGenerator: - buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation), - }), - }; -}; + buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation) + }) + } +}