Refactor error message
authorgparant <g.parant@thecodingmachine.com>
Sat, 4 Apr 2020 15:56:43 +0000 (17:56 +0200)
committergparant <g.parant@thecodingmachine.com>
Sat, 4 Apr 2020 15:56:43 +0000 (17:56 +0200)
back/src/Controller/IoSocketController.ts
back/src/Model/Websocket/MessageUserPosition.ts

index 109fda6abc074a58b1463dbd114b25b3c4554109..5dbacdac97d2bed3457bdbcdfa54bcb14f1cf83f 100644 (file)
@@ -41,8 +41,8 @@ export class IoSocketController{
 
             socket.on('join-room', (message : string) => {
                 let messageUserPosition = this.hydrateMessageReceive(message);
-                if(!messageUserPosition){
-                    return socket.emit("message-error", JSON.stringify({message: "Error format message"}))
+                if(messageUserPosition instanceof Error){
+                    return socket.emit("message-error", JSON.stringify({message: messageUserPosition.message}))
                 }
                 //join user in room
                 socket.join(messageUserPosition.roomId);
@@ -53,8 +53,8 @@ export class IoSocketController{
 
             socket.on('user-position', (message : string) => {
                 let messageUserPosition = this.hydrateMessageReceive(message);
-                if(!messageUserPosition){
-                    return socket.emit("message-error", JSON.stringify({message: "Error format message"}));
+                if(messageUserPosition instanceof Error){
+                    return socket.emit("message-error", JSON.stringify({message: messageUserPosition.message}));
                 }
                 // sending to all clients in room except sender
                 this.saveUserPosition((socket as ExSocketInterface), messageUserPosition);
@@ -69,12 +69,12 @@ export class IoSocketController{
     }
 
     //Hydrate and manage error
-    hydrateMessageReceive(message : string) : MessageUserPosition | null{
+    hydrateMessageReceive(message : string) : MessageUserPosition | Error{
         try {
             return new MessageUserPosition(message);
         }catch (err) {
             //TODO log error
-            return null;
+            return new Error(err);
         }
     }
 }
\ No newline at end of file
index 60e76ab7c94dde402400fb9f0b029c7b50758299..731d60ffa56097905c8e5a63d474d3060b910c70 100644 (file)
@@ -7,7 +7,7 @@ export class Point implements PointInterface{
 
     constructor(x : number, y : number) {
         if(!x || !y){
-            throw Error("x and y cannot be null");
+            throw Error("position x and y cannot be null");
         }
         this.x = x;
         this.y = y;