Skip to content

Commit

Permalink
feat(FCM): FCM 토큰 로그인 요청 시 마다 갱신하도록 변경
Browse files Browse the repository at this point in the history
  • Loading branch information
junhyeongkim2 committed Nov 7, 2024
1 parent 0f4dd8a commit 1926e97
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
3 changes: 3 additions & 0 deletions src/main/java/com/richjun/campride/user/domain/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -75,4 +75,7 @@ public boolean getIsNicknameUpdated() {
return isNicknameUpdated;
}

public void updateDeviceToken(String deviceToken) {
this.deviceToken = deviceToken;
}
}
11 changes: 9 additions & 2 deletions src/main/java/com/richjun/campride/user/service/UserService.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@

@Slf4j
@RequiredArgsConstructor
@Transactional
@Service
public class UserService {

Expand All @@ -39,6 +38,7 @@ public class UserService {
private final RefreshTokenRepository refreshTokenRepository;
private final TokenService tokenService;

@Transactional(readOnly = true)
public UserResponse getMyInfo(CustomOAuth2User customOAuth2User) {
User user = userRepository.findBySocialLoginId(customOAuth2User.getName())
.orElseThrow(() -> new BadRequestException(NOT_FOUND_USER_ID));
Expand All @@ -47,6 +47,7 @@ public UserResponse getMyInfo(CustomOAuth2User customOAuth2User) {

}

@Transactional
public UserResponse updateMyInfo(CustomOAuth2User customOAuth2User, UserRequest userRequest) {
User user = userRepository.findBySocialLoginId(customOAuth2User.getName())
.orElseThrow(() -> new BadRequestException(NOT_FOUND_USER_ID));
Expand All @@ -59,15 +60,20 @@ public UserResponse updateMyInfo(CustomOAuth2User customOAuth2User, UserRequest
return UserResponse.from(user);
}

@Transactional(readOnly = true)
public String getUserFCMToken(Long userId) {
User user = userRepository.findById(userId)
.orElseThrow(() -> new BadRequestException(NOT_FOUND_USER_ID));

return user.getDeviceToken();
}

@Transactional
public User findOrCreateUser(final String socialLoginId, final String name, String role, String deviceToken) {
return userRepository.findBySocialLoginId(socialLoginId)
return userRepository.findBySocialLoginId(socialLoginId).map(user -> {
user.updateDeviceToken(deviceToken);
return userRepository.save(user);
})
.orElseGet(() -> createUser(socialLoginId, name, role, deviceToken));
}

Expand All @@ -90,6 +96,7 @@ private String generateRandomFourDigitCode() {
return String.format("%04d", randomNumber);
}

@Transactional
public void deleteUser(CustomOAuth2User oAuth2User) {
User user = userRepository.findBySocialLoginId(oAuth2User.getName())
.orElseThrow(() -> new BadRequestException(NOT_FOUND_USER_ID));
Expand Down

0 comments on commit 1926e97

Please sign in to comment.