JS/Nest.js

[Nest JS] 자신이 생성한 게시물만 삭제

Mini_96 2024. 8. 19. 00:40

* 컨트롤러

마찬가지로 @getuser로 매개변수 추가

@Delete('/:id')
deleteBoard(@Param('id', ParseIntPipe) id: number , @GetUser() user : User){ //제공되는 파이프로 검사해주시고
  return this.boardsService.deleteBoard(id, user);
}

 

* 서비스

delete 조건에 인자로 받은 user만 추가

async deleteBoard(id : number, user:User){
  const result =  await this.boardRepository.delete({id, user}); //기본제공되는 delete 사용
  if(result.affected ===0){ //영향받은게 0개 === 못찾은경우 예외처리
    throw new NotFoundException(`Can\`t find Board with id ${id}`);
  }
  return result;
}

 

 

후 : 본인이 작성한 게시글만 지운 모습
본인이 작성한것이 아닌것을 지우려하는 경우

where절에서 user가 같지 않기때문에, 찾지 못하는 모습.