Added action logs for user api's.
This commit is contained in:
@@ -7,7 +7,10 @@ import net.gepafin.tendermanagement.config.Translator;
|
||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||
import net.gepafin.tendermanagement.entities.*;
|
||||
import net.gepafin.tendermanagement.enums.RoleStatusEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserStatusEnum;
|
||||
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
||||
import net.gepafin.tendermanagement.model.request.*;
|
||||
import net.gepafin.tendermanagement.model.response.CompanyResponse;
|
||||
import net.gepafin.tendermanagement.model.response.RoleResponseBean;
|
||||
@@ -19,6 +22,7 @@ import net.gepafin.tendermanagement.repositories.UserRepository;
|
||||
import net.gepafin.tendermanagement.service.HubService;
|
||||
import net.gepafin.tendermanagement.service.RoleService;
|
||||
import net.gepafin.tendermanagement.service.impl.AuthenticationService;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
import net.gepafin.tendermanagement.util.Validator;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||
@@ -80,28 +84,43 @@ public class UserDao {
|
||||
@Autowired
|
||||
private AuthenticationService authenticationService;
|
||||
|
||||
|
||||
@Autowired
|
||||
private LoggingUtil loggingUtil;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest request;
|
||||
|
||||
public JWTToken createUser(HttpServletRequest request, String tempToken, UserReq userReq) {
|
||||
if(StringUtils.isEmpty(userReq.getHubUuid())) {
|
||||
userReq.setHubUuid(defaultHubUuid);
|
||||
}
|
||||
HubEntity hub = hubService.getHubByUuid(userReq.getHubUuid());
|
||||
validateUserRequest(request, tempToken, userReq, hub);
|
||||
validatePassword(userReq.getPassword(), userReq.getConfPassword(), tempToken);
|
||||
RoleEntity roleEntity = getRoleEntity(userReq.getRoleId());
|
||||
BeneficiaryEntity beneficiary = createBeneficiary(roleEntity, userReq, hub);
|
||||
|
||||
if (StringUtils.isEmpty(userReq.getHubUuid())) {
|
||||
userReq.setHubUuid(defaultHubUuid);
|
||||
}
|
||||
HubEntity hub = hubService.getHubByUuid(userReq.getHubUuid());
|
||||
validateUserRequest(request, tempToken, userReq, hub);
|
||||
validatePassword(userReq.getPassword(), userReq.getConfPassword(), tempToken);
|
||||
RoleEntity roleEntity = getRoleEntity(userReq.getRoleId());
|
||||
BeneficiaryEntity beneficiary = createBeneficiary(roleEntity, userReq, hub);
|
||||
UserEntity userEntity = convertUserRequestToUserEntity(beneficiary, roleEntity, userReq, hub);
|
||||
log.info("User created with ID: {}", userEntity.getId());
|
||||
LoginReq loginReq=new LoginReq();
|
||||
LoginReq loginReq = new LoginReq();
|
||||
loginReq.setEmail(userEntity.getEmail());
|
||||
LoginAttemptEntity loginAttemptEntity = null;
|
||||
if(userEntity!=null){
|
||||
if (userEntity != null) {
|
||||
loginAttemptEntity = authenticationService.prepareLoginAttemptEntity(loginReq, request);
|
||||
log.info("Authentication failed for email: {}", loginReq.getEmail());
|
||||
loginAttemptEntity.setUserId(userEntity.getId());
|
||||
authenticationService.createSuccessLoginAttempt(loginAttemptEntity);
|
||||
authenticationService.createSuccessLoginAttempt(loginAttemptEntity);
|
||||
}
|
||||
return authService.getJWTTokenBean(userEntity, Boolean.TRUE, loginAttemptEntity.getId());
|
||||
|
||||
JWTToken token = authService.getJWTTokenBean(userEntity, Boolean.TRUE, loginAttemptEntity.getId());
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Create beneficiary" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).newData(beneficiary).build());
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Create user" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).newData(userEntity).build());
|
||||
|
||||
return token;
|
||||
}
|
||||
|
||||
private BeneficiaryEntity createBeneficiary(RoleEntity roleEntity, UserReq userReq, HubEntity hub) {
|
||||
@@ -196,6 +215,7 @@ public class UserDao {
|
||||
public UserResponseBean updateUser(Long userId, UpdateUserReq userReq) {
|
||||
log.info("Updating user with ID: {}", userId);
|
||||
UserEntity userEntity=validateUser(userId);
|
||||
UserEntity oldUserEntity = Utils.getClonedEntityForData(userEntity);
|
||||
log.info("Current user details: {}", userEntity);
|
||||
log.info("New user details: {}", userReq);
|
||||
String newStatus = userReq.getStatus() != null ? userReq.getStatus().getValue() : null;
|
||||
@@ -218,6 +238,10 @@ public class UserDao {
|
||||
}
|
||||
setIfUpdated(userEntity.getBeneficiary()::getEmailPec, userEntity.getBeneficiary()::setEmailPec, userReq.getEmailPec());
|
||||
userEntity = userRepository.save(userEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Update user details" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(oldUserEntity).newData(userEntity).build());
|
||||
|
||||
log.info("User updated with ID: {}", userEntity.getId());
|
||||
return convertUserEntityToUserResponse(userEntity);
|
||||
}
|
||||
@@ -305,7 +329,11 @@ public class UserDao {
|
||||
|
||||
public void deleteUser(Long id) {
|
||||
log.info("Deleting user with ID: {}", id);
|
||||
validateUser(id);
|
||||
UserEntity oldUserData = validateUser(id);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "Delete user" operation. **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.DELETE).oldData(oldUserData).build());
|
||||
|
||||
userRepository.deleteById(id);
|
||||
log.info("User deleted with ID: {}", id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user