From a643e6bb785b25fe5917ad7b4103f33daa305aa3 Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 09:18:50 +0100 Subject: [PATCH] wip unblock socket --- .../nestjs/api_back/src/chat/chat.controller.ts | 17 ++++++++++++++++- .../nestjs/api_back/src/chat/chat.service.ts | 8 ++++++++ .../api_back/src/users/entities/user.entity.ts | 5 ++++- .../src/pieces/chat/Layout_user.svelte | 11 ++++++++++- .../api_front/src/pieces/chat/Request_rooms.ts | 7 +++++++ 5 files changed, 45 insertions(+), 3 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 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 @@