X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2Fui-services%2FUIService001.ts;h=e6ee2d2cddc405b1cd54b40f8d3de26155bbe489;hb=b2b606263e2676354259164d532ff9aa91ccdf87;hp=ddbd54e9250ba9d4d4d3d27c0bdffddaa3692ab6;hpb=d3195f0a57d61e2afd211f30092f8f1afe6c5245;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 ddbd54e9..e6ee2d2c 100644 --- a/src/charging-station/ui-server/ui-services/UIService001.ts +++ b/src/charging-station/ui-server/ui-services/UIService001.ts @@ -1,97 +1,15 @@ -import { - ProcedureName, - ProtocolRequestHandler, - ProtocolVersion, - RequestPayload, -} from '../../../types/UIProtocol'; -import { BroadcastChannelProcedureName } from '../../../types/WorkerBroadcastChannel'; +import { AbstractUIService } from './AbstractUIService'; +import { type ProcedureName, type ProtocolRequestHandler, ProtocolVersion } from '../../../types'; import type { AbstractUIServer } from '../AbstractUIServer'; -import AbstractUIService from './AbstractUIService'; - -export default class UIService001 extends AbstractUIService { - private static readonly 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, - [ProcedureName.METER_VALUES]: BroadcastChannelProcedureName.METER_VALUES, - }; +export 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_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.START_TRANSACTION, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - this.requestHandlers.set( - ProcedureName.STOP_TRANSACTION, - 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 - ); - this.requestHandlers.set( - ProcedureName.METER_VALUES, - this.handleProtocolRequest.bind(this) as ProtocolRequestHandler - ); - } - - private handleProtocolRequest( - uuid: string, - procedureName: ProcedureName, - payload: RequestPayload - ): void { - this.sendBroadcastChannelRequest( - uuid, - UIService001.ProcedureNameToBroadCastChannelProcedureNameMap[ - procedureName - ] as BroadcastChannelProcedureName, - payload - ); + for (const procedureName in AbstractUIService.ProcedureNameToBroadCastChannelProcedureNameMapping) { + this.requestHandlers.set( + procedureName as ProcedureName, + this.handleProtocolRequest.bind(this) as ProtocolRequestHandler + ); + } } }