Commit | Line | Data |
---|---|---|
179ed367 JB |
1 | import { |
2 | OutputFormat, | |
3 | buildChargingStationAutomaticTransactionGeneratorConfiguration, | |
4 | buildConnectorsStatus, | |
66a7748d JB |
5 | buildEvsesStatus |
6 | } from './ChargingStationConfigurationUtils.js' | |
7 | import type { ChargingStation } from '../charging-station/index.js' | |
32de5a57 | 8 | import { |
e0b0ee21 JB |
9 | type ChargingStationData, |
10 | type ChargingStationWorkerMessage, | |
32de5a57 | 11 | ChargingStationWorkerMessageEvents, |
66a7748d JB |
12 | type Statistics |
13 | } from '../types/index.js' | |
32de5a57 | 14 | |
244c1396 JB |
15 | export const buildAddedMessage = ( |
16 | chargingStation: ChargingStation | |
17 | ): ChargingStationWorkerMessage<ChargingStationData> => { | |
18 | return { | |
19 | event: ChargingStationWorkerMessageEvents.added, | |
20 | data: buildChargingStationDataPayload(chargingStation) | |
21 | } | |
22 | } | |
23 | ||
c8faabc8 | 24 | export const buildStartedMessage = ( |
66a7748d | 25 | chargingStation: ChargingStation |
c8faabc8 JB |
26 | ): ChargingStationWorkerMessage<ChargingStationData> => { |
27 | return { | |
8cc482a9 | 28 | event: ChargingStationWorkerMessageEvents.started, |
66a7748d JB |
29 | data: buildChargingStationDataPayload(chargingStation) |
30 | } | |
31 | } | |
32de5a57 | 32 | |
c8faabc8 | 33 | export const buildStoppedMessage = ( |
66a7748d | 34 | chargingStation: ChargingStation |
c8faabc8 JB |
35 | ): ChargingStationWorkerMessage<ChargingStationData> => { |
36 | return { | |
8cc482a9 | 37 | event: ChargingStationWorkerMessageEvents.stopped, |
66a7748d JB |
38 | data: buildChargingStationDataPayload(chargingStation) |
39 | } | |
40 | } | |
32de5a57 | 41 | |
c8faabc8 | 42 | export const buildUpdatedMessage = ( |
66a7748d | 43 | chargingStation: ChargingStation |
c8faabc8 JB |
44 | ): ChargingStationWorkerMessage<ChargingStationData> => { |
45 | return { | |
8cc482a9 | 46 | event: ChargingStationWorkerMessageEvents.updated, |
66a7748d JB |
47 | data: buildChargingStationDataPayload(chargingStation) |
48 | } | |
49 | } | |
32de5a57 | 50 | |
c8faabc8 | 51 | export const buildPerformanceStatisticsMessage = ( |
66a7748d | 52 | statistics: Statistics |
c8faabc8 JB |
53 | ): ChargingStationWorkerMessage<Statistics> => { |
54 | return { | |
8cc482a9 | 55 | event: ChargingStationWorkerMessageEvents.performanceStatistics, |
66a7748d JB |
56 | data: statistics |
57 | } | |
58 | } | |
32de5a57 | 59 | |
244c1396 JB |
60 | export const buildChargingStationDataPayload = ( |
61 | chargingStation: ChargingStation | |
62 | ): ChargingStationData => { | |
c8faabc8 JB |
63 | return { |
64 | started: chargingStation.started, | |
5199f9fd JB |
65 | // eslint-disable-next-line @typescript-eslint/no-non-null-assertion |
66 | stationInfo: chargingStation.stationInfo!, | |
c8faabc8 JB |
67 | connectors: buildConnectorsStatus(chargingStation), |
68 | evses: buildEvsesStatus(chargingStation, OutputFormat.worker), | |
66a7748d | 69 | // eslint-disable-next-line @typescript-eslint/no-non-null-assertion |
e1d9a0f4 | 70 | ocppConfiguration: chargingStation.ocppConfiguration!, |
5199f9fd | 71 | wsState: chargingStation.wsConnection?.readyState, |
c8faabc8 | 72 | bootNotificationResponse: chargingStation.bootNotificationResponse, |
66a7748d | 73 | ...(chargingStation.automaticTransactionGenerator != null && { |
c8faabc8 | 74 | automaticTransactionGenerator: |
66a7748d JB |
75 | buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation) |
76 | }) | |
77 | } | |
78 | } |