게시물 삭제하기
@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) {