refactor: cleanup utils export
[e-mobility-charging-stations-simulator.git] / src / utils / MessageChannelUtils.ts
index 842b8bfe5644332e52acb7c6d833cfcc552a4bce..4164c36bf11c96f18b8250cfd47be98bdeb897d5 100644 (file)
@@ -1,9 +1,3 @@
-import {
-  OutputFormat,
-  buildChargingStationAutomaticTransactionGeneratorConfiguration,
-  buildConnectorsStatus,
-  buildEvsesStatus
-} from './ChargingStationConfigurationUtils.js'
 import type { ChargingStation } from '../charging-station/index.js'
 import {
   type ChargingStationData,
@@ -11,6 +5,30 @@ import {
   ChargingStationWorkerMessageEvents,
   type Statistics
 } from '../types/index.js'
+import {
+  buildChargingStationAutomaticTransactionGeneratorConfiguration,
+  buildConnectorsStatus,
+  buildEvsesStatus,
+  OutputFormat
+} from './ChargingStationConfigurationUtils.js'
+
+export const buildAddedMessage = (
+  chargingStation: ChargingStation
+): ChargingStationWorkerMessage<ChargingStationData> => {
+  return {
+    event: ChargingStationWorkerMessageEvents.added,
+    data: buildChargingStationDataPayload(chargingStation)
+  }
+}
+
+export const buildDeletedMessage = (
+  chargingStation: ChargingStation
+): ChargingStationWorkerMessage<ChargingStationData> => {
+  return {
+    event: ChargingStationWorkerMessageEvents.deleted,
+    data: buildChargingStationDataPayload(chargingStation)
+  }
+}
 
 export const buildStartedMessage = (
   chargingStation: ChargingStation
@@ -51,12 +69,14 @@ export const buildPerformanceStatisticsMessage = (
 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 != null && {
       automaticTransactionGenerator: