From 569ef89077cfcb8d835fb46033581a74b0565880 Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 17:43:13 +0100 Subject: [PATCH] added severall protections --- .../nestjs/api_back/src/chat/chat.controller.ts | 7 +++++++ .../api_front/src/pieces/chat/Layout_settings.svelte | 4 ++-- 2 files changed, 9 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 4af3025e..d3a4eedb 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -231,6 +231,13 @@ export class ChatController { console.log("throw error: error: true, code: 'BLOCKED_USER', message: 'you cannot enter this room, you blocked this user'"); throw new HttpException({ error: true, code: 'BLOCKED_USER', message: `you cannot enter this room, you blocked this user` }, HttpStatus.UNAUTHORIZED); } + + const find_room = await this.chatService.getRoomByName(`${req.user.username} + ${room.name}`); + if (find_room) + { + console.log("throw error: error: true, code: 'ROOM_CONFLICT', message: 'This room name already exist'"); + throw new HttpException({ error: true, code: 'ROOM_CONFLICT', message: `This room name already exist` }, HttpStatus.CONFLICT); + } room.type = 'direct'; room.users = [room.name, req.user.username]; room.name += ` + ${req.user.username}`; diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte b/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte index 883a2d1f..687e57cb 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_settings.svelte @@ -10,10 +10,10 @@ let users: User[] = list_block_user(); - function user_profile(room_user: string) + async function user_profile(room_user: string) { to_print("in user_profile"); - settings_user.set(room_user); + await settings_user.set(room_user); layout.set("user"); }