Added logging mechanism for user actions.
This commit is contained in:
@@ -15,10 +15,13 @@ import java.util.zip.ZipOutputStream;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.entities.*;
|
||||
import net.gepafin.tendermanagement.enums.DocumentSourceTypeEnum;
|
||||
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.*;
|
||||
import net.gepafin.tendermanagement.repositories.*;
|
||||
import net.gepafin.tendermanagement.service.*;
|
||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
import net.gepafin.tendermanagement.util.Validator;
|
||||
import org.h2.util.IOUtils;
|
||||
@@ -95,6 +98,11 @@ public class CallDao {
|
||||
@Autowired
|
||||
private Validator validator;
|
||||
|
||||
@Autowired
|
||||
private LoggingUtil loggingUtil;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest request;
|
||||
|
||||
public CallResponse createCallStep1(CreateCallRequestStep1 createCallRequest, UserEntity userEntity) {
|
||||
createCallRequest.setRegionId(userEntity.getRoleEntity().getRegion().getId());
|
||||
@@ -144,7 +152,8 @@ public class CallDao {
|
||||
|
||||
public CallEntity convertToCallEntity(CreateCallRequestStep1 createCallRequest, UserEntity userEntity) {
|
||||
CallEntity callEntity = new CallEntity();
|
||||
// validateCallEntity(createCallRequest);
|
||||
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
|
||||
// validateCallEntity(createCallRequest);
|
||||
RegionEntity region = regionRepository.findById(createCallRequest.getRegionId())
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||
Translator.toLocale(GepafinConstant.REGION_NOT_FOUND)));
|
||||
@@ -180,6 +189,11 @@ public class CallDao {
|
||||
callEntity.setEndTime(DateTimeUtil.parseTime(createCallRequest.getEndTime()));
|
||||
callEntity.setHub(userEntity.getHub());
|
||||
callEntity = callRepository.save(callEntity);
|
||||
versionHistoryRequest.setOldData(null);
|
||||
versionHistoryRequest.setNewData(callEntity);
|
||||
versionHistoryRequest.setRequest(request);
|
||||
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
|
||||
loggingUtil.addVersionHistory(versionHistoryRequest);
|
||||
return callEntity;
|
||||
}
|
||||
|
||||
@@ -197,7 +211,15 @@ public class CallDao {
|
||||
|
||||
List<EvaluationCriteriaEntity> evaluationCriteriaEntities = criteriaReqList.stream()
|
||||
.map(req -> convertToEvaluationCriteriaEntity(req, callEntity, type)).collect(Collectors.toList());
|
||||
evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
|
||||
List<EvaluationCriteriaEntity> data = evaluationCriteriaRepository.saveAll(evaluationCriteriaEntities);
|
||||
data.forEach(entity -> {
|
||||
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
|
||||
versionHistoryRequest.setOldData(null);
|
||||
versionHistoryRequest.setNewData(entity);
|
||||
versionHistoryRequest.setRequest(request);
|
||||
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
|
||||
loggingUtil.addVersionHistory(versionHistoryRequest);
|
||||
});
|
||||
return evaluationCriteriaEntities;
|
||||
}
|
||||
|
||||
@@ -394,6 +416,7 @@ public class CallDao {
|
||||
private List<LookUpDataResponse> createCallTargetAudienceCheckList(CallEntity callEntity,
|
||||
List<LookUpDataEntity> lookUpDataEntities) {
|
||||
List<LookUpDataResponse> lookUpDataResponses = new ArrayList<>();
|
||||
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
|
||||
for (LookUpDataEntity lookUpDataEntity : lookUpDataEntities) {
|
||||
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity = new CallTargetAudienceChecklistEntity();
|
||||
callTargetAudienceChecklistEntity.setIsValidated(false);
|
||||
@@ -402,6 +425,11 @@ public class CallDao {
|
||||
callTargetAudienceChecklistEntity.setIsDeleted(false);
|
||||
callTargetAudienceChecklistEntity = callTargetAudienceChecklistRepository
|
||||
.save(callTargetAudienceChecklistEntity);
|
||||
versionHistoryRequest.setOldData(null);
|
||||
versionHistoryRequest.setNewData(callTargetAudienceChecklistEntity);
|
||||
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
|
||||
versionHistoryRequest.setRequest(request);
|
||||
loggingUtil.addVersionHistory(versionHistoryRequest);
|
||||
lookUpDataResponses.add(convertToLookUpDataResponseBean(callTargetAudienceChecklistEntity));
|
||||
}
|
||||
return lookUpDataResponses;
|
||||
|
||||
@@ -1,20 +1,24 @@
|
||||
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.CallEntity;
|
||||
import net.gepafin.tendermanagement.entities.FaqEntity;
|
||||
import net.gepafin.tendermanagement.entities.LookUpDataEntity;
|
||||
import net.gepafin.tendermanagement.entities.UserEntity;
|
||||
import net.gepafin.tendermanagement.enums.RoleStatusEnum;
|
||||
import net.gepafin.tendermanagement.entities.LookUpDataEntity.LookUpDataTypeEnum;
|
||||
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
||||
import net.gepafin.tendermanagement.model.request.FaqReq;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.FaqResponseBean;
|
||||
import net.gepafin.tendermanagement.repositories.FaqRepository;
|
||||
import net.gepafin.tendermanagement.service.CallService;
|
||||
import net.gepafin.tendermanagement.service.CompanyService;
|
||||
import net.gepafin.tendermanagement.service.LookUpDataService;
|
||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||
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;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||
@@ -45,10 +49,16 @@ public class FaqDao {
|
||||
@Autowired
|
||||
private CompanyService companyService;
|
||||
|
||||
@Autowired
|
||||
HttpServletRequest request;
|
||||
|
||||
@Autowired
|
||||
LoggingUtil loggingUtil;
|
||||
|
||||
public FaqResponseBean createFaq(FaqReq faqRequest, UserEntity userEntity, Long callId, Long companyId) {
|
||||
CallEntity callEntity = callService.validateCall(callId);
|
||||
FaqEntity entity = createOrUpdateFaqEntity(faqRequest, callEntity, userEntity,
|
||||
LookUpDataEntity.LookUpDataTypeEnum.FAQ);
|
||||
LookUpDataTypeEnum.FAQ);
|
||||
if (validator.checkIsBeneficiary() && companyId == null) {
|
||||
throw new CustomValidationException(Status.VALIDATION_ERROR,
|
||||
Translator.toLocale(GepafinConstant.COMPANY_ID_MANDATORY));
|
||||
@@ -68,7 +78,7 @@ public class FaqDao {
|
||||
public FaqResponseBean updateFaq(Long id, FaqReq faqRequest, UserEntity userEntity) {
|
||||
FaqEntity entity = validateFaq(id);
|
||||
faqRequest.setId(entity.getId());
|
||||
createOrUpdateFaqEntity(faqRequest, entity.getCall(), userEntity, LookUpDataEntity.LookUpDataTypeEnum.FAQ);
|
||||
createOrUpdateFaqEntity(faqRequest, entity.getCall(), userEntity, LookUpDataTypeEnum.FAQ);
|
||||
return convertToFaqResponseBean(entity);
|
||||
}
|
||||
|
||||
@@ -93,10 +103,13 @@ public class FaqDao {
|
||||
public FaqEntity createOrUpdateFaqEntity(FaqReq faqReq, CallEntity callEntity, UserEntity userEntity,
|
||||
LookUpDataTypeEnum type) {
|
||||
FaqEntity faqEntity = null;
|
||||
FaqEntity oldFaqData = null;
|
||||
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
|
||||
if (isExistingFaq(faqReq)) {
|
||||
faqEntity = faqRepository.findByIdAndCallIdAndIsDeletedFalse(faqReq.getId(), callEntity.getId())
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||
Translator.toLocale(GepafinConstant.FAQ_NOT_FOUND)));
|
||||
oldFaqData = Utils.getClonedEntityForData(faqEntity);
|
||||
} else {
|
||||
if (Boolean.FALSE.equals(userEntity.getRoleEntity().getRoleType().equals(RoleStatusEnum.ROLE_BENEFICIARY.getValue()))) {
|
||||
lookUpDataService.getOrCreateLookUpDataEntity(faqReq, type);
|
||||
@@ -115,7 +128,13 @@ public class FaqDao {
|
||||
setIfUpdated(faqEntity::getValue, faqEntity::setValue, faqReq.getValue());
|
||||
setIfUpdated(faqEntity::getResponse, faqEntity::setResponse, faqReq.getResponse());
|
||||
setIfUpdated(faqEntity::getIsVisible, faqEntity::setIsVisible, faqReq.getIsVisible());
|
||||
return faqRepository.save(faqEntity);
|
||||
FaqEntity newFaqData = faqRepository.save(faqEntity);
|
||||
versionHistoryRequest.setOldData(oldFaqData);
|
||||
versionHistoryRequest.setNewData(newFaqData);
|
||||
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
|
||||
versionHistoryRequest.setRequest(request);
|
||||
loggingUtil.addVersionHistory(versionHistoryRequest);
|
||||
return newFaqData;
|
||||
}
|
||||
|
||||
private boolean isExistingFaq(FaqReq faqReq) {
|
||||
|
||||
@@ -1,11 +1,17 @@
|
||||
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;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.LookUpDataResponseBean;
|
||||
import net.gepafin.tendermanagement.repositories.LookUpDataRepository;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import net.gepafin.tendermanagement.util.Utils;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException;
|
||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
@@ -25,6 +31,12 @@ public class LookUpDataDao {
|
||||
@Autowired
|
||||
private LookUpDataRepository lookUpDataRepository;
|
||||
|
||||
@Autowired
|
||||
HttpServletRequest request;
|
||||
|
||||
@Autowired
|
||||
LoggingUtil loggingUtil;
|
||||
|
||||
public LookUpDataResponseBean createLookUpData(LookUpDataRequest lookUpDataReq) {
|
||||
LookUpDataEntity entity = convertLookUpDataReqToLookUpDataEntity(lookUpDataReq);
|
||||
return convertLookUpDataEntityToResponseBean(entity);
|
||||
@@ -87,18 +99,25 @@ public class LookUpDataDao {
|
||||
.map(this::convertLookUpDataEntityToResponseBean)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
public LookUpDataEntity getOrCreateLookUpDataEntity(LookUpDataReq req,
|
||||
LookUpDataEntity.LookUpDataTypeEnum type) {
|
||||
if (req.getLookUpDataId() == null || req.getLookUpDataId().equals(0l)) {
|
||||
LookUpDataEntity newEntity = new LookUpDataEntity();
|
||||
newEntity.setTitle(req.getTitle());
|
||||
newEntity.setValue(req.getValue());
|
||||
newEntity.setResponse(req.getResponse());
|
||||
newEntity.setType(type.getValue());
|
||||
validateLookUpDataEntity(newEntity);
|
||||
return lookUpDataRepository.save(newEntity);
|
||||
}
|
||||
|
||||
public LookUpDataEntity getOrCreateLookUpDataEntity(LookUpDataReq req, LookUpDataEntity.LookUpDataTypeEnum type) {
|
||||
|
||||
if (req.getLookUpDataId() == null || req.getLookUpDataId().equals(0L)) {
|
||||
LookUpDataEntity newEntity = new LookUpDataEntity();
|
||||
VersionHistoryRequest versionHistoryRequest = new VersionHistoryRequest();
|
||||
newEntity.setTitle(req.getTitle());
|
||||
newEntity.setValue(req.getValue());
|
||||
newEntity.setResponse(req.getResponse());
|
||||
newEntity.setType(type.getValue());
|
||||
validateLookUpDataEntity(newEntity);
|
||||
LookUpDataEntity lookUpDataEntity = lookUpDataRepository.save(newEntity);
|
||||
versionHistoryRequest.setOldData(null);
|
||||
versionHistoryRequest.setNewData(lookUpDataEntity);
|
||||
versionHistoryRequest.setActionType(VersionActionTypeEnum.INSERT);
|
||||
versionHistoryRequest.setRequest(request);
|
||||
loggingUtil.addVersionHistory(versionHistoryRequest);
|
||||
return lookUpDataEntity;
|
||||
}
|
||||
|
||||
return lookUpDataRepository.findById(req.getLookUpDataId())
|
||||
.orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND,
|
||||
|
||||
@@ -94,13 +94,14 @@ public class UserDao {
|
||||
log.info("User created with ID: {}", userEntity.getId());
|
||||
LoginReq loginReq=new LoginReq();
|
||||
loginReq.setEmail(userEntity.getEmail());
|
||||
LoginAttemptEntity loginAttemptEntity = null;
|
||||
if(userEntity!=null){
|
||||
LoginAttemptEntity loginAttemptEntity =authenticationService.prepareLoginAttemptEntity(loginReq, request);
|
||||
loginAttemptEntity = authenticationService.prepareLoginAttemptEntity(loginReq, request);
|
||||
log.info("Authentication failed for email: {}", loginReq.getEmail());
|
||||
loginAttemptEntity.setUserId(userEntity.getId());
|
||||
authenticationService.createSuccessLoginAttempt(loginAttemptEntity);
|
||||
}
|
||||
return authService.getJWTTokenBean(userEntity, Boolean.TRUE);
|
||||
return authService.getJWTTokenBean(userEntity, Boolean.TRUE, loginAttemptEntity.getId());
|
||||
}
|
||||
|
||||
private BeneficiaryEntity createBeneficiary(RoleEntity roleEntity, UserReq userReq, HubEntity hub) {
|
||||
|
||||
Reference in New Issue
Block a user