From 302134e2a21390eb1b767506aa41f4b791d410e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Sun, 16 Mar 2025 09:07:51 +0700 Subject: [PATCH 1/5] fix: await conversation retrieval in getUserConversations method and add debug logging --- src/domains/chats/chats.service.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/domains/chats/chats.service.ts b/src/domains/chats/chats.service.ts index 745c401..e8b4690 100644 --- a/src/domains/chats/chats.service.ts +++ b/src/domains/chats/chats.service.ts @@ -42,7 +42,7 @@ export class ChatsService { } async getUserConversations(userId: number) { - const conversations = this.prismaService.conversation.findMany({ + const conversations = await this.prismaService.conversation.findMany({ where: { OR: [{ userAId: userId }, { userBId: userId }], }, @@ -56,6 +56,7 @@ export class ChatsService { } this.logger.log('Conversations found for user'); + this.logger.debug('conversations:', conversations); return conversations; } From 1e9b63dfe10db2547d0755f08c4dcf4dc3103151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Sun, 16 Mar 2025 09:08:21 +0700 Subject: [PATCH 2/5] update: bump version to 1.7.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6c83ca2..f3fb14c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "brainbox-backend", - "version": "1.7.3", + "version": "1.7.4", "description": "Backend for BrainBox", "author": "lzaycoe (Lazy Code)", "private": true, From 5104a552b8c45d875e61021e9eab7776a343b083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Sun, 16 Mar 2025 14:22:40 +0700 Subject: [PATCH 3/5] fix: improve error handling in handleGetMessages method and validate conversationId --- src/domains/chats/chats.gateway.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/domains/chats/chats.gateway.ts b/src/domains/chats/chats.gateway.ts index 39fb21e..c724fc6 100644 --- a/src/domains/chats/chats.gateway.ts +++ b/src/domains/chats/chats.gateway.ts @@ -122,10 +122,21 @@ export class ChatsGateway implements OnGatewayConnection, OnGatewayDisconnect { @MessageBody() payload: string, @ConnectedSocket() client: Socket, ) { - const parsedPayload = JSON.parse(payload); - const { id } = parsedPayload; - const messages = await this.chatsService.getMessages(+id); - client.emit('Messages', messages); + try { + const parsedPayload = JSON.parse(payload); + const conversationId = Number(parsedPayload.id); + + if (isNaN(conversationId)) { + console.error('Invalid conversationId:', parsedPayload.id); + return client.emit('error', 'Invalid conversationId'); + } + + const messages = await this.chatsService.getMessages(conversationId); + client.emit('Messages', messages); + } catch (error) { + console.error('Error in handleGetMessages:', error); + client.emit('error', 'Failed to get messages'); + } } @SubscribeMessage('updateMessageStatus') From a787fb21d3721b54e0518d170525d226274fe355 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Wed, 19 Mar 2025 14:19:40 +0700 Subject: [PATCH 4/5] update: add findAll method to UsersController and implement user retrieval in UsersService --- src/domains/users/users.controller.ts | 5 +++++ src/domains/users/users.service.ts | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/domains/users/users.controller.ts b/src/domains/users/users.controller.ts index 9449fbd..10e746a 100644 --- a/src/domains/users/users.controller.ts +++ b/src/domains/users/users.controller.ts @@ -19,6 +19,11 @@ import { UsersService } from '@/users/users.service'; export class UsersController { constructor(private readonly usersService: UsersService) {} + @Get() + async findAll() { + return this.usersService.findAll(); + } + @Get('/:valueId') async findOne(@Param('valueId') valueId: string) { return this.usersService.findOne(valueId); diff --git a/src/domains/users/users.service.ts b/src/domains/users/users.service.ts index 0abc829..cc4a01c 100644 --- a/src/domains/users/users.service.ts +++ b/src/domains/users/users.service.ts @@ -29,6 +29,23 @@ export class UsersService { private readonly clerkClient: ClerkClient, ) {} + async findAll() { + const users = await this.prismaService.user.findMany(); + + this.logger.debug('Users found:', users); + + const detailedUsers = await Promise.all( + users.map(async (user) => { + const clerkUser = await this.clerkClient.users.getUser(user.clerkId); + return { ...user, clerkUser }; + }), + ); + + this.logger.debug('Detailed users:', detailedUsers); + + return detailedUsers; + } + async findOne(valueId: string): Promise { try { let user; From 8340f189fcb46345bd1e7fd30f256188e21392cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Qu=E1=BB=91c=20Ch=C6=B0=C6=A1ng?= Date: Wed, 19 Mar 2025 14:20:08 +0700 Subject: [PATCH 5/5] update: bump version to 1.7.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f3fb14c..4b95e13 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "brainbox-backend", - "version": "1.7.4", + "version": "1.7.5", "description": "Backend for BrainBox", "author": "lzaycoe (Lazy Code)", "private": true,