Add UUIDv4 id to UI protocol message structure
authorJérôme Benoit <jerome.benoit@sap.com>
Mon, 1 Aug 2022 13:49:11 +0000 (15:49 +0200)
committerJérôme Benoit <jerome.benoit@sap.com>
Mon, 1 Aug 2022 13:49:11 +0000 (15:49 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@sap.com>
src/charging-station/ui-server/ui-services/AbstractUIService.ts
src/types/UIProtocol.ts

index ba8aa80c374583e22c3101b517d0a27c52c0225b..a26af3967ccc35f192111f2d8b44d4e778249a8a 100644 (file)
@@ -26,11 +26,12 @@ export default abstract class AbstractUIService {
   }
 
   public async messageHandler(request: RawData): Promise<void> {
+    let messageId: string;
     let command: ProtocolCommand;
     let payload: JsonType;
     const protocolRequest = JSON.parse(request.toString()) as ProtocolRequest;
     if (Utils.isIterable(protocolRequest)) {
-      [command, payload] = protocolRequest;
+      [messageId, command, payload] = protocolRequest;
     } else {
       throw new BaseError('UI protocol request is not iterable');
     }
@@ -55,11 +56,15 @@ export default abstract class AbstractUIService {
       );
     }
     // Send the message response
-    this.uiServer.sendResponse(this.buildProtocolMessage(command, messageResponse));
+    this.uiServer.sendResponse(this.buildProtocolMessage(messageId, command, messageResponse));
   }
 
-  protected buildProtocolMessage(command: ProtocolCommand, payload: JsonType): string {
-    return JSON.stringify([command, payload]);
+  protected buildProtocolMessage(
+    messageId: string,
+    command: ProtocolCommand,
+    payload: JsonType
+  ): string {
+    return JSON.stringify([messageId, command, payload]);
   }
 
   private handleListChargingStations(): JsonType {
index 1756c0faff73b694a310f83bbf368c898aa8100f..24efff1912c310ed190e6538e9427c1728ce7769 100644 (file)
@@ -19,7 +19,7 @@ export enum ProtocolCommand {
   STOP_TRANSACTION = 'stopTransaction',
 }
 
-export type ProtocolRequest = [ProtocolCommand, JsonType];
+export type ProtocolRequest = [string, ProtocolCommand, JsonType];
 
 export type ProtocolRequestHandler = (
   payload: JsonType