diff --git a/src/main/java/com/example/silverbridgeX_user/user/controller/UserController.java b/src/main/java/com/example/silverbridgeX_user/user/controller/UserController.java index 1ac0b2a..528d4e1 100644 --- a/src/main/java/com/example/silverbridgeX_user/user/controller/UserController.java +++ b/src/main/java/com/example/silverbridgeX_user/user/controller/UserController.java @@ -16,6 +16,7 @@ import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.servlet.http.HttpServletRequest; +import java.util.List; import lombok.RequiredArgsConstructor; import org.springframework.security.core.Authentication; import org.springframework.security.core.annotation.AuthenticationPrincipal; @@ -115,10 +116,12 @@ public ApiResponse mypageOlder( public ApiResponse mypageProtector( @AuthenticationPrincipal CustomUserDetails customUserDetails ) { - User user = userService.findByUserName(customUserDetails.getUsername()); - userService.validateProtector(user); + User protector = userService.findByUserName(customUserDetails.getUsername()); + userService.validateProtector(protector); + List olders = protector.getOlders(); - return ApiResponse.onSuccess(SuccessCode.USER_MYPAGE_VIEW_SUCCESS, UserConverter.protectorMyPageResDto(user)); + return ApiResponse.onSuccess(SuccessCode.USER_MYPAGE_VIEW_SUCCESS, + UserConverter.protectorMyPageResDto(protector, olders)); } @Operation(summary = "보호자의 노인 연결", description = "보호자가 관리할 노인을 연결하는 메서드입니다.") diff --git a/src/main/java/com/example/silverbridgeX_user/user/converter/UserConverter.java b/src/main/java/com/example/silverbridgeX_user/user/converter/UserConverter.java index d4755aa..30b4724 100644 --- a/src/main/java/com/example/silverbridgeX_user/user/converter/UserConverter.java +++ b/src/main/java/com/example/silverbridgeX_user/user/converter/UserConverter.java @@ -3,8 +3,10 @@ import com.example.silverbridgeX_user.user.domain.User; import com.example.silverbridgeX_user.user.dto.JwtDto; import com.example.silverbridgeX_user.user.dto.UserRequestDto; +import com.example.silverbridgeX_user.user.dto.UserResponseDto.OlderInfoDto; import com.example.silverbridgeX_user.user.dto.UserResponseDto.OlderMyPageResDto; import com.example.silverbridgeX_user.user.dto.UserResponseDto.ProtectorMyPageResDto; +import java.util.List; public class UserConverter { public static User saveUser(UserRequestDto.UserReqDto userReqDto, String key) { @@ -35,14 +37,21 @@ public static OlderMyPageResDto olderMyPageResDto(User user) { .build(); } - public static ProtectorMyPageResDto protectorMyPageResDto(User user) { + public static ProtectorMyPageResDto protectorMyPageResDto(User user, List olders) { + List olderInfoDtos = olders.stream() + .map(older -> OlderInfoDto.builder() + .nickname(older.getNickname()) + .key(older.getUsername()) + .build()) + .toList(); + return ProtectorMyPageResDto.builder() .key(user.getUsername()) .nickname(user.getNickname()) .address(user.getStreetAddress()) .email(user.getEmail()) + .olderInfoDtos(olderInfoDtos) .build(); } - - + } diff --git a/src/main/java/com/example/silverbridgeX_user/user/dto/UserResponseDto.java b/src/main/java/com/example/silverbridgeX_user/user/dto/UserResponseDto.java index 1fadca5..e2bbfd1 100644 --- a/src/main/java/com/example/silverbridgeX_user/user/dto/UserResponseDto.java +++ b/src/main/java/com/example/silverbridgeX_user/user/dto/UserResponseDto.java @@ -1,6 +1,7 @@ package com.example.silverbridgeX_user.user.dto; import io.swagger.v3.oas.annotations.media.Schema; +import java.util.List; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; @@ -48,6 +49,23 @@ public static class ProtectorMyPageResDto { @Schema(description = "email") private String email; + + @Schema(description = "olders") + private List olderInfoDtos; + } + + @Schema(description = "OlderInfoDto") + @Getter + @Setter + @Builder + @AllArgsConstructor + @NoArgsConstructor + public static class OlderInfoDto { + @Schema(description = "닉네임") + private String nickname; + + @Schema(description = "key") + private String key; } }