Skip to content

Commit 50fc207

Browse files
committed
refactor: 작성자 본인 체크 예외 던지는 부분 변경
1 parent 86d6add commit 50fc207

File tree

2 files changed

+12
-7
lines changed

2 files changed

+12
-7
lines changed

src/main/java/com/example/log4u/domain/diary/entity/Diary.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.example.log4u.domain.diary.VisibilityType;
55
import com.example.log4u.domain.diary.WeatherInfo;
66
import com.example.log4u.domain.diary.dto.DiaryRequestDto;
7-
import com.example.log4u.domain.diary.exception.OwnerAccessDeniedException;
87

98
import jakarta.persistence.Column;
109
import jakarta.persistence.Entity;
@@ -76,9 +75,7 @@ public Long decreaseLikeCount() {
7675
return this.likeCount;
7776
}
7877

79-
public void validateOwner(Long userId) {
80-
if (!this.userId.equals(userId)) {
81-
throw new OwnerAccessDeniedException();
82-
}
78+
public boolean isOwner(Long userId) {
79+
return this.userId.equals(userId);
8380
}
8481
}

src/main/java/com/example/log4u/domain/diary/service/DiaryService.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import com.example.log4u.domain.diary.dto.DiaryResponseDto;
1919
import com.example.log4u.domain.diary.entity.Diary;
2020
import com.example.log4u.domain.diary.exception.NotFoundDiaryException;
21+
import com.example.log4u.domain.diary.exception.OwnerAccessDeniedException;
2122
import com.example.log4u.domain.diary.repository.DiaryRepository;
2223
import com.example.log4u.domain.follow.repository.FollowRepository;
2324
import com.example.log4u.domain.media.entity.Media;
@@ -99,7 +100,7 @@ public PageResponse<DiaryResponseDto> getDiariesByCursor(Long userId, Long targe
99100
@Transactional
100101
public void updateDiary(Long userId, Long diaryId, DiaryRequestDto request) {
101102
Diary diary = findDiaryOrThrow(diaryId);
102-
diary.validateOwner(userId);
103+
validateOwner(diary, userId);
103104

104105
if (request.mediaList() != null) {
105106
mediaService.updateMediaByDiaryId(diary.getDiaryId(), request.mediaList());
@@ -113,7 +114,7 @@ public void updateDiary(Long userId, Long diaryId, DiaryRequestDto request) {
113114
@Transactional
114115
public void deleteDiary(Long userId, Long diaryId) {
115116
Diary diary = findDiaryOrThrow(diaryId);
116-
diary.validateOwner(userId);
117+
validateOwner(diary, userId);
117118
mediaService.deleteMediaByDiaryId(diaryId);
118119
diaryRepository.delete(diary);
119120
}
@@ -155,6 +156,13 @@ private List<DiaryResponseDto> getDiaryResponsesWithMedia(List<Diary> diaries) {
155156
.toList();
156157
}
157158

159+
// 다이어리 작성자 본인 체크
160+
private void validateOwner(Diary diary, Long userId) {
161+
if (!diary.isOwner(userId)) {
162+
throw new OwnerAccessDeniedException();
163+
}
164+
}
165+
158166
// 다이어리 목록 조회 시 권한 체크
159167
private List<VisibilityType> determineAccessibleVisibilities(Long userId, Long targetUserId) {
160168
if (userId.equals(targetUserId)) {

0 commit comments

Comments
 (0)