Skip to content

[PRODUCT-120] [Refactor] 로그인/회원가입 시, OauthClient 요청이 트랜잭션 범위에 속하지 않도록 개선 #45

@leegwichan

Description

@leegwichan

🏷️ 상위 작업 (Ticket Number)

PRODUCT-119

🚀 구현 내용

문제 상황

oauthClient 요청 로직이 트랜잭션 내 존재

@Transactional
public MemberResponse login(LoginRequest request, String origin) {
    OauthToken oauthToken = oauthClient.requestOauthToken(request.code(), origin);
    OauthMemberInformation oauthInformation = oauthClient.requestMemberInformation(oauthToken);

    Optional<Member> optionalMember = memberRepository.findBySocialId(Long.toString(oauthInformation.socialId()));
    boolean isFirstLogin = optionalMember.isEmpty();
    return new MemberResponse(
            optionalMember.orElseGet(() -> memberRepository.save(oauthInformation.toMember())),
            isFirstLogin);
}

개선 방향

  • oauthClient 요청 로직을 트랜잭션 밖으로 분리

📅 마감일

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions