143 lines
5.1 KiB
Java
143 lines
5.1 KiB
Java
package net.gepafin.tendermanagement.service.impl;
|
|
|
|
import jakarta.servlet.http.HttpServletRequest;
|
|
import jakarta.servlet.http.HttpServletResponse;
|
|
import net.gepafin.tendermanagement.dao.UserDao;
|
|
import net.gepafin.tendermanagement.entities.UserEntity;
|
|
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
|
|
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
|
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.UserStatusEnum;
|
|
import net.gepafin.tendermanagement.model.request.*;
|
|
import net.gepafin.tendermanagement.model.response.*;
|
|
import net.gepafin.tendermanagement.model.util.JWTToken;
|
|
import net.gepafin.tendermanagement.service.UserService;
|
|
import net.gepafin.tendermanagement.util.LoggingUtil;
|
|
import net.gepafin.tendermanagement.util.Validator;
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
import java.util.List;
|
|
|
|
|
|
@Service
|
|
public class UserServiceImpl implements UserService {
|
|
|
|
@Autowired
|
|
private UserDao userDao;
|
|
|
|
@Autowired
|
|
private Validator validator;
|
|
|
|
@Autowired
|
|
private LoggingUtil loggingUtil;
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public JWTToken createUser(HttpServletRequest request, String tempToken, UserReq userReq) {
|
|
return userDao.createUser(request, tempToken, userReq);
|
|
}
|
|
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public UserResponseBean updateUser(HttpServletRequest request, Long userId, UpdateUserReq userReq) {
|
|
validator.validateUserId(request, userId);
|
|
return userDao.updateUser(userId, userReq);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public UserResponseBean getUserById(HttpServletRequest request, Long userId) {
|
|
validator.validateUserId(request, userId);
|
|
return userDao.getUserById(userId);
|
|
}
|
|
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public void deleteUser(HttpServletRequest request, Long userId) {
|
|
validator.validateUserId(request, userId);
|
|
userDao.deleteUser(userId);
|
|
}
|
|
|
|
@Override
|
|
public JWTToken login(LoginReq loginReq, HttpServletRequest request) {
|
|
return userDao.login(loginReq,request);
|
|
|
|
}
|
|
|
|
@Override
|
|
public UserEntity validateUser(Long userId) {
|
|
return userDao.validateUser(userId);
|
|
}
|
|
|
|
@Override
|
|
public InitiatePasswordResetResponse initiatePasswordReset(InitiatePasswordResetReq resetReq) {
|
|
return userDao.initiatePasswordReset(resetReq);
|
|
}
|
|
|
|
@Override
|
|
public Boolean resetPassword(ResetPasswordReq resetPasswordReq) {
|
|
return userDao.resetPassword(resetPasswordReq);
|
|
}
|
|
@Override
|
|
public Boolean changePassword(HttpServletRequest httpServletRequest, ChangePasswordRequest request){
|
|
return userDao.changePassword(validator.validateUser(httpServletRequest), 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(request,token);
|
|
}
|
|
@Override
|
|
public UserSamlResponse validateNewUserToken(HttpServletRequest request, String token) {
|
|
return userDao.validateNewUserToken(token);
|
|
}
|
|
@Override
|
|
public UserEntity getUserByBeneficiaryId(Long beneficiaryId) {
|
|
return userDao.getUserByBeneficiaryId(beneficiaryId);
|
|
}
|
|
@Override
|
|
public UserEntity getUserEntityById(Long userId) {
|
|
// Calling DAO Function
|
|
return userDao.validateUser(userId);
|
|
}
|
|
@Override
|
|
@Transactional(readOnly = true)
|
|
public List<UserResponseBean> getAllUsers(HttpServletRequest request, List<Long> roleIds) {
|
|
UserEntity user=validator.validateUser(request);
|
|
return userDao.getAllUsers(user, roleIds);
|
|
}
|
|
|
|
@Override
|
|
public PageableResponseBean<List<UserResponseBean>> getUserByPagination(HttpServletRequest request, UserPaginationRequestBean userPaginationRequestBean) {
|
|
UserEntity user = validator.validateUser(request);
|
|
return userDao.getUserByPagination(userPaginationRequestBean, user);
|
|
}
|
|
@Override
|
|
@Transactional(rollbackFor = Exception.class)
|
|
public UserResponseBean updateUserDetails(HttpServletRequest request, Long userId, UpdateUserReqForBeneficiary userReq) {
|
|
return userDao.updateUserDetails(request , userId, userReq);
|
|
}
|
|
} |