From 5c698c9f25533a8e02f99ed5d402e215b49aae47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Sat, 15 Mar 2025 21:19:23 +0700 Subject: [PATCH 1/2] update: add getConversations handler to fetch user conversations --- src/domains/chats/chats.gateway.ts | 31 ++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/domains/chats/chats.gateway.ts b/src/domains/chats/chats.gateway.ts index 12058a3..39fb21e 100644 --- a/src/domains/chats/chats.gateway.ts +++ b/src/domains/chats/chats.gateway.ts @@ -71,6 +71,37 @@ export class ChatsGateway implements OnGatewayConnection, OnGatewayDisconnect { } } + @SubscribeMessage('getConversations') + async handleGetConversations( + @MessageBody() payload: string, + @ConnectedSocket() client: Socket, + ) { + try { + const parsedPayload = JSON.parse(payload); + const { userId } = parsedPayload; + + if (!userId) { + client.emit('Error', { message: 'User ID is required' }); + return; + } + + const conversations = + await this.chatsService.getUserConversations(userId); + + if (!conversations || conversations.length === 0) { + this.logger.log(`No conversations found for user ${userId}`); + client.emit('Get Conversations', []); + return; + } + + this.logger.log(`✅ Conversations found for user ${userId}`); + client.emit('Get Conversations', conversations); + } catch (error) { + this.logger.error('❌ Error fetching conversations:', error); + client.emit('Error', { message: 'Failed to fetch conversations' }); + } + } + @SubscribeMessage('sendMessage') async handleSendMessage(@MessageBody() payload: string) { const parsedPayload = JSON.parse(payload); From cd5c5b3adca8bee8c52be3205ad7232ead2c2fb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Sat, 15 Mar 2025 21:19:49 +0700 Subject: [PATCH 2/2] update: bump version to 1.7.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a538946..6c83ca2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "brainbox-backend", - "version": "1.7.2", + "version": "1.7.3", "description": "Backend for BrainBox", "author": "lzaycoe (Lazy Code)", "private": true,