X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2Fui-services%2FUIService001.ts;h=57c34c2239a6ee573d7462d5e57c96b1157f2cfc;hb=10db00b2276f4cc7a88dd18e8f6f80593d6458b3;hp=5c9b7dc4dc4525dd177cb1040879d1f281c791c3;hpb=02a6943a30a9a6c93e5dcbdb79aa8d9746ae368e;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 5c9b7dc4..57c34c22 100644 --- a/src/charging-station/ui-server/ui-services/UIService001.ts +++ b/src/charging-station/ui-server/ui-services/UIService001.ts @@ -3,19 +3,30 @@ import { ProtocolRequestHandler, ProtocolVersion, RequestPayload, - ResponsePayload, - ResponseStatus, } from '../../../types/UIProtocol'; -import { - BroadcastChannelProcedureName, - BroadcastChannelRequestPayload, -} from '../../../types/WorkerBroadcastChannel'; -import { AbstractUIServer } from '../AbstractUIServer'; +import { BroadcastChannelProcedureName } from '../../../types/WorkerBroadcastChannel'; +import type { AbstractUIServer } from '../AbstractUIServer'; import AbstractUIService from './AbstractUIService'; export default class UIService001 extends AbstractUIService { 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 @@ -25,48 +36,84 @@ export default class UIService001 extends AbstractUIService { this.handleStopTransaction.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( - ProcedureName.START_CHARGING_STATION, - this.handleStartChargingStation.bind(this) as ProtocolRequestHandler + ProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, + this.handleStartAutomaticTransactionGenerator.bind(this) as ProtocolRequestHandler ); this.requestHandlers.set( - ProcedureName.STOP_CHARGING_STATION, - this.handleStopChargingStation.bind(this) as ProtocolRequestHandler + ProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, + this.handleStopAutomaticTransactionGenerator.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(uuid: string, payload: RequestPayload): ResponsePayload { - this.workerBroadcastChannel.sendRequest([ + 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 as BroadcastChannelRequestPayload, - ]); - return { status: ResponseStatus.SUCCESS }; + payload + ); + } + + private handleStopTransaction(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.STOP_TRANSACTION, payload); } - private handleStopTransaction(uuid: string, payload: RequestPayload): ResponsePayload { - this.workerBroadcastChannel.sendRequest([ + private handleStartAutomaticTransactionGenerator(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( uuid, - BroadcastChannelProcedureName.STOP_TRANSACTION, - payload as BroadcastChannelRequestPayload, - ]); - return { status: ResponseStatus.SUCCESS }; + BroadcastChannelProcedureName.START_AUTOMATIC_TRANSACTION_GENERATOR, + payload + ); } - private handleStartChargingStation(uuid: string, payload: RequestPayload): ResponsePayload { - this.workerBroadcastChannel.sendRequest([ + private handleStopAutomaticTransactionGenerator(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( uuid, - BroadcastChannelProcedureName.START_CHARGING_STATION, - payload as BroadcastChannelRequestPayload, - ]); - return { status: ResponseStatus.SUCCESS }; + BroadcastChannelProcedureName.STOP_AUTOMATIC_TRANSACTION_GENERATOR, + payload + ); } - private handleStopChargingStation(uuid: string, payload: RequestPayload): ResponsePayload { - this.workerBroadcastChannel.sendRequest([ + private handleStatusNotification(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest( uuid, - BroadcastChannelProcedureName.STOP_CHARGING_STATION, - payload as BroadcastChannelRequestPayload, - ]); - return { status: ResponseStatus.SUCCESS }; + BroadcastChannelProcedureName.STATUS_NOTIFICATION, + payload + ); + } + + private handleHeartbeat(uuid: string, payload: RequestPayload): void { + this.sendBroadcastChannelRequest(uuid, BroadcastChannelProcedureName.HEARTBEAT, payload); } }