User-Management
This commit is contained in:
@@ -10,6 +10,7 @@ import net.gepafin.tendermanagement.model.response.LoginResponse;
|
||||
import net.gepafin.tendermanagement.model.response.RoleResponseBean;
|
||||
import net.gepafin.tendermanagement.model.util.JWTToken;
|
||||
import net.gepafin.tendermanagement.repositories.UserRepository;
|
||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.slf4j.Logger;
|
||||
@@ -20,6 +21,7 @@ import org.springframework.security.authentication.UsernamePasswordAuthenticatio
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Service
|
||||
public class AuthenticationService {
|
||||
@@ -52,16 +54,37 @@ public class AuthenticationService {
|
||||
log.error("User not found for email: {}", loginReq.getEmail());
|
||||
throw new CustomValidationException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.USER_NOT_FOUND_MSG));
|
||||
}
|
||||
user.setLastLogin(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||
userRepository.save(user);
|
||||
String token = tokenProvider.createToken(authentication, loginReq.getRememberMe(), user);
|
||||
log.info("JWT token generated for email: {}", loginReq.getEmail());
|
||||
RoleResponseBean roleResponseBean = roleDao.convertRoleEntityToRoleResponse(user.getRoleEntity());
|
||||
JWTToken jwtToken = new JWTToken(token, new LoginResponse(user.getId(), user.getEmail(), user.getFirstName(),
|
||||
user.getLastName(), roleResponseBean, user.getPhoneNumber(), user.getAddress(), user.getOrganization(),
|
||||
user.getCountry(), user.getStatus(), user.getCity(), user.getLastLogin(), user.getCreatedDate(),
|
||||
user.getUpdatedDate()));
|
||||
|
||||
LoginResponse loginResponse = getLoginResponse(user, roleResponseBean);
|
||||
|
||||
JWTToken jwtToken = new JWTToken(token, loginResponse);
|
||||
|
||||
log.info("Login successful for email: {}", loginReq.getEmail());
|
||||
return jwtToken;
|
||||
}
|
||||
|
||||
private static LoginResponse getLoginResponse(UserEntity user, RoleResponseBean roleResponseBean) {
|
||||
LoginResponse loginResponse = new LoginResponse();
|
||||
loginResponse.setId(user.getId());
|
||||
loginResponse.setEmail(user.getEmail());
|
||||
loginResponse.setFirstName(user.getFirstName());
|
||||
loginResponse.setLastName(user.getLastName());
|
||||
loginResponse.setRole(roleResponseBean);
|
||||
loginResponse.setPhoneNumber(user.getPhoneNumber());
|
||||
loginResponse.setAddress(user.getAddress());
|
||||
loginResponse.setOrganization(user.getOrganization());
|
||||
loginResponse.setCountry(user.getCountry());
|
||||
loginResponse.setStatus(user.getStatus());
|
||||
loginResponse.setCity(user.getCity());
|
||||
loginResponse.setLastLogin(user.getLastLogin());
|
||||
loginResponse.setCreatedDate(user.getCreatedDate());
|
||||
loginResponse.setUpdatedDate(user.getUpdatedDate());
|
||||
return loginResponse;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user