From fe44a9b21c0eed8fa275588212542f8303c9b61d Mon Sep 17 00:00:00 2001 From: simplonco Date: Mon, 16 Jan 2023 08:13:10 +0100 Subject: [PATCH] wip bock user --- .../nestjs/api_back/src/chat/chat.controller.ts | 14 ++++++++++++++ .../nestjs/api_back/src/chat/chat.gateway.ts | 3 +++ .../nestjs/api_back/src/chat/chat.service.ts | 2 +- .../api_front/src/pieces/chat/Layout_user.svelte | 6 ++++-- .../api_front/src/pieces/chat/Request_rooms.ts | 7 +++++++ 5 files changed, 29 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 4cfeca1b..99c1e2e7 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.controller.ts @@ -525,5 +525,19 @@ export class ChatController { printCaller("- out "); } + @UseGuards(AuthenticateGuard) + @UseGuards(TwoFactorGuard) + @Post('block') + async blockUser(@Body('username') username: string, @Req() req, @Res() res): Promise + { + printCaller("- in "); + + 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" }); + printCaller("- out "); + } + } diff --git a/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts b/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts index 1892ce4d..773dee66 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.gateway.ts @@ -25,6 +25,9 @@ implements OnGatewayConnection, OnGatewayDisconnect console.log('- socket connected :', socket.id, socket.handshake.query.username); socket.username = socket.handshake.query.username.toString(); this.sockets.set(socket.username, socket); + + let not_emit: string = `${socket.username}_not_emit`; + socket.join(not_emit); } async handleDisconnect(socket: socketDto) { this.sockets.delete(socket.username); 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 ae1f7c0d..fe9333d0 100644 --- a/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts +++ b/srcs/requirements/nestjs/api_back/src/chat/chat.service.ts @@ -561,7 +561,7 @@ export class ChatService { socket.join(room_name); socket.room = room_name; let message = `${socket.username} joined the room`; - await socket.to(socket.room).emit('message', "SERVER", message); + await socket.to(socket.room).except(`${socket.username}_not_emit`).emit('message', "SERVER", message); await this.addMessageToRoom(room_name, "SERVER", message); printCaller("-- out "); 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 5649b624..ea5baffc 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 @@