Skip to content

Commit

Permalink
refactor : 레이어 역참조 문제 해결
Browse files Browse the repository at this point in the history
  • Loading branch information
HandmadeCloud committed Mar 9, 2024
1 parent 2f94280 commit 852f50e
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,9 @@
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.programmers.lime.domains.auth.api.dto.MemberLoginResponse;
import com.programmers.lime.domains.auth.application.OAuthUserService;
import com.programmers.lime.domains.member.api.dto.response.MemberLoginResponse;
import com.programmers.lime.domains.auth.application.dto.MemberLoginServiceResponse;

import jakarta.servlet.http.HttpServletResponse;
import lombok.RequiredArgsConstructor;
Expand All @@ -26,10 +27,10 @@ public ResponseEntity<MemberLoginResponse> loginKakao(
@RequestParam final String code,
HttpServletResponse response
) {
MemberLoginResponse loginResponse = oauthUserService.login(code);
sendRefreshToken(response, loginResponse);
MemberLoginServiceResponse loginServiceResponse = oauthUserService.login(code);
sendRefreshToken(response, loginServiceResponse);

return ResponseEntity.ok(loginResponse);
return ResponseEntity.ok(MemberLoginResponse.from(loginServiceResponse));
}

@GetMapping("/join")
Expand All @@ -39,7 +40,7 @@ public ResponseEntity<String> join(){

private void sendRefreshToken(
final HttpServletResponse response,
final MemberLoginResponse loginResponse
final MemberLoginServiceResponse loginResponse
) {
final ResponseCookie cookie = ResponseCookie.from("refresh-token", loginResponse.refreshToken())
.maxAge(COOKIE_AGE_SECONDS)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.programmers.lime.domains.auth.api.dto;

import com.programmers.lime.domains.auth.application.dto.MemberLoginServiceResponse;

public record MemberLoginResponse(
Long memberId,
String nickname,
String accessToken
) {
public static MemberLoginResponse from(final MemberLoginServiceResponse response) {
return new MemberLoginResponse(response.memberId(), response.nickname(), response.accessToken());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import org.springframework.transaction.annotation.Transactional;

import com.programmers.lime.domains.auth.api.dto.KakaoMemberResponse;
import com.programmers.lime.domains.member.api.dto.response.MemberLoginResponse;
import com.programmers.lime.domains.auth.application.dto.MemberLoginServiceResponse;
import com.programmers.lime.domains.member.domain.Member;
import com.programmers.lime.domains.member.domain.vo.SocialType;
import com.programmers.lime.domains.member.implementation.MemberAppender;
Expand All @@ -23,7 +23,7 @@ public class OAuthUserService {
private final JwtService jwtService;

@Transactional
public MemberLoginResponse login(final String code) {
public MemberLoginServiceResponse login(final String code) {
String kakaoAccessToken = kakaoOAuthClient.getAccessToken(code);
KakaoMemberResponse response = kakaoOAuthClient.getMemberInfo(kakaoAccessToken);

Expand All @@ -35,7 +35,7 @@ public MemberLoginResponse login(final String code) {
String accessToken = jwtService.generateAccessToken(String.valueOf(foundMember.getId()));
String refreshToken = jwtService.generateRefreshToken();

return MemberLoginResponse.from(foundMember, accessToken, refreshToken);
return MemberLoginServiceResponse.from(foundMember, accessToken, refreshToken);
}

private Member saveMember(final KakaoMemberResponse response) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,19 @@
package com.programmers.lime.domains.member.api.dto.response;
package com.programmers.lime.domains.auth.application.dto;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.programmers.lime.domains.member.domain.Member;

public record MemberLoginResponse(
public record MemberLoginServiceResponse(
Long memberId,
String nickname,
String accessToken,

@JsonIgnore
String refreshToken
) {
public static MemberLoginResponse from(
public static MemberLoginServiceResponse from(
final Member member,
final String accessToken,
final String refreshToken
) {
return new MemberLoginResponse(
return new MemberLoginServiceResponse(
member.getId(),
member.getNickname(),
accessToken,
Expand Down

0 comments on commit 852f50e

Please sign in to comment.