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 99c1e2e7..bf2826cd 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -532,10 +532,25 @@ export class ChatController { { printCaller("- in "); + await this.chatService.setBlockUser(req.user.username, username); let user_socket: socketDto = this.chatGateway.sockets.get(req.user.username); user_socket.join(`${username}_not_emit`); - res.status(HttpStatus.OK).json({ message: "successfull unmute" }); + res.status(HttpStatus.OK).json({ message: "successfull block" }); + printCaller("- out "); + } + + @UseGuards(AuthenticateGuard) + @UseGuards(TwoFactorGuard) + @Post('unblock') + async unBlockUser(@Body('username') username: string, @Req() req, @Res() res): Promise + { + printCaller("- in "); + + let user_socket: socketDto = this.chatGateway.sockets.get(req.user.username); + user_socket.leave(`${username}_not_emit`); + + res.status(HttpStatus.OK).json({ message: "successfull unblock" }); printCaller("- out "); } diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts index c2992c8d..7dae88f3 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts @@ -298,6 +298,14 @@ export class ChatService { printCaller("-- out "); } + async setBlockUser(username: string, to_block_username: string): Promise + { + printCaller("-- in "); + + + printCaller("-- out "); + } + /* ADDERS ************************************************* */ diff --git a/srcs/requirements/nestjs/api_back/src/users/entities/user.entity.ts b/srcs/requirements/nestjs/api_back/src/users/entities/user.entity.ts index 798b5253..7d4684ed 100644 --- a/srcs/requirements/nestjs/api_back/src/users/entities/user.entity.ts +++ b/srcs/requirements/nestjs/api_back/src/users/entities/user.entity.ts @@ -23,7 +23,7 @@ export class User { email: string; @Column() - image_url : string; + image_url: string; @Column({ nullable: true }) phone: string; @@ -57,4 +57,7 @@ export class User { @Column({ nullable: true }) currentRoom: string; // chatroom name + + @Column("simple-array", { nullable: true }) + blockedUsers: string[]; // usernames } diff --git a/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_user.svelte b/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_user.svelte index ea5baffc..45e3f9cc 100644 --- a/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_user.svelte +++ b/srcs/requirements/svelte/api_front/src/pieces/chat/Layout_user.svelte @@ -1,7 +1,7 @@