X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2Fui-services%2FUIService001.ts;h=de7ba25736e60c6ebbc036d44259550cd7eb74b2;hb=d56ea27cd1c2e1df9317602551c443a720e1c7cb;hp=82d0a9534adab7972dc615359ebc0e9c99c50cd4;hpb=5e8e29f4f47246cdc49449aa6ca472c64393f7e8;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ui-server/ui-services/UIService001.ts b/src/charging-station/ui-server/ui-services/UIService001.ts index 82d0a953..de7ba257 100644 --- a/src/charging-station/ui-server/ui-services/UIService001.ts +++ b/src/charging-station/ui-server/ui-services/UIService001.ts @@ -1,92 +1,21 @@ import { ProcedureName, - ProtocolRequestHandler, + type ProtocolRequestHandler, ProtocolVersion, - RequestPayload, } from '../../../types/UIProtocol'; -import { BroadcastChannelProcedureName } from '../../../types/WorkerBroadcastChannel'; import type { AbstractUIServer } from '../AbstractUIServer'; import AbstractUIService from './AbstractUIService'; -const ProcedureNameToBroadCastChannelProcedureNameMap: Omit< - Record, - 'startSimulator' | 'stopSimulator' | 'listChargingStations' -> = { - [ProcedureName.START_CHARGING_STATION]: BroadcastChannelProcedureName.START_CHARGING_STATION, - [ProcedureName.STOP_CHARGING_STATION]: BroadcastChannelProcedureName.STOP_CHARGING_STATION, - [ProcedureName.CLOSE_CONNECTION]: BroadcastChannelProcedureName.CLOSE_CONNECTION, - [ProcedureName.OPEN_CONNECTION]: BroadcastChannelProcedureName.OPEN_CONNECTION, - [ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR]: - BroadcastChannelProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, - [ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR]: - BroadcastChannelProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, - [ProcedureName.START_TRANSACTION]: BroadcastChannelProcedureName.START_TRANSACTION, - [ProcedureName.STOP_TRANSACTION]: BroadcastChannelProcedureName.STOP_TRANSACTION, - [ProcedureName.AUTHORIZE]: BroadcastChannelProcedureName.AUTHORIZE, - [ProcedureName.STATUS_NOTIFICATION]: BroadcastChannelProcedureName.STATUS_NOTIFICATION, - [ProcedureName.HEARTBEAT]: BroadcastChannelProcedureName.HEARTBEAT, -}; - export default class UIService001 extends AbstractUIService { constructor(uiServer: AbstractUIServer) { super(uiServer, ProtocolVersion['0.0.1']); - this.requestHandlers.set( - ProcedureName.START_CHARGING_STATION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.STOP_CHARGING_STATION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.OPEN_CONNECTION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.CLOSE_CONNECTION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.START_TRANSACTION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.STOP_TRANSACTION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.AUTHORIZE, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.STATUS_NOTIFICATION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.HEARTBEAT, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - } - - private handleProtocolRequest( - uuid: string, - procedureName: ProcedureName, - payload: RequestPayload - ): void { - this.sendBroadcastChannelRequest( - uuid, - ProcedureNameToBroadCastChannelProcedureNameMap[ - procedureName - ] as BroadcastChannelProcedureName, - payload - ); + for (const procedureName of Object.keys( + AbstractUIService.ProcedureNameToBroadCastChannelProcedureNameMap + ) as ProcedureName[]) { + this.requestHandlers.set( + procedureName, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler + ); + } } }