Skip to content

Commit e516e5e

Browse files
authored
Merge pull request #64 from DropThe8bit/refactor/character
[refactor] Character 조회 시, profileId로 캐릭터 조회
2 parents 76d1f86 + e3a87d3 commit e516e5e

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

src/main/java/everTale/everTale_be/domain/character/controller/CharacterController.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ public class CharacterController {
2323

2424
private final CharacterService characterService;
2525

26-
@Operation(summary = "내가 만든 스토리의 캐릭터 목록 조회", description = "내가 작성한 스토리에 등장하는 모든 캐릭터를 페이지네이션 형태로 조회합니다.")
27-
@GetMapping
28-
public ApiResponse<CharacterCollectionResponseDto> getMyCharacters(@PageableDefault(size = 8) Pageable pageable){
29-
CharacterCollectionResponseDto responseDto = characterService.getMyCharacters(pageable);
26+
@Operation(summary = "특정 프로필 유저의 스토리 캐릭터 목록 조회", description = "내가 작성한 스토리에 등장하는 모든 캐릭터를 페이지네이션 형태로 조회합니다.")
27+
@GetMapping("/list/{profileId}")
28+
public ApiResponse<CharacterCollectionResponseDto> getCharacters(@Parameter(description = "프로필 ID") @PathVariable Long profileId,
29+
@PageableDefault(size = 8) Pageable pageable){
30+
CharacterCollectionResponseDto responseDto = characterService.getCharacters(profileId, pageable);
3031
return ApiResponse.onSuccess(responseDto);
3132
}
3233

src/main/java/everTale/everTale_be/domain/character/service/CharacterService.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
import everTale.everTale_be.domain.character.dto.CharacterDetailResponseDto;
55
import everTale.everTale_be.domain.character.entity.StoryCharacter;
66
import everTale.everTale_be.domain.character.repository.StoryCharacterRepository;
7+
import everTale.everTale_be.domain.profile.entity.Enum.ProfileType;
8+
import everTale.everTale_be.domain.profile.entity.Profile;
9+
import everTale.everTale_be.domain.profile.service.ProfileService;
710
import everTale.everTale_be.domain.profile.util.ProfileHelper;
811
import everTale.everTale_be.global.apiPayload.code.status.ErrorStatus;
912
import everTale.everTale_be.global.apiPayload.exception.handler.NotFoundHandler;
@@ -19,11 +22,19 @@
1922
public class CharacterService {
2023

2124
private final ProfileHelper profileHelper;
25+
private final ProfileService profileService;
2226
private final StoryCharacterRepository characterRepository;
2327

2428
// 주인공 모음집 조회
25-
public CharacterCollectionResponseDto getMyCharacters(Pageable pageable){
26-
Long profileId = profileHelper.getAuthenticatedProfileId();
29+
public CharacterCollectionResponseDto getCharacters(Long profileId, Pageable pageable){
30+
Profile profile = profileHelper.getAuthenticatedProfile();
31+
32+
if (profile.getProfileType() == ProfileType.CHILD) {
33+
profileService.validateChildProfileAccess(profile, profileId);
34+
} else {
35+
profileService.validateParentProfileAccess(profile, profileId);
36+
}
37+
2738
Page<StoryCharacter> characters = characterRepository.findByStoryProfileId(profileId, pageable);
2839
return CharacterCollectionResponseDto.from(characters);
2940
}

src/main/java/everTale/everTale_be/domain/story/service/StoryService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ public StoryCollectionResponseDto getAllStories(Pageable pageable){
318318
public StoryCollectionResponseDto getStories(Long profileId, Pageable pageable) {
319319
Profile profile = profileHelper.getAuthenticatedProfile();
320320

321-
if (profile.getProfileType()== ProfileType.CHILD) {
321+
if (profile.getProfileType() == ProfileType.CHILD) {
322322
profileService.validateChildProfileAccess(profile, profileId);
323323
} else {
324324
profileService.validateParentProfileAccess(profile, profileId);

src/main/java/everTale/everTale_be/domain/voice/external/VoiceApiClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public String callFastApiToRegisterVoice(MultipartFile file, String voiceName) {
4242
HttpEntity<MultiValueMap<String, Object>> requestEntity = new HttpEntity<>(body, headers);
4343

4444
ResponseEntity<FastApiVoiceResponseDto> response = restTemplate.postForEntity(
45-
fastApiBaseUrl+"/ai/voice/register",
45+
fastApiBaseUrl + "/ai/voice/register",
4646
requestEntity,
4747
FastApiVoiceResponseDto.class
4848
);

0 commit comments

Comments
 (0)