refactor: login by email (loginId kept as internal identifier)
This commit is contained in:
@@ -27,15 +27,15 @@ public class AuthService {
|
||||
|
||||
@Transactional
|
||||
public LoginResponse login(LoginRequest request) {
|
||||
Employee employee = employeeRepository.findByLoginId(request.loginId())
|
||||
Employee employee = employeeRepository.findByEmail(request.email())
|
||||
.orElseThrow(() -> new BusinessException(ErrorCode.INVALID_CREDENTIALS));
|
||||
|
||||
if (!passwordEncoder.matches(request.password(), employee.getPassword())) {
|
||||
throw new BusinessException(ErrorCode.INVALID_CREDENTIALS);
|
||||
}
|
||||
|
||||
String accessToken = jwtTokenProvider.generateAccessToken(employee.getLoginId(), employee.getRoleCode().name());
|
||||
String refreshToken = jwtTokenProvider.generateRefreshToken(employee.getLoginId());
|
||||
String accessToken = jwtTokenProvider.generateAccessToken(employee.getEmail(), employee.getRoleCode().name());
|
||||
String refreshToken = jwtTokenProvider.generateRefreshToken(employee.getEmail());
|
||||
|
||||
EmployeeSummary summary = employeeService.toSummary(employee);
|
||||
|
||||
@@ -48,12 +48,12 @@ public class AuthService {
|
||||
throw new BusinessException(ErrorCode.INVALID_CREDENTIALS);
|
||||
}
|
||||
|
||||
String loginId = jwtTokenProvider.getLoginId(refreshToken);
|
||||
Employee employee = employeeRepository.findByLoginId(loginId)
|
||||
String email = jwtTokenProvider.getLoginId(refreshToken);
|
||||
Employee employee = employeeRepository.findByEmail(email)
|
||||
.orElseThrow(() -> new BusinessException(ErrorCode.EMPLOYEE_NOT_FOUND));
|
||||
|
||||
String newAccessToken = jwtTokenProvider.generateAccessToken(employee.getLoginId(), employee.getRoleCode().name());
|
||||
String newRefreshToken = jwtTokenProvider.generateRefreshToken(employee.getLoginId());
|
||||
String newAccessToken = jwtTokenProvider.generateAccessToken(employee.getEmail(), employee.getRoleCode().name());
|
||||
String newRefreshToken = jwtTokenProvider.generateRefreshToken(employee.getEmail());
|
||||
|
||||
EmployeeSummary summary = employeeService.toSummary(employee);
|
||||
|
||||
@@ -61,8 +61,8 @@ public class AuthService {
|
||||
}
|
||||
|
||||
@Transactional(readOnly = true)
|
||||
public Employee getEmployeeByLoginId(String loginId) {
|
||||
return employeeRepository.findByLoginId(loginId)
|
||||
public Employee getEmployeeByLoginId(String email) {
|
||||
return employeeRepository.findByEmail(email)
|
||||
.orElseThrow(() -> new BusinessException(ErrorCode.EMPLOYEE_NOT_FOUND));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -76,10 +76,9 @@ public class EmployeeService {
|
||||
|
||||
@Transactional
|
||||
public Employee create(Employee employee) {
|
||||
if (employeeRepository.findByLoginId(employee.getLoginId()).isPresent()) {
|
||||
if (employee.getEmail() != null && employeeRepository.findByEmail(employee.getEmail()).isPresent()) {
|
||||
throw new BusinessException(ErrorCode.DUPLICATE_LOGIN_ID);
|
||||
}
|
||||
|
||||
if (employee.getRoleCode() == null) employee.setRoleCode(RoleCode.EMPLOYEE);
|
||||
if (employee.getEmpStatus() == null) employee.setEmpStatus(EmpStatus.ACTIVE);
|
||||
if (employee.getDispatchStatus() == null) employee.setDispatchStatus(DispatchStatus.WAITING);
|
||||
|
||||
Reference in New Issue
Block a user