Added audit for lookupData and Hub

This commit is contained in:
rajesh
2024-11-24 16:46:56 +05:30
parent 6c37713e50
commit edafc797dc
7 changed files with 136 additions and 24 deletions

View File

@@ -1,12 +1,17 @@
package net.gepafin.tendermanagement.dao;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.config.Translator;
import net.gepafin.tendermanagement.constants.GepafinConstant;
import net.gepafin.tendermanagement.entities.HubEntity;
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
import net.gepafin.tendermanagement.model.request.HubReq;
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
import net.gepafin.tendermanagement.model.response.HubResponseBean;
import net.gepafin.tendermanagement.model.util.NanoIdUtils;
import net.gepafin.tendermanagement.repositories.HubRepository;
import net.gepafin.tendermanagement.util.LoggingUtil;
import net.gepafin.tendermanagement.util.Utils;
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
import org.springframework.beans.factory.annotation.Autowired;
@@ -22,15 +27,26 @@ public class HubDao {
@Autowired
private HubRepository hubRepository;
public HubResponseBean createHub(HubReq hubReq) {
@Autowired
private LoggingUtil loggingUtil;
public HubResponseBean createHub(HttpServletRequest request,HubReq hubReq) {
HubEntity hubEntity = createOrUpdateHubEntity(new HubEntity(), hubReq);
hubRepository.save(hubEntity);
/** This code is responsible for adding a version history log for the "Create Hub" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(hubEntity).build());
return convertToHubResponseBean(hubEntity);
}
public HubResponseBean updateHub(Long hubId, HubReq hubReq) {
public HubResponseBean updateHub(HttpServletRequest request,Long hubId, HubReq hubReq) {
HubEntity hubEntity = validateHub(hubId);
createOrUpdateHubEntity(hubEntity, hubReq);
HubEntity oldHubEntity = Utils.getClonedEntityForData(hubEntity);
HubEntity newHubEntity = createOrUpdateHubEntity(hubEntity, hubReq);
/** This code is responsible for adding a version history log for the "Update Hub" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldHubEntity).newData(newHubEntity).build());
return convertToHubResponseBean(hubEntity);
}
@@ -43,10 +59,13 @@ public class HubDao {
return hubs.stream().map(this::convertToHubResponseBean).toList();
}
public void deleteHub(Long hubId) {
public void deleteHub(HttpServletRequest request,Long hubId) {
HubEntity hubEntity = validateHub(hubId);
/** This code is responsible for adding a version history log for the "Delete Hub" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.DELETE).oldData(hubEntity).build());
hubRepository.deleteById(hubId);
hubRepository.save(hubEntity);
}
public HubEntity validateHub(Long hubId) {

View File

@@ -3,7 +3,6 @@ package net.gepafin.tendermanagement.dao;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.entities.LookUpDataEntity;
import net.gepafin.tendermanagement.entities.LookUpDataEntity.LookUpDataTypeEnum;
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
import net.gepafin.tendermanagement.model.request.LookUpDataReq;
import net.gepafin.tendermanagement.model.request.LookUpDataRequest;
@@ -49,6 +48,9 @@ public class LookUpDataDao {
entity.setValue(lookUpDataReq.getResponse());
validateLookUpDataEntity(entity);
lookUpDataRepository.save(entity);
/** This code is responsible for adding a version history log for the "Create LoopUpData" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(entity).build());
return entity;
}
@@ -69,16 +71,27 @@ public class LookUpDataDao {
public LookUpDataResponseBean updateLookUpData(Long id, LookUpDataRequest lookUpDataReq) {
LookUpDataEntity entity = validateLookUpData(id);
LookUpDataEntity oldLookUpData = Utils.getClonedEntityForData(entity);
setIfUpdated(entity::getTitle, entity::setTitle, lookUpDataReq.getTitle());
setIfUpdated(entity::getValue, entity::setValue, lookUpDataReq.getValue());
setIfUpdated(entity::getResponse, entity::setResponse, lookUpDataReq.getResponse());
lookUpDataRepository.save(entity);
/** This code is responsible for adding a version history log for the "Update LookUpData" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldLookUpData).newData(entity).build());
return convertLookUpDataEntityToResponseBean(entity);
}
public void deleteLookUpData(Long id) {
LookUpDataEntity entity = validateLookUpData(id);
lookUpDataRepository.deleteById(entity.getId());
LookUpDataEntity oldLookUpData = validateLookUpData(id);
/** This code is responsible for adding a version history log for the "Delete LookUpData" operation. **/
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.DELETE).oldData(oldLookUpData).build());
lookUpDataRepository.deleteById(id);
}
private LookUpDataResponseBean convertLookUpDataEntityToResponseBean(LookUpDataEntity entity) {