diff --git a/src/boards/controllers/Boards.controller.ts b/src/boards/controllers/Boards.controller.ts index 7ddccf8..a63b655 100644 --- a/src/boards/controllers/Boards.controller.ts +++ b/src/boards/controllers/Boards.controller.ts @@ -27,8 +27,7 @@ import { ApiDeleteBoard } from '../swagger-decorators/delete-board-decorators'; import { ApiUpdateBoardImage } from '../swagger-decorators/patch-board-images-decorators'; import { JwtAccessTokenGuard } from 'src/config/guards/jwt-access-token.guard'; import { GetUserId } from 'src/common/decorators/get-userId.decorator'; -import { BoardOwnerGuard } from 'src/config/guards/board-owner.guard'; -import { BoardOwner } from 'src/common/decorators/board-owner.decorator'; +import { JwtOptionalGuard } from 'src/config/guards/jwt-optional.guard'; @Controller('boards') @ApiTags('board API') @@ -74,14 +73,13 @@ export class BoardsController { } @Get('/unit') - @UseGuards(BoardOwnerGuard) + @UseGuards(JwtOptionalGuard) @ApiGetOneBoard() async findOne( @Query('boardId') boardId: number, - @BoardOwner() unitOnwer: boolean, @GetUserId() userId: number, ): Promise { - return await this.boardsService.findOneBoard(boardId, userId, unitOnwer); + return await this.boardsService.findOneBoard(boardId, userId); } @Patch('') diff --git a/src/boards/controllers/boards-like.controller.ts b/src/boards/controllers/boards-like.controller.ts index 7ad7c43..a33230a 100644 --- a/src/boards/controllers/boards-like.controller.ts +++ b/src/boards/controllers/boards-like.controller.ts @@ -9,25 +9,24 @@ import { ValidationPipe, Query, UseGuards, + UseInterceptors, } from '@nestjs/common'; import { BoardsLikeService } from '../services/boards-like.service'; import { ApiTags } from '@nestjs/swagger'; import { ApiAddBoardLike } from '../swagger-decorators/add-board-like.decorator'; import { ApiGetBoardLikeCount } from '../swagger-decorators/get-board-like-count.decorator'; import { ApiDeleteBoardLike } from '../swagger-decorators/delete-board-like.decorator'; -import { TokenService } from 'src/auth/services/token.service'; import { GetUserId } from 'src/common/decorators/get-userId.decorator'; import { JwtAccessTokenGuard } from 'src/config/guards/jwt-access-token.guard'; import { JwtOptionalGuard } from 'src/config/guards/jwt-optional.guard'; +import { SuccessResponseInterceptor } from 'src/common/interceptors/success-response.interceptor'; @ApiTags('BOARDS-LIKE') @UsePipes(ValidationPipe) +@UseInterceptors(SuccessResponseInterceptor) @Controller('boards') export class BoardsLikeController { - constructor( - private tokenService: TokenService, - private boardsLikeService: BoardsLikeService, - ) {} + constructor(private boardsLikeService: BoardsLikeService) {} @ApiAddBoardLike() @Post('like/:boardId') diff --git a/src/boards/services/Boards.service.ts b/src/boards/services/Boards.service.ts index c8edcef..365752f 100644 --- a/src/boards/services/Boards.service.ts +++ b/src/boards/services/Boards.service.ts @@ -62,10 +62,9 @@ export class BoardsService { async findOneBoard( boardId: number, userId: number, - unitOnwer: boolean, ): Promise { const board = await this.boardRepository.findBoardById(boardId); - const unitowner = unitOnwer; + const unitowner = board.userId === userId; if (!board) { throw new Error('게시물을 찾을 수 없습니다.'); } diff --git a/src/comments/controllers/comments.controller.ts b/src/comments/controllers/comments.controller.ts index babc95b..f64ba8d 100644 --- a/src/comments/controllers/comments.controller.ts +++ b/src/comments/controllers/comments.controller.ts @@ -24,6 +24,7 @@ import { ApiAddReComment } from '../swagger-decoratros/add-recomment-decorators' import { ApiUpdateReComment } from '../swagger-decoratros/patch-recomment-decorator'; import { JwtAccessTokenGuard } from 'src/config/guards/jwt-access-token.guard'; import { GetUserId } from 'src/common/decorators/get-userId.decorator'; +import { JwtOptionalGuard } from 'src/config/guards/jwt-optional.guard'; @Controller('comments') @ApiTags('Comment API') @@ -60,7 +61,7 @@ export class CommentsController { } @Get('') - @UseGuards(JwtAccessTokenGuard) + @UseGuards(JwtOptionalGuard) @ApiGetAllComment() async getComment( @GetUserId() userId: number, diff --git a/src/config/guards/board-owner.guard.ts b/src/config/guards/board-owner.guard.ts deleted file mode 100644 index 305de4c..0000000 --- a/src/config/guards/board-owner.guard.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ExecutionContext, Injectable } from '@nestjs/common'; -import { TokenService } from 'src/auth/services/token.service'; -import { BoardRepository } from 'src/boards/repository/boards.repository'; - -@Injectable() -export class BoardOwnerGuard { - constructor( - private tokenService: TokenService, - private boardRepository: BoardRepository, - ) {} - - async canActivate(context: ExecutionContext) { - const request = context.switchToHttp().getRequest(); - const accessToken = request.headers['access_token']; - const boardId = request.query['boardId']; - if (!accessToken) { - request.unitowner = false; - request.user = false; - return true; - } - const userId = await this.tokenService.decodeToken(accessToken); - const board = await this.boardRepository.findBoardById(boardId); - const unitowner = board.userId === userId; - - request.unitowner = unitowner; - request.user = { userId }; - return true; - } -}