Skip to content

Commit b879f29

Browse files
committed
"feat: 탈퇴에 대한 예외처리 추가"
1 parent 1e3dd02 commit b879f29

2 files changed

Lines changed: 18 additions & 3 deletions

File tree

src/main/java/com/back/web7_9_codecrete_be/domain/auth/service/AuthService.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@
77
import com.back.web7_9_codecrete_be.domain.users.entity.User;
88
import com.back.web7_9_codecrete_be.domain.users.repository.UserRepository;
99
import com.back.web7_9_codecrete_be.global.error.code.AuthErrorCode;
10+
import com.back.web7_9_codecrete_be.global.error.code.UserErrorCode;
1011
import com.back.web7_9_codecrete_be.global.error.exception.BusinessException;
1112
import lombok.RequiredArgsConstructor;
1213
import org.springframework.security.crypto.password.PasswordEncoder;
1314
import org.springframework.stereotype.Service;
15+
import org.springframework.transaction.annotation.Transactional;
1416

1517
import java.security.SecureRandom;
1618
import java.time.LocalDate;
1719

1820
@Service
1921
@RequiredArgsConstructor
22+
@Transactional
2023
public class AuthService {
2124
private final UserRepository userRepository;
2225
private final PasswordEncoder passwordEncoder;
@@ -38,7 +41,7 @@ public void signUp(SignupRequest req) {
3841

3942
// 닉네임 중복 체크
4043
if (userRepository.existsByNickname(req.getNickname())) {
41-
throw new BusinessException(AuthErrorCode.NICKNAME_DUPLICATED);
44+
throw new BusinessException(UserErrorCode.NICKNAME_DUPLICATED);
4245
}
4346

4447
User user = User.builder()
@@ -59,6 +62,10 @@ public LoginResponse login(LoginRequest req) {
5962
User user = userRepository.findByEmail(req.getEmail())
6063
.orElseThrow(() -> new BusinessException(AuthErrorCode.USER_NOT_FOUND));
6164

65+
if (user.getIsDeleted()) {
66+
throw new BusinessException(UserErrorCode.USER_DELETED);
67+
}
68+
6269
if (!passwordEncoder.matches(req.getPassword(), user.getPassword())) {
6370
throw new BusinessException(AuthErrorCode.INVALID_PASSWORD);
6471
}
@@ -87,6 +94,10 @@ public void resetPassword(String email) {
8794
User user = userRepository.findByEmail(email)
8895
.orElseThrow(() -> new BusinessException(AuthErrorCode.USER_NOT_FOUND));
8996

97+
if (user.getIsDeleted()) {
98+
throw new BusinessException(UserErrorCode.USER_DELETED);
99+
}
100+
90101
String tempPassword = generateTempPassword();
91102

92103
// 비밀번호 변경

src/main/java/com/back/web7_9_codecrete_be/domain/auth/service/TokenService.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import com.back.web7_9_codecrete_be.domain.users.entity.User;
66
import com.back.web7_9_codecrete_be.domain.users.repository.UserRepository;
77
import com.back.web7_9_codecrete_be.global.error.code.AuthErrorCode;
8+
import com.back.web7_9_codecrete_be.global.error.code.UserErrorCode;
89
import com.back.web7_9_codecrete_be.global.error.exception.BusinessException;
910
import com.back.web7_9_codecrete_be.global.rq.Rq;
1011
import com.back.web7_9_codecrete_be.global.security.JwtProperties;
@@ -63,8 +64,11 @@ public String reissueAccessToken() {
6364
User user = userRepository.findByEmail(email)
6465
.orElseThrow(() -> new BusinessException(AuthErrorCode.USER_NOT_FOUND));
6566

66-
String savedRefresh =
67-
refreshTokenRedisRepository.findByUserId(user.getId());
67+
if (user.getIsDeleted()) {
68+
throw new BusinessException(UserErrorCode.USER_DELETED);
69+
}
70+
71+
String savedRefresh = refreshTokenRedisRepository.findByUserId(user.getId());
6872

6973
if (savedRefresh == null || !savedRefresh.equals(refresh)) {
7074
throw new BusinessException(AuthErrorCode.INVALID_TOKEN);

0 commit comments

Comments
 (0)