diff --git a/apps/server/src/ws/ws.gateway.ts b/apps/server/src/ws/ws.gateway.ts index 70355ce..00f8a4c 100644 --- a/apps/server/src/ws/ws.gateway.ts +++ b/apps/server/src/ws/ws.gateway.ts @@ -1,4 +1,5 @@ import { + MessageBody, OnGatewayConnection, SubscribeMessage, WebSocketGateway, @@ -36,6 +37,21 @@ export class WsGateway implements OnGatewayConnection, OnModuleDestroy { client.broadcast.emit('message', data); } + @SubscribeMessage('messageToRoom') + handleSendMessageToRoom(@MessageBody() message: any) { + this.server.to(message?.roomId).emit('messageToRoom', message); + } + + @SubscribeMessage('join-room') + handleJoinRoom(client: Socket, @MessageBody() roomName: string): void { + client.join(roomName); + } + + @SubscribeMessage('leave-room') + handleLeaveRoom(client: Socket, @MessageBody() roomName: string): void { + client.leave(roomName); + } + onModuleDestroy() { if (this.server) { this.server.close();