55import everTale .everTale_be .domain .easterEgg .dto .easterEggVoice .response .EasterEggVoiceStoriesResponseDto ;
66import everTale .everTale_be .domain .easterEgg .entity .EasterEggVoice ;
77import everTale .everTale_be .domain .easterEgg .repository .EasterEggVoiceRepository ;
8+ import everTale .everTale_be .domain .profile .entity .Enum .ProfileStatus ;
89import everTale .everTale_be .domain .profile .entity .Enum .ProfileType ;
910import everTale .everTale_be .domain .profile .entity .Profile ;
1011import everTale .everTale_be .domain .profile .service .ProfileService ;
1415import everTale .everTale_be .domain .story .repository .SceneRepository ;
1516import everTale .everTale_be .global .apiPayload .code .status .ErrorStatus ;
1617import everTale .everTale_be .global .apiPayload .exception .handler .NotFoundHandler ;
17- import everTale .everTale_be .global .apiPayload .exception .handler .UnAuthorizedHandler ;
1818import everTale .everTale_be .global .s3 .S3Manager ;
1919import lombok .RequiredArgsConstructor ;
2020import 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