Refine TS and linter configuration
[e-mobility-charging-stations-simulator.git] / src / charging-station / ui-server / ui-services / UIService001.ts
index d4f59ebc5e71746f609492e27d2042ca9be16101..11925ee48a26789997e54818d5b9f03e27f14c21 100644 (file)
@@ -8,7 +8,7 @@ import {
   BroadcastChannelProcedureName,
   BroadcastChannelRequestPayload,
 } from '../../../types/WorkerBroadcastChannel';
-import { AbstractUIServer } from '../AbstractUIServer';
+import type { AbstractUIServer } from '../AbstractUIServer';
 import AbstractUIService from './AbstractUIService';
 
 export default class UIService001 extends AbstractUIService {
@@ -30,6 +30,14 @@ export default class UIService001 extends AbstractUIService {
       ProcedureName.STOP_CHARGING_STATION,
       this.handleStopChargingStation.bind(this) as ProtocolRequestHandler
     );
+    this.requestHandlers.set(
+      ProcedureName.OPEN_CONNECTION,
+      this.handleOpenConnection.bind(this) as ProtocolRequestHandler
+    );
+    this.requestHandlers.set(
+      ProcedureName.CLOSE_CONNECTION,
+      this.handleCloseConnection.bind(this) as ProtocolRequestHandler
+    );
   }
 
   private handleStartTransaction(uuid: string, payload: RequestPayload): void {
@@ -63,4 +71,20 @@ export default class UIService001 extends AbstractUIService {
       payload as BroadcastChannelRequestPayload,
     ]);
   }
+
+  private handleOpenConnection(uuid: string, payload: RequestPayload): void {
+    this.uiServiceWorkerBroadcastChannel.sendRequest([
+      uuid,
+      BroadcastChannelProcedureName.OPEN_CONNECTION,
+      payload as BroadcastChannelRequestPayload,
+    ]);
+  }
+
+  private handleCloseConnection(uuid: string, payload: RequestPayload): void {
+    this.uiServiceWorkerBroadcastChannel.sendRequest([
+      uuid,
+      BroadcastChannelProcedureName.CLOSE_CONNECTION,
+      payload as BroadcastChannelRequestPayload,
+    ]);
+  }
 }