122 lines
4.0 KiB
Java
122 lines
4.0 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
import net.gepafin.tendermanagement.config.SamlSuccessHandler;
|
|
import net.gepafin.tendermanagement.dao.UserDao;
|
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
import net.gepafin.tendermanagement.model.request.LoginReq;
|
|
import net.gepafin.tendermanagement.model.request.UpdateUserReq;
|
|
import net.gepafin.tendermanagement.model.request.UserReq;
|
|
import net.gepafin.tendermanagement.enums.RoleStatusEnum;
|
|
import net.gepafin.tendermanagement.enums.UserStatusEnum;
|
|
import net.gepafin.tendermanagement.model.request.*;
|
|
import net.gepafin.tendermanagement.model.response.UserSamlResponse;
|
|
import net.gepafin.tendermanagement.model.response.UserResponseBean;
|
|
import net.gepafin.tendermanagement.model.util.JWTToken;
|
|
import net.gepafin.tendermanagement.service.UserService;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
@Service
|
|
public class UserServiceImpl implements UserService {
|
|
|
|
@Autowired
|
|
private UserDao userDao;
|
|
|
|
@Autowired
|
|
private Validator validator;
|
|
|
|
@Autowired
|
|
private SamlSuccessHandler samlSuccessHandler;
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public JWTToken createUser(HttpServletRequest request, String tempToken, UserReq userReq) {
|
|
if (tempToken == null) {
|
|
validator.validateRequest(request,RoleStatusEnum.ROLE_SUPER_ADMIN);
|
|
}else {
|
|
samlSuccessHandler.validateToken(tempToken, userReq.getCodiceFiscale());
|
|
}
|
|
return userDao.createUser(request, tempToken, userReq);
|
|
}
|
|
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public UserResponseBean updateUser(Long userId, UpdateUserReq userReq) {
|
|
return userDao.updateUser(userId, userReq);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public UserResponseBean getUserById(Long userId) {
|
|
return userDao.getUserById(userId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void deleteUser(Long userId) {
|
|
userDao.deleteUser(userId);
|
|
}
|
|
|
|
@Override
|
|
public JWTToken login(LoginReq loginReq) {
|
|
return userDao.login(loginReq);
|
|
|
|
}
|
|
|
|
@Override
|
|
public UserEntity validateUser(Long userId) {
|
|
return userDao.validateUser(userId);
|
|
}
|
|
|
|
@Override
|
|
public String initiatePasswordReset(InitiatePasswordResetReq resetReq) {
|
|
return userDao.initiatePasswordReset(resetReq);
|
|
}
|
|
|
|
@Override
|
|
public Boolean resetPassword(ResetPasswordReq resetPasswordReq) {
|
|
return userDao.resetPassword(resetPasswordReq);
|
|
}
|
|
@Override
|
|
public Boolean changePassword(ChangePasswordRequest request){
|
|
return userDao.changePassword(request);
|
|
}
|
|
@Override
|
|
public void logoutUser(HttpServletRequest request, HttpServletResponse response) {
|
|
userDao.logout(request,response);
|
|
}
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public UserResponseBean updateUserStatus(Long userId, UserStatusEnum statusReq) {
|
|
return userDao.updateUserStatus(userId, statusReq);
|
|
|
|
}
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public UserResponseBean getValidUser(HttpServletRequest request) {
|
|
UserEntity user=validator.validateUser(request);
|
|
return userDao.getUserById(user.getId());
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public JWTToken validateExistingUserToken(HttpServletRequest request, String token) {
|
|
return userDao.validateExistingUserToken(token);
|
|
}
|
|
@Override
|
|
public UserSamlResponse validateNewUserToken(HttpServletRequest request, String token) {
|
|
return userDao.validateNewUserToken(token);
|
|
}
|
|
@Override
|
|
public UserEntity getUserByBeneficiaryId(Long beneficiaryId) {
|
|
return userDao.getUserByBeneficiaryId(beneficiaryId);
|
|
}
|
|
} |