X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Fcharging-station%2Fui-server%2FAbstractUIServer.ts;h=91c69a76765b835447988ba46e106ed87829caf2;hb=a38bc3151612c4fcbd108be125a2e75ef6682810;hp=e0b1207106e34ab1755a68cf9d3974d27a8d3088;hpb=02a6943a30a9a6c93e5dcbdb79aa8d9746ae368e;p=e-mobility-charging-stations-simulator.git diff --git a/src/charging-station/ui-server/AbstractUIServer.ts b/src/charging-station/ui-server/AbstractUIServer.ts index e0b12071..91c69a76 100644 --- a/src/charging-station/ui-server/AbstractUIServer.ts +++ b/src/charging-station/ui-server/AbstractUIServer.ts @@ -1,10 +1,17 @@ -import { Server as HttpServer } from 'http'; +import type { Server as HttpServer } from 'http'; -import WebSocket from 'ws'; +import type WebSocket from 'ws'; -import { ChargingStationData } from '../../types/ChargingStationWorker'; -import { ProtocolVersion } from '../../types/UIProtocol'; -import AbstractUIService from './ui-services/AbstractUIService'; +import type { ChargingStationData } from '../../types/ChargingStationWorker'; +import type { + ProcedureName, + ProtocolRequest, + ProtocolResponse, + ProtocolVersion, + RequestPayload, + ResponsePayload, +} from '../../types/UIProtocol'; +import type AbstractUIService from './ui-services/AbstractUIService'; export abstract class AbstractUIServer { public readonly chargingStations: Map; @@ -16,9 +23,21 @@ export abstract class AbstractUIServer { this.uiServices = new Map(); } + public buildProtocolRequest( + id: string, + procedureName: ProcedureName, + requestPayload: RequestPayload + ): string { + return JSON.stringify([id, procedureName, requestPayload] as ProtocolRequest); + } + + public buildProtocolResponse(id: string, responsePayload: ResponsePayload): string { + return JSON.stringify([id, responsePayload] as ProtocolResponse); + } + public abstract start(): void; public abstract stop(): void; public abstract sendRequest(request: string): void; public abstract sendResponse(response: string): void; - public abstract logPrefix(modName?: string, methodName?: string): string; + public abstract logPrefix(modName?: string, methodName?: string, prefixSuffix?: string): string; }