Skip to content

Commit bbf200d

Browse files
authored
Dev > Main 브랜치 병합
1. github-auth 경로로 로그인 시 URL 저장되지 않는 오류를 수정하였습니다 2. 유저 정보 업데이트 github URL 변경되지 않는 오류를 수정하였습니다. 통합 테스트 후 Main 브랜치로 병합합니다.
2 parents 762c33a + 9137f01 commit bbf200d

4 files changed

Lines changed: 32 additions & 6 deletions

File tree

src/main/java/hs/kr/backend/devpals/domain/user/entity/UserEntity.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,14 @@ public class UserEntity {
8080

8181
// 유저 업데이트
8282
public void updateUserInfo(String nickname, String bio, Boolean beginner,
83-
List<Long> positionIds, List<Long> skillIds, List<Map<String, Object>> career) {
83+
List<Long> positionIds, List<Long> skillIds,
84+
String github, List<Map<String, Object>> career) {
8485
if (nickname != null) { this.nickname = nickname; }
8586
if (bio != null) { this.bio = bio; }
8687
if (beginner != null) { this.beginner = beginner; }
8788
if (positionIds != null) { this.positionIds = new ArrayList<>(positionIds); }
8889
if (skillIds != null) { this.skillIds = new ArrayList<>(skillIds); }
90+
if (github != null) { this.github = github; }
8991
if (career != null) {
9092
ObjectMapper objectMapper = new ObjectMapper();
9193
try {

src/main/java/hs/kr/backend/devpals/domain/user/service/UserProfileService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ public ResponseEntity<ApiResponse<UserUpdateResponse>> userUpdateInfo(String tok
110110
request.getBeginner(),
111111
positionIds,
112112
skillIds,
113+
request.getGithub(),
113114
request.getCareer()
114115
);
115116

src/main/java/hs/kr/backend/devpals/infra/oauth2/Oauth2LoginSuccessHandler.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Oauth2LoginSuccessHandler.java
12
package hs.kr.backend.devpals.infra.oauth2;
23

34
import hs.kr.backend.devpals.domain.user.entity.UserEntity;
@@ -21,6 +22,7 @@ public class Oauth2LoginSuccessHandler extends SimpleUrlAuthenticationSuccessHan
2122

2223
private final JwtTokenProvider jwtTokenProvider;
2324
private final UserRepository userRepository;
25+
private final OauthUserService oauthUserService; // 주입
2426

2527
@Override
2628
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response,
@@ -37,11 +39,8 @@ public void onAuthenticationSuccess(HttpServletRequest request, HttpServletRespo
3739
if ("github-auth".equals(provider)) {
3840
String githubUrl = oAuth2User.getAttribute("html_url");
3941

40-
UserEntity user = userRepository.findByEmail(email)
41-
.orElseThrow(() -> new CustomException(ErrorException.USER_NOT_FOUND));
42-
43-
user.updateGithub(githubUrl);
44-
userRepository.save(user);
42+
// 트랜잭션 서비스 호출
43+
oauthUserService.updateGithubUrl(email, githubUrl);
4544

4645
response.sendRedirect("http://localhost:5173/oauth/github-success?githubUrl=" + githubUrl);
4746
return;
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package hs.kr.backend.devpals.infra.oauth2;
2+
3+
import hs.kr.backend.devpals.domain.user.entity.UserEntity;
4+
import hs.kr.backend.devpals.domain.user.repository.UserRepository;
5+
import hs.kr.backend.devpals.global.exception.CustomException;
6+
import hs.kr.backend.devpals.global.exception.ErrorException;
7+
import jakarta.transaction.Transactional;
8+
import lombok.RequiredArgsConstructor;
9+
import org.springframework.stereotype.Service;
10+
11+
@Service
12+
@RequiredArgsConstructor
13+
public class OauthUserService {
14+
15+
private final UserRepository userRepository;
16+
17+
@Transactional
18+
public void updateGithubUrl(String email, String githubUrl) {
19+
UserEntity user = userRepository.findByEmail(email)
20+
.orElseThrow(() -> new CustomException(ErrorException.USER_NOT_FOUND));
21+
user.updateGithub(githubUrl);
22+
userRepository.save(user);
23+
}
24+
}

0 commit comments

Comments
 (0)