From 47d840aed4479a04fde7c40b549f48d486e6a65f Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Sun, 17 Dec 2023 23:11:07 +0900 Subject: [PATCH] =?UTF-8?q?feat=20:=20friend=20list=20response=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/presentation/dto/response/UserResponse.java | 4 ++++ .../domain/user/service/GetUserInfoService.java | 11 +++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/main/java/com/investment/findfriend/domain/user/presentation/dto/response/UserResponse.java b/src/main/java/com/investment/findfriend/domain/user/presentation/dto/response/UserResponse.java index 7145b5c..5f800c2 100644 --- a/src/main/java/com/investment/findfriend/domain/user/presentation/dto/response/UserResponse.java +++ b/src/main/java/com/investment/findfriend/domain/user/presentation/dto/response/UserResponse.java @@ -1,11 +1,15 @@ package com.investment.findfriend.domain.user.presentation.dto.response; +import com.investment.findfriend.domain.friend.presentation.dto.response.FriendResponse; import lombok.Builder; import lombok.Getter; +import java.util.List; + @Getter @Builder public class UserResponse { private String name; private String statusMessage; + private List friends; } diff --git a/src/main/java/com/investment/findfriend/domain/user/service/GetUserInfoService.java b/src/main/java/com/investment/findfriend/domain/user/service/GetUserInfoService.java index f1750be..b3641d8 100644 --- a/src/main/java/com/investment/findfriend/domain/user/service/GetUserInfoService.java +++ b/src/main/java/com/investment/findfriend/domain/user/service/GetUserInfoService.java @@ -1,11 +1,13 @@ package com.investment.findfriend.domain.user.service; import com.investment.findfriend.domain.auth.exception.UserNotFoundException; +import com.investment.findfriend.domain.friend.presentation.dto.response.FriendResponse; import com.investment.findfriend.domain.user.domain.User; import com.investment.findfriend.domain.user.presentation.dto.response.UserResponse; import com.investment.findfriend.domain.user.repository.UserRepository; import com.investment.findfriend.global.jwt.util.JwtUtil; import jakarta.servlet.http.HttpServletRequest; +import jakarta.transaction.Transactional; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; @@ -17,6 +19,7 @@ public class GetUserInfoService { private final UserRepository userRepository; private final JwtUtil jwtUtil; + @Transactional public ResponseEntity execute(HttpServletRequest httpServletRequest) { User user = userRepository.findByEmail(jwtUtil.extractEmail(httpServletRequest)).orElseThrow( () -> UserNotFoundException.EXCEPTION @@ -24,6 +27,14 @@ public ResponseEntity execute(HttpServletRequest httpServletReques return ResponseEntity.ok(UserResponse.builder() .name(user.getName()) .statusMessage(user.getStatusMessage()) + .friends(user.getFriends().stream() + .map(friend -> FriendResponse.builder() + .id(friend.getId()) + .name(friend.getName()) + .statusMessage(friend.getStatusMessage()) + .authority(friend.getAuthority()) + .build()) + .toList()) .build()); } }