Skip to content

Commit 77894fa

Browse files
committed
[Fix] 운영진 삭제 권한 수정
1 parent 06f4c60 commit 77894fa

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

backend/src/main/java/com/example/Piroin/project/domain/question/dto/QuestionResDTO.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public static class CreateRes {
1717
private Long id;
1818
private String content;
1919
private Boolean isSolved;
20+
private Boolean isNew;
2021
private Integer likeCount;
2122
private LocalDateTime createdAt;
2223

@@ -25,6 +26,7 @@ public static CreateRes from(Question question) {
2526
.id(question.getId())
2627
.content(question.getContent())
2728
.isSolved(question.getIsResolved())
29+
.isNew(question.getAdminCheckedAt() == null)
2830
.likeCount(question.getLikeCount())
2931
.createdAt(question.getCreatedAt())
3032
.build();

backend/src/main/java/com/example/Piroin/project/domain/question/service/QuestionService.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ public QuestionResDTO.UpdateDeleteRes updateQuestion(
382382
public QuestionResDTO.UpdateDeleteRes deleteQuestion(Long questionId, Long userId) {
383383
User loginUser = findLoginUser(userId);
384384
Question question = findQuestion(questionId);
385-
validateQuestionOwner(question, loginUser);
385+
validateQuestionDeletePermission(question, loginUser);
386386

387387
question.softDelete();
388388

@@ -577,8 +577,15 @@ private void validateCheckBelongsToSession(UnderstandingCheck check, StudySessio
577577

578578
private void validateQuestionOwner(Question question, User loginUser) {
579579
if (!question.getUser().getId().equals(loginUser.getId())) {
580-
throw new QuestionException(HttpStatus.FORBIDDEN, "본인의 질문만 수정/삭제할 수 있습니다.");
580+
throw new QuestionException(HttpStatus.FORBIDDEN, "본인의 질문만 수정할 수 있습니다.");
581+
}
582+
}
583+
584+
private void validateQuestionDeletePermission(Question question, User loginUser) {
585+
if (loginUser.getRole() == Role.ADMIN || question.getUser().getId().equals(loginUser.getId())) {
586+
return;
581587
}
588+
throw new QuestionException(HttpStatus.FORBIDDEN, "본인의 질문만 삭제할 수 있습니다.");
582589
}
583590

584591
private void validateCommentOwner(QuestionComment comment, User loginUser) {

0 commit comments

Comments
 (0)