X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2Fui-services%2FUIService001.ts;h=4be6a2f2b16f1903a78c0941016a65d1ce594eb5;hb=1984f1944eeb7468c2f3adbf03b83fbc98910dff;hp=eecdcd34792da1ef2bf6beae1f4cff19595ab704;hpb=675fa8e39afc1cc54c2dc68542300de95f5767e9;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 eecdcd34..4be6a2f2 100644 --- a/src/charging-station/ui-server/ui-services/UIService001.ts +++ b/src/charging-station/ui-server/ui-services/UIService001.ts @@ -1,22 +1,127 @@ -import { ProtocolCommand, ProtocolRequestHandler } from '../../../types/UIProtocol'; - +import { + ProcedureName, + ProtocolRequestHandler, + ProtocolVersion, + RequestPayload, +} from '../../../types/UIProtocol'; +import { BroadcastChannelProcedureName } from '../../../types/WorkerBroadcastChannel'; +import type { AbstractUIServer } from '../AbstractUIServer'; import AbstractUIService from './AbstractUIService'; -import { JsonType } from '../../../types/JsonType'; -import UIWebSocketServer from '../UIWebSocketServer'; export default class UIService001 extends AbstractUIService { - constructor(uiServer: UIWebSocketServer) { - super(uiServer); - this.messageHandlers.set( - ProtocolCommand.START_TRANSACTION, + constructor(uiServer: AbstractUIServer) { + super(uiServer, ProtocolVersion['0.0.1']); + this.requestHandlers.set( + ProcedureName.START_CHARGING_STATION, + this.handleStartChargingStation.bind(this) as ProtocolRequestHandler + ); + this.requestHandlers.set( + 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 + ); + this.requestHandlers.set( + ProcedureName.START_TRANSACTION, this.handleStartTransaction.bind(this) as ProtocolRequestHandler ); - this.messageHandlers.set( - ProtocolCommand.STOP_TRANSACTION, + this.requestHandlers.set( + ProcedureName.STOP_TRANSACTION, this.handleStopTransaction.bind(this) as ProtocolRequestHandler ); + this.requestHandlers.set( + ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, + this.handleStartAutomaticTransactionGenerator.bind(this) as ProtocolRequestHandler + ); + this.requestHandlers.set( + ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, + this.handleStopAutomaticTransactionGenerator.bind(this) as ProtocolRequestHandler + ); + this.requestHandlers.set( + ProcedureName.AUTHORIZE, + this.handleAuthorize.bind(this) as ProtocolRequestHandler + ); + this.requestHandlers.set( + ProcedureName.STATUS_NOTIFICATION, + this.handleStatusNotification.bind(this) as ProtocolRequestHandler + ); + this.requestHandlers.set( + ProcedureName.HEARTBEAT, + this.handleHeartbeat.bind(this) as ProtocolRequestHandler + ); } - private handleStartTransaction(payload: JsonType): void {} - private handleStopTransaction(payload: JsonType): void {} + private handleStartChargingStation(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( + uuid, + BroadcastChannelProcedureName.START_CHARGING_STATION, + payload + ); + } + + private handleStopChargingStation(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( + uuid, + BroadcastChannelProcedureName.STOP_CHARGING_STATION, + payload + ); + } + + private handleOpenConnection(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.OPEN_CONNECTION, payload); + } + + private handleCloseConnection(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.CLOSE_CONNECTION, payload); + } + + private handleStartTransaction(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( + uuid, + BroadcastChannelProcedureName.START_TRANSACTION, + payload + ); + } + + private handleStopTransaction(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.STOP_TRANSACTION, payload); + } + + private handleStartAutomaticTransactionGenerator(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( + uuid, + BroadcastChannelProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, + payload + ); + } + + private handleStopAutomaticTransactionGenerator(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( + uuid, + BroadcastChannelProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, + payload + ); + } + + private handleAuthorize(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.AUTHORIZE, payload); + } + + private handleStatusNotification(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( + uuid, + BroadcastChannelProcedureName.STATUS_NOTIFICATION, + payload + ); + } + + private handleHeartbeat(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.HEARTBEAT, payload); + } }