From 8fb89c668bdfcf5f5983c082005d57b83a0ce888 Mon Sep 17 00:00:00 2001 From: hoeeeeeh Date: Mon, 2 Dec 2024 12:54:29 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20Chat=20Exception=20=EC=84=B8?= =?UTF-8?q?=EB=B6=84=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/chatServer/src/chat/chat.error.ts | 12 +++++++++++- backend/chatServer/src/chat/chat.guard.ts | 4 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/backend/chatServer/src/chat/chat.error.ts b/backend/chatServer/src/chat/chat.error.ts index 691b7ab2..3ce07cb5 100644 --- a/backend/chatServer/src/chat/chat.error.ts +++ b/backend/chatServer/src/chat/chat.error.ts @@ -8,7 +8,7 @@ class ChatException extends WsException { this.statusCode = statusCode; } - getError(): object { + getError() { return { statusCode: this.statusCode, msg: this.message, @@ -38,6 +38,11 @@ const CHATTING_SOCKET_ERROR = { message: '유효하지 않는 유저입니다.' }, + UNAUTHORIZED: { + statusCode: HttpStatus.UNAUTHORIZED, + message: '해당 명령에 대한 권한이 없습니다.' + }, + QUESTION_EMPTY: { statusCode: HttpStatus.BAD_REQUEST, message: '유효하지 않은 질문입니다.' @@ -46,6 +51,11 @@ const CHATTING_SOCKET_ERROR = { BAN_USER: { statusCode: HttpStatus.FORBIDDEN, message: '호스트에 의해 밴 당한 유저입니다.' + }, + + MSG_TOO_LONG:{ + statusCode: HttpStatus.NOT_ACCEPTABLE, + message: '메세지의 내용이 없거나, 길이가 150자를 초과했습니다.' } diff --git a/backend/chatServer/src/chat/chat.guard.ts b/backend/chatServer/src/chat/chat.guard.ts index 021baac0..575ecb83 100644 --- a/backend/chatServer/src/chat/chat.guard.ts +++ b/backend/chatServer/src/chat/chat.guard.ts @@ -10,7 +10,8 @@ export class MessageGuard implements CanActivate { canActivate(context: ExecutionContext): boolean { const payload = context.switchToWs().getData(); const { msg } = payload; - return !!msg && msg.length <= 150; + if(!!msg && msg.length <= 150) return true; + throw new ChatException(CHATTING_SOCKET_ERROR.MSG_TOO_LONG); } } @@ -22,6 +23,7 @@ export class HostGuard implements CanActivate { const { roomId, userId } = payload; const hostId = await this.roomService.getHostOfRoom(roomId); console.log('hostGuard:', hostId, userId); + if (hostId !== userId) throw new ChatException(CHATTING_SOCKET_ERROR.UNAUTHORIZED, roomId); return hostId === userId; } } From a5068ab6a61dd4dd37bdd3d6793ffcd2a5a5ee7d Mon Sep 17 00:00:00 2001 From: hoeeeeeh Date: Mon, 2 Dec 2024 12:55:16 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20Chat=20Exception=20=EC=84=B8?= =?UTF-8?q?=EB=B6=84=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/chatServer/src/chat/chat.guard.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/chatServer/src/chat/chat.guard.ts b/backend/chatServer/src/chat/chat.guard.ts index 575ecb83..3246cfaf 100644 --- a/backend/chatServer/src/chat/chat.guard.ts +++ b/backend/chatServer/src/chat/chat.guard.ts @@ -23,8 +23,8 @@ export class HostGuard implements CanActivate { const { roomId, userId } = payload; const hostId = await this.roomService.getHostOfRoom(roomId); console.log('hostGuard:', hostId, userId); - if (hostId !== userId) throw new ChatException(CHATTING_SOCKET_ERROR.UNAUTHORIZED, roomId); - return hostId === userId; + if (hostId === userId) return true; + throw new ChatException(CHATTING_SOCKET_ERROR.UNAUTHORIZED, roomId); } }