From 3b6ace03fa3d7cbd2a31921193c26e0cc5900a0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20N=C3=A9grier?= Date: Sat, 16 May 2020 00:19:27 +0200 Subject: [PATCH] Getting rid of roomId in Message class (this is not needed since all messages sent are for the room we are currently in) --- back/src/Controller/IoSocketController.ts | 4 ++-- back/src/Model/Websocket/ExtRooms.ts | 7 +++---- back/src/Model/Websocket/Message.ts | 6 ++---- back/tests/MessageTest.ts | 21 +++------------------ front/src/Connexion.ts | 10 +++------- 5 files changed, 13 insertions(+), 35 deletions(-) diff --git a/back/src/Controller/IoSocketController.ts b/back/src/Controller/IoSocketController.ts index 2c83a8b5..93dd8010 100644 --- a/back/src/Controller/IoSocketController.ts +++ b/back/src/Controller/IoSocketController.ts @@ -361,12 +361,12 @@ export class IoSocketController { character: Client.character, }; let messageUserPosition = new MessageUserPosition(data); - let world = this.Worlds.get(messageUserPosition.roomId); + let world = this.Worlds.get(Client.roomId); if (!world) { return; } world.updatePosition(Client, messageUserPosition.position); - this.Worlds.set(messageUserPosition.roomId, world); + this.Worlds.set(Client.roomId, world); } //Hydrate and manage error diff --git a/back/src/Model/Websocket/ExtRooms.ts b/back/src/Model/Websocket/ExtRooms.ts index 43395a28..b5493fdb 100644 --- a/back/src/Model/Websocket/ExtRooms.ts +++ b/back/src/Model/Websocket/ExtRooms.ts @@ -23,19 +23,18 @@ let RefreshUserPositionFunction = function(rooms : ExtRooms, Io: socketIO.Server } let data = { userId: socket.id, - roomId: socket.roomId, position: socket.position, name: socket.name, character: socket.character, }; let dataArray = []; - if (mapPositionUserByRoom.get(data.roomId)) { - dataArray = mapPositionUserByRoom.get(data.roomId); + if (mapPositionUserByRoom.get(socket.roomId)) { + dataArray = mapPositionUserByRoom.get(socket.roomId); dataArray.push(data); } else { dataArray = [data]; } - mapPositionUserByRoom.set(data.roomId, dataArray); + mapPositionUserByRoom.set(socket.roomId, dataArray); } rooms.userPositionMapByRoom = Array.from(mapPositionUserByRoom); }; diff --git a/back/src/Model/Websocket/Message.ts b/back/src/Model/Websocket/Message.ts index 70775d2b..2e928159 100644 --- a/back/src/Model/Websocket/Message.ts +++ b/back/src/Model/Websocket/Message.ts @@ -1,16 +1,14 @@ export class Message { userId: string; - roomId: string; name: string; character: string; constructor(data: any) { - if (!data.userId || !data.roomId) { + if (!data.userId) { console.error("Got invalid message", data); - throw Error("userId or roomId cannot be null"); + throw Error("userId cannot be null"); } this.userId = data.userId; - this.roomId = data.roomId; this.name = data.name; this.character = data.character; } diff --git a/back/tests/MessageTest.ts b/back/tests/MessageTest.ts index ab7d6476..971734c7 100644 --- a/back/tests/MessageTest.ts +++ b/back/tests/MessageTest.ts @@ -3,32 +3,17 @@ import {Message} from "../src/Model/Websocket/Message"; describe("Message Model", () => { it("should find userId and roomId", () => { - let message = {userId: "test1", roomId: "test2", name: "foo", character: "user"}; + let message = {userId: "test1", name: "foo", character: "user"}; let messageObject = new Message(message); expect(messageObject.userId).toBe("test1"); - expect(messageObject.roomId).toBe("test2"); expect(messageObject.name).toBe("foo"); expect(messageObject.character).toBe("user"); }) it("should find throw error when no userId", () => { - let message = {roomId: "test2"}; + let message = {}; expect(() => { let messageObject = new Message(message); - }).toThrow(new Error("userId or roomId cannot be null")); - }); - - it("should find throw error when no roomId", () => { - let message = {userId: "test1"}; - expect(() => { - let messageObject = new Message(message); - }).toThrow(new Error("userId or roomId cannot be null")); - }); - - it("should find throw error when no roomId", () => { - let message = {name: "foo"}; - expect(() => { - let messageObject = new Message(message); - }).toThrow(new Error("userId or roomId cannot be null")); + }).toThrow(new Error("userId cannot be null")); }); }) diff --git a/front/src/Connexion.ts b/front/src/Connexion.ts index da666b8b..f3e4f4ce 100644 --- a/front/src/Connexion.ts +++ b/front/src/Connexion.ts @@ -26,13 +26,11 @@ enum EventMessage{ class Message { userId: string; - roomId: string; name: string; character: string; - constructor(userId : string, roomId : string, name: string, character: string) { + constructor(userId : string, name: string, character: string) { this.userId = userId; - this.roomId = roomId; this.name = name; this.character = character; } @@ -61,7 +59,6 @@ class Point implements PointInterface{ export interface MessageUserPositionInterface { userId: string; - roomId: string; name: string; character: string; position: PointInterface; @@ -70,8 +67,8 @@ export interface MessageUserPositionInterface { class MessageUserPosition extends Message implements MessageUserPositionInterface{ position: PointInterface; - constructor(userId : string, roomId : string, point : Point, name: string, character: string) { - super(userId, roomId, name, character); + constructor(userId : string, point : Point, name: string, character: string) { + super(userId, name, character); this.position = point; } } @@ -91,7 +88,6 @@ class ListMessageUserPosition { data.forEach((userPosition: any) => { this.listUsersPosition.push(new MessageUserPosition( userPosition.userId, - userPosition.roomId, new Point( userPosition.position.x, userPosition.position.y,