From e52690d89001394920f878282b277c74a1d8aa36 Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 16:18:42 +0100 Subject: [PATCH] will not show direct rooms if blocked --- .../nestjs/api_back/src/chat/chat.controller.ts | 16 +++++++++++++++- .../api_front/src/pieces/chat/Request_rooms.ts | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts index a0c0abcd..46e15292 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -52,8 +52,22 @@ export class ChatController { let fields = ["name", "type", "users", "protection", "allowed_users"]; const rooms = await this.chatService.getMyRooms(req.user.username, fields); + const blocked = await this.chatService.getListBlockUser(req.user.username); - const ret_rooms = rooms.map(room => + let filtered_rooms = rooms.filter(room => + { + if (room.type === 'direct') + { + let roomname = room.users[0]; + if (roomname === req.user.username) + roomname = room.users[1]; + if (blocked.includes(roomname)) + return false; + } + return true; + }); + + const ret_rooms = filtered_rooms.map(room => { let new_room = this.format_room(room); if (room.protection) diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts index 4bfdcfcb..2153c306 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Request_rooms.ts @@ -239,7 +239,7 @@ export async function remove_block_user(username: string): Promise await fetch_chat_request('unblock', FetchMethod.POST, {username: username} ); } -export async function list_block_user(username: string): Promise +export async function list_block_user(username: string): Promise { to_print("in list_block_user");