X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Ftypes%2FUIProtocol.ts;h=f7a4ac0c9fa286b2908bbec3ae8c38ab1aa48113;hb=32de5a575189d226213641f5ee36004f8454cb50;hp=24efff1912c310ed190e6538e9427c1728ce7769;hpb=9952c548347c27a4006eb765659d7bc05c400260;p=e-mobility-charging-stations-simulator.git diff --git a/src/types/UIProtocol.ts b/src/types/UIProtocol.ts index 24efff19..f7a4ac0c 100644 --- a/src/types/UIProtocol.ts +++ b/src/types/UIProtocol.ts @@ -1,4 +1,4 @@ -import { JsonType } from './JsonType'; +import { JsonObject, JsonType } from './JsonType'; export enum Protocol { UI = 'ui', @@ -13,14 +13,26 @@ export enum ProtocolVersion { '0.0.1' = '0.0.1', } -export enum ProtocolCommand { +export enum ProcedureName { LIST_CHARGING_STATIONS = 'listChargingStations', START_TRANSACTION = 'startTransaction', STOP_TRANSACTION = 'stopTransaction', + START_SIMULATOR = 'startSimulator', + STOP_SIMULATOR = 'stopSimulator', } -export type ProtocolRequest = [string, ProtocolCommand, JsonType]; +export enum ResponseStatus { + SUCCESS = 'success', + FAILURE = 'failure', +} + +export interface ResponsePayload extends JsonObject { + status: ResponseStatus; +} + +export type ProtocolRequest = [string, ProcedureName, JsonType]; +export type ProtocolResponse = [string, ResponsePayload]; export type ProtocolRequestHandler = ( payload: JsonType -) => void | Promise | JsonType | Promise; +) => void | Promise | ResponsePayload | Promise;