Skip to content

Commit 5f8b91a

Browse files
committed
fix: 자녀 프로필에서 이스터에그 조회되는 오류 수정
1 parent 01d3321 commit 5f8b91a

2 files changed

Lines changed: 9 additions & 10 deletions

File tree

src/main/java/everTale/everTale_be/domain/easterEgg/service/EasterEggLetterService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ private EasterEggLetter getExistingLetterOrThrow(Story story) {
135135

136136
public EasterEggLetterStoriesResponseDto getStoriesWithEasterEggLetter(Long profileId, Pageable pageable){
137137
Profile profile = profileHelper.getAuthenticatedProfile();
138+
profileService.isParent(profile);
138139
profileService.validateParentProfileAccess(profile, profileId);
139140

140141
Page<Story> withLetter = easterEggLetterRepository.findStoriesWithEasterEggLetter(profileId, pageable);
@@ -144,6 +145,7 @@ public EasterEggLetterStoriesResponseDto getStoriesWithEasterEggLetter(Long prof
144145

145146
public EasterEggLetterStoriesResponseDto getStoriesWithoutEasterEggLetter(Long profileId, Pageable pageable){
146147
Profile profile = profileHelper.getAuthenticatedProfile();
148+
profileService.isParent(profile);
147149
profileService.validateParentProfileAccess(profile, profileId);
148150

149151
Page<Story> withoutLetter = easterEggLetterRepository.findStoriesWithoutEasterEggLetter(profileId, pageable);

src/main/java/everTale/everTale_be/domain/easterEgg/service/EasterEggVoiceService.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import everTale.everTale_be.domain.easterEgg.dto.easterEggVoice.response.EasterEggVoiceStoriesResponseDto;
66
import everTale.everTale_be.domain.easterEgg.entity.EasterEggVoice;
77
import everTale.everTale_be.domain.easterEgg.repository.EasterEggVoiceRepository;
8+
import everTale.everTale_be.domain.profile.entity.Enum.ProfileStatus;
89
import everTale.everTale_be.domain.profile.entity.Enum.ProfileType;
910
import everTale.everTale_be.domain.profile.entity.Profile;
1011
import everTale.everTale_be.domain.profile.service.ProfileService;
@@ -14,7 +15,6 @@
1415
import everTale.everTale_be.domain.story.repository.SceneRepository;
1516
import everTale.everTale_be.global.apiPayload.code.status.ErrorStatus;
1617
import everTale.everTale_be.global.apiPayload.exception.handler.NotFoundHandler;
17-
import everTale.everTale_be.global.apiPayload.exception.handler.UnAuthorizedHandler;
1818
import everTale.everTale_be.global.s3.S3Manager;
1919
import lombok.RequiredArgsConstructor;
2020
import lombok.extern.slf4j.Slf4j;
@@ -38,7 +38,8 @@ public class EasterEggVoiceService {
3838

3939
@Transactional
4040
public void createEasterEggVoice(Long sceneId, MultipartFile voiceFile, EasterEggVoiceRegisterRequestDto requestDto){
41-
validateParent();
41+
Profile profile = profileHelper.getAuthenticatedProfile();
42+
profileService.isParent(profile);
4243
Scene scene = findScene(sceneId);
4344

4445
String voiceUrl = s3Manager.uploadFile(voiceFile, "eastereggs/audios");
@@ -56,7 +57,8 @@ public void createEasterEggVoice(Long sceneId, MultipartFile voiceFile, EasterEg
5657

5758
@Transactional
5859
public void deleteEasterEggVoice(Long sceneId){
59-
validateParent();
60+
Profile profile = profileHelper.getAuthenticatedProfile();
61+
profileService.isParent(profile);
6062

6163
EasterEggVoice voice = easterEggVoiceRepository.findByScene_Id(sceneId)
6264
.orElseThrow(()-> new NotFoundHandler(ErrorStatus.EASTER_EGG_VOICE_NOT_FOUND));
@@ -68,6 +70,7 @@ public void deleteEasterEggVoice(Long sceneId){
6870

6971
public EasterEggVoiceStoriesResponseDto getStoriesWithEasterEggVoice(Long profileId, Pageable pageable){
7072
Profile profile = profileHelper.getAuthenticatedProfile();
73+
profileService.isParent(profile);
7174
profileService.validateParentProfileAccess(profile, profileId);
7275

7376
Page<Story> withVoice = easterEggVoiceRepository.findStoriesWithEasterEggVoice(profileId, pageable);
@@ -77,6 +80,7 @@ public EasterEggVoiceStoriesResponseDto getStoriesWithEasterEggVoice(Long profil
7780

7881
public EasterEggVoiceStoriesResponseDto getStoriesWithoutEasterEggVoice(Long profileId, Pageable pageable){
7982
Profile profile = profileHelper.getAuthenticatedProfile();
83+
profileService.isParent(profile);
8084
profileService.validateParentProfileAccess(profile, profileId);
8185

8286
Page<Story> withoutVoice = easterEggVoiceRepository.findStoriesWithoutEasterEggVoice(profileId, pageable);
@@ -107,11 +111,4 @@ private Scene findScene(Long sceneId){
107111
return sceneRepository.findById(sceneId)
108112
.orElseThrow(() -> new NotFoundHandler(ErrorStatus.SCENE_NOT_FOUND));
109113
}
110-
111-
private void validateParent() {
112-
Profile profile = profileHelper.getAuthenticatedProfile();
113-
if (profile.getProfileType() != ProfileType.PARENT) {
114-
throw new UnAuthorizedHandler(ErrorStatus.UNAUTHORIZED_PROFILE_ACCESS);
115-
}
116-
}
117114
}

0 commit comments

Comments
 (0)