1차 팀프로젝트 9회차

이동원·2024년 6월 24일

게시물 삭제하기

@DeleteMapping
    public ResponseEntity<?> deleteArticle(@RequestHeader("Authorization") String accessToken ,@RequestHeader("ArticleId") Long articleId)
                                          {

        TokenRecord tokenRecord = this.multiService.checkToken(accessToken);
        if(tokenRecord.isOK()){
            String username = tokenRecord.username();
           this.multiService.deleteArticle(username, articleId);
            return tokenRecord.getResponseEntity("article delete complete"); // 삭제한거를 볼수가 없으니깐
        }
        return tokenRecord.getResponseEntity();
    }

@Transactional
    public void deleteArticle(String username, Long articleId) {
        SiteUser user = this.userService.get(username);
        Article article = this.articleService.get(articleId);
        if (!user.getUsername().equals(article.getAuthor().getUsername()) || !user.getRole().equals(UserRole.ADMIN)) {
            throw new IllegalArgumentException("not role");
        } else {
            this.articleService.delete(articleId);
        }

    }
  public void delete(Long articleId) {
       this.articleRepository.deleteById(articleId);
   }

   public Article get(Long articleId) { // article

0개의 댓글