From 31026b9a63e0f21f2f5cfe6dcbd51209ae26802d Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Thu, 7 Nov 2024 20:11:02 +0000 Subject: [PATCH] refactor(#35): 3 --- src/server/websocket.ts | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/server/websocket.ts b/src/server/websocket.ts index 3fbc541..02c0e70 100644 --- a/src/server/websocket.ts +++ b/src/server/websocket.ts @@ -10,9 +10,23 @@ export default class EstimationParty implements Party.Server { constructor(public party: Party.Room) {} - function createRoom(roomId: string, cardSetName: string) { - room = new Room(roomId, cardSetName); - rooms.add(room); + async onStart() { + const savedRoom = (await this.party.storage.get('room')) as Room; + this.room = savedRoom ? new Room(savedRoom.id, savedRoom.cardSet.name) : null; + } + + async onConnect(connection: Party.Connection) { + if (this.room) { + const users = this.room.getUsers(); + connection.send( + JSON.stringify({ + type: 'sync', + roomId: this.room.id, + users, + cardSetName: this.room.cardSet.name + }) + ); + } } ws.on('message', (message) => { @@ -154,4 +168,3 @@ export default class EstimationParty implements Party.Server { } } }); -