build(deps-dev): apply updates
[e-mobility-charging-stations-simulator.git] / src / utils / MessageChannelUtils.ts
index 39c8b81915c0a29ad30624e78708471c3c924d74..36f797f5eb88feb3a9f5e0a4b6ea978b660a9f9b 100644 (file)
@@ -2,64 +2,87 @@ import {
   OutputFormat,
   buildChargingStationAutomaticTransactionGeneratorConfiguration,
   buildConnectorsStatus,
-  buildEvsesStatus,
-} from './ChargingStationConfigurationUtils';
-import type { ChargingStation } from '../charging-station';
+  buildEvsesStatus
+} from './ChargingStationConfigurationUtils.js'
+import type { ChargingStation } from '../charging-station/index.js'
 import {
   type ChargingStationData,
   type ChargingStationWorkerMessage,
   ChargingStationWorkerMessageEvents,
-  type Statistics,
-} from '../types';
+  type Statistics
+} from '../types/index.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,
+  chargingStation: ChargingStation
 ): ChargingStationWorkerMessage<ChargingStationData> => {
   return {
-    id: ChargingStationWorkerMessageEvents.started,
-    data: buildChargingStationDataPayload(chargingStation),
-  };
-};
+    event: ChargingStationWorkerMessageEvents.started,
+    data: buildChargingStationDataPayload(chargingStation)
+  }
+}
 
 export const buildStoppedMessage = (
-  chargingStation: ChargingStation,
+  chargingStation: ChargingStation
 ): ChargingStationWorkerMessage<ChargingStationData> => {
   return {
-    id: ChargingStationWorkerMessageEvents.stopped,
-    data: buildChargingStationDataPayload(chargingStation),
-  };
-};
+    event: ChargingStationWorkerMessageEvents.stopped,
+    data: buildChargingStationDataPayload(chargingStation)
+  }
+}
 
 export const buildUpdatedMessage = (
-  chargingStation: ChargingStation,
+  chargingStation: ChargingStation
 ): ChargingStationWorkerMessage<ChargingStationData> => {
   return {
-    id: ChargingStationWorkerMessageEvents.updated,
-    data: buildChargingStationDataPayload(chargingStation),
-  };
-};
+    event: ChargingStationWorkerMessageEvents.updated,
+    data: buildChargingStationDataPayload(chargingStation)
+  }
+}
 
 export const buildPerformanceStatisticsMessage = (
-  statistics: Statistics,
+  statistics: Statistics
 ): ChargingStationWorkerMessage<Statistics> => {
   return {
-    id: ChargingStationWorkerMessageEvents.performanceStatistics,
-    data: statistics,
-  };
-};
+    event: ChargingStationWorkerMessageEvents.performanceStatistics,
+    data: statistics
+  }
+}
 
-const buildChargingStationDataPayload = (chargingStation: ChargingStation): ChargingStationData => {
+export 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),
-    ocppConfiguration: chargingStation.ocppConfiguration,
-    wsState: chargingStation?.wsConnection?.readyState,
+    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+    ocppConfiguration: chargingStation.ocppConfiguration!,
+    supervisionUrl: chargingStation.wsConnectionUrl.href,
+    wsState: chargingStation.wsConnection?.readyState,
     bootNotificationResponse: chargingStation.bootNotificationResponse,
-    ...(chargingStation.automaticTransactionGenerator && {
+    ...(chargingStation.automaticTransactionGenerator != null && {
       automaticTransactionGenerator:
-        buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation),
-    }),
-  };
-};
+        buildChargingStationAutomaticTransactionGeneratorConfiguration(chargingStation)
+    })
+  }
+}