added user action log for call apis
This commit is contained in:
@@ -211,8 +211,13 @@ public class CallDao {
|
||||
}
|
||||
|
||||
private void softDeleteEvaluationCriteria(EvaluationCriteriaEntity evaluationCriteriaEntity) {
|
||||
EvaluationCriteriaEntity oldEvaluationCriteriaEntity = Utils.getClonedEntityForData(evaluationCriteriaEntity);
|
||||
evaluationCriteriaEntity.setIsDeleted(true);
|
||||
evaluationCriteriaRepository.save(evaluationCriteriaEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "soft delete evaluation criteria" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldEvaluationCriteriaEntity).newData(evaluationCriteriaEntity).build());
|
||||
|
||||
List<CriteriaFormFieldEntity> list = criteriaFormFieldRepository
|
||||
.findByEvaluationCriteriaIdAndIsDeletedFalse(evaluationCriteriaEntity.getId())
|
||||
.stream()
|
||||
@@ -269,13 +274,18 @@ public class CallDao {
|
||||
.forEach(this::softDeleteDocument);
|
||||
List<DocumentEntity> documentEntities = documentReqList.stream()
|
||||
.map(req -> convertToDocumentEntity(req, sourceId)).collect(Collectors.toList());
|
||||
documentRepository.saveAll(documentEntities);
|
||||
// documentRepository.saveAll(documentEntities);
|
||||
return documentEntities;
|
||||
}
|
||||
|
||||
private void softDeleteDocument(DocumentEntity documentEntity) {
|
||||
DocumentEntity oldDocumentEntity = Utils.getClonedEntityForData(documentEntity);
|
||||
documentEntity.setIsDeleted(true);
|
||||
documentRepository.save(documentEntity);
|
||||
documentEntity = documentRepository.save(documentEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "soft delete for document" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldDocumentEntity).newData(documentEntity).build());
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -476,8 +486,14 @@ public class CallDao {
|
||||
|
||||
public CallResponse createCallStep2(CallEntity callEntity, CreateCallRequestStep2 createCallRequest, UserEntity user) {
|
||||
// validateUpdate(callEntity);
|
||||
if(createCallRequest.getThreshold() != null && Boolean.FALSE.equals(createCallRequest.getThreshold().equals(callEntity.getThreshold()))) {
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(callEntity);
|
||||
setIfUpdated(callEntity::getThreshold, callEntity::setThreshold, createCallRequest.getThreshold());
|
||||
callRepository.save(callEntity);
|
||||
callEntity = callRepository.save(callEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "update call step 2" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(callEntity).build());
|
||||
}
|
||||
convertToEvaluationCriteriaEntities(createCallRequest.getCriteria(), callEntity, LookUpDataTypeEnum.EVALUATION_CRITERIA);
|
||||
|
||||
convertToDocumentEntities(createCallRequest.getDocs(), callEntity.getId(), DocumentTypeEnum.DOCUMENT);
|
||||
@@ -486,14 +502,6 @@ public class CallDao {
|
||||
|
||||
updateLookUpData(callEntity, createCallRequest.getCheckList(), LookUpDataTypeEnum.CHECKLIST);
|
||||
|
||||
// List<FaqEntity> faqEntities = faqRepository.findByCallIdAndIsDeletedFalse(callEntity.getId());
|
||||
// List<LookUpDataResponse> amiedTo = callTargetAudienceChecklistRepository
|
||||
// .findByCallIdAndLookupDataTypeAndIsDeletedFalse(callEntity.getId(), LookUpDataTypeEnum.AIMED_TO.getValue()).stream()
|
||||
// .map(this::convertToLookUpDataResponseBean).toList();
|
||||
// createCallResponseBean = assembleCreateCallResponseBean(callEntity, evaluationCriteriaEntities,
|
||||
// documentEntities, faqEntities, imageEntities);
|
||||
// createCallResponseBean.setAimedTo(amiedTo);
|
||||
// createCallResponseBean.setCheckList(checkList);
|
||||
CallResponse createCallResponseBean = getCallResponseBean(callEntity);
|
||||
createCallResponseBean.setCurrentStep(GepafinConstant.STEP_2);
|
||||
return createCallResponseBean;
|
||||
@@ -535,6 +543,7 @@ public class CallDao {
|
||||
}
|
||||
|
||||
public CallResponse updateCallStep1(CallEntity callEntity, UpdateCallRequestStep1 updateCallRequest, UserEntity userEntity) {
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(callEntity);
|
||||
isValidDateRange(updateCallRequest, callEntity);
|
||||
setIfUpdated(callEntity::getName, callEntity::setName, updateCallRequest.getName());
|
||||
setIfUpdated(callEntity::getDescriptionShort, callEntity::setDescriptionShort,
|
||||
@@ -570,6 +579,11 @@ public class CallDao {
|
||||
setIfUpdated(callEntity::getStartTime, callEntity::setStartTime, DateTimeUtil.parseTime(updateCallRequest.getStartTime()));
|
||||
setIfUpdated(callEntity::getEndTime, callEntity::setEndTime, DateTimeUtil.parseTime(updateCallRequest.getEndTime()));
|
||||
setIfUpdated(callEntity::getConfidi, callEntity::setConfidi, updateCallRequest.getConfidi());
|
||||
callEntity = callRepository.save(callEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "update call step 1" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(callEntity).build());
|
||||
|
||||
updateLookUpData(callEntity, updateCallRequest.getAimedTo(), LookUpDataTypeEnum.AIMED_TO);
|
||||
updateFaq(updateCallRequest.getFaq(), callEntity, userEntity, LookUpDataTypeEnum.FAQ);
|
||||
CallResponse createCallResponseBean = getCallResponseBean(callEntity);
|
||||
@@ -578,8 +592,14 @@ public class CallDao {
|
||||
}
|
||||
|
||||
private void softDeleteFaq(FaqEntity faqEntity) {
|
||||
|
||||
FaqEntity oldFaqEntity = Utils.getClonedEntityForData(faqEntity);
|
||||
|
||||
faqEntity.setIsDeleted(true);
|
||||
faqRepository.save(faqEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "soft delete faq" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldFaqEntity).newData(faqEntity).build());
|
||||
}
|
||||
|
||||
private void updateLookUpData(CallEntity callEntity, List<LookUpDataReq> lookupDataReqList, LookUpDataTypeEnum type) {
|
||||
@@ -628,8 +648,12 @@ public class CallDao {
|
||||
|
||||
private void softDeleteCallTargetAudienceChecklist(
|
||||
CallTargetAudienceChecklistEntity callTargetAudienceChecklistEntity) {
|
||||
CallTargetAudienceChecklistEntity oldCallTargetAudienceChecklistEntity = Utils.getClonedEntityForData(callTargetAudienceChecklistEntity);
|
||||
callTargetAudienceChecklistEntity.setIsDeleted(true);
|
||||
callTargetAudienceChecklistRepository.save(callTargetAudienceChecklistEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "soft delete for aimedTo or Checklist" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.SOFT_DELETE).oldData(oldCallTargetAudienceChecklistEntity).newData(callTargetAudienceChecklistEntity).build());
|
||||
}
|
||||
|
||||
public CallDetailsResponseBean convertToCallDetailsResponseBean(CallEntity callEntity) {
|
||||
@@ -741,13 +765,18 @@ public class CallDao {
|
||||
|
||||
|
||||
public CallResponse validateCallData(CallEntity callEntity) {
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(callEntity);
|
||||
validateUpdate(callEntity);
|
||||
CallResponse callResponseBean = getCallResponseBean(callEntity);
|
||||
FlowResponseBean flowResponseBean = flowDao.getFlowByCallId(callEntity.getId());
|
||||
List<FormResponseBean> formResponseBean = formDao.getFormsByCallId(callEntity);
|
||||
CallValidatorServiceImpl.validateResponse(callResponseBean,flowResponseBean,formResponseBean);
|
||||
callEntity.setStatus(CallStatusEnum.READY_TO_PUBLISH.getValue());
|
||||
callRepository.save(callEntity);
|
||||
callEntity = callRepository.save(callEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "validate call" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(callEntity).build());
|
||||
|
||||
callResponseBean.setCurrentStep(GepafinConstant.VALIDATE_REQUEST);
|
||||
callResponseBean.setStatus(CallStatusEnum.valueOf(callEntity.getStatus()));
|
||||
return callResponseBean;
|
||||
@@ -761,10 +790,15 @@ public class CallDao {
|
||||
// }
|
||||
|
||||
public CallResponse updateCallStatus(CallEntity callEntity, CallStatusEnum statusReq) {
|
||||
CallEntity oldCallEntity = Utils.getClonedEntityForData(callEntity);
|
||||
CallStatusEnum currentStatus = CallStatusEnum.valueOf(callEntity.getStatus());
|
||||
validateStatusChange(currentStatus, statusReq);
|
||||
callEntity.setStatus(statusReq.getValue());
|
||||
callEntity = callRepository.save(callEntity);
|
||||
|
||||
/** This code is responsible for adding a version history log for the "update call status" operation **/
|
||||
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldCallEntity).newData(callEntity).build());
|
||||
|
||||
return convertToCallResponseBean(callEntity);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,12 @@ package net.gepafin.tendermanagement.enums;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
public enum UserActionContextEnum {
|
||||
CREATE_CALL("CREATE_CALL"),;
|
||||
CREATE_CALL_STEP_1("CREATE_CALL_STEP_1"),
|
||||
UPDATE_CALL_STEP_1("UPDATE_CALL_STEP_1"),
|
||||
UPDATE_CALL_STEP_2("UPDATE_CALL_STEP_2"),
|
||||
VALIDATE_CALL("VALIDATE_CALL"),
|
||||
UPDATE_CALL_STATUS("UPDATE_CALL_STATUS"),
|
||||
GET_CALL("GET_CALL");
|
||||
|
||||
private final String value;
|
||||
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
package net.gepafin.tendermanagement.util;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import jakarta.persistence.Table;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.gepafin.tendermanagement.config.CachedBodyHttpServletRequest;
|
||||
import net.gepafin.tendermanagement.config.jwt.TokenProvider;
|
||||
@@ -14,13 +11,11 @@ import net.gepafin.tendermanagement.entities.UserEntity;
|
||||
import net.gepafin.tendermanagement.entities.VersionHistoryEntity;
|
||||
import net.gepafin.tendermanagement.model.request.UserActionRequest;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.util.LogResponse;
|
||||
import net.gepafin.tendermanagement.repositories.UserActionsRepository;
|
||||
import net.gepafin.tendermanagement.repositories.VersionHistoryRepository;
|
||||
import net.gepafin.tendermanagement.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.context.annotation.RequestScope;
|
||||
|
||||
@Slf4j
|
||||
|
||||
@@ -2,12 +2,10 @@ package net.gepafin.tendermanagement.web.rest.api.impl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.gepafin.tendermanagement.enums.CallStatusEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
|
||||
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
||||
import net.gepafin.tendermanagement.model.request.UserActionRequest;
|
||||
import net.gepafin.tendermanagement.repositories.UserActionsRepository;
|
||||
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
@@ -45,8 +43,9 @@ public class CallApiController implements CallApi {
|
||||
@Override
|
||||
public ResponseEntity<Response<CallResponse>> createCallStep1(HttpServletRequest request, CreateCallRequestStep1 createCallRequest) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Create Call" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT).actionContext(UserActionContextEnum.CREATE_CALL).build());
|
||||
/** This code is responsible for creating user action logs for the "Create Call Step 1" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT)
|
||||
.actionContext(UserActionContextEnum.CREATE_CALL_STEP_1).build());
|
||||
|
||||
CallResponse createCallResponseBean = callService.createCallStep1(request, createCallRequest);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
@@ -55,6 +54,11 @@ public class CallApiController implements CallApi {
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<CallResponse>> createCallStep2(HttpServletRequest request, Long callId, CreateCallRequestStep2 createCallRequest) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "Create or update Call step 2" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||
.actionContext(UserActionContextEnum.UPDATE_CALL_STEP_2).build());
|
||||
|
||||
CallResponse createCallResponseBean = callService.createCallStep2(request, callId, createCallRequest);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_CREATED_SUCCESSFULLY_MSG)));
|
||||
@@ -62,6 +66,11 @@ public class CallApiController implements CallApi {
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<CallResponse>> updateCallStep1(HttpServletRequest request, Long callId, UpdateCallRequestStep1 updateCallRequest) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "update Call step 1" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||
.actionContext(UserActionContextEnum.UPDATE_CALL_STEP_1).build());
|
||||
|
||||
CallResponse createCallResponseBean = callService.updateCallStep1(request, callId, updateCallRequest);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_UPDATE_SUCCESSFULLY_MSG)));
|
||||
@@ -69,6 +78,11 @@ public class CallApiController implements CallApi {
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public ResponseEntity<Response<CallResponse>> getCallById(HttpServletRequest request, Long callId,Long companyId) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "get Call by id" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
|
||||
.actionContext(UserActionContextEnum.GET_CALL).build());
|
||||
|
||||
CallResponse createCallResponseBean = callService.getCallById(request, callId,companyId);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(createCallResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.CALL_FETCH_SUCCESS_MSG)));
|
||||
@@ -76,6 +90,12 @@ public class CallApiController implements CallApi {
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Response<List<CallDetailsResponseBean>>> getAllCalls(HttpServletRequest request,Long companyId) {
|
||||
|
||||
|
||||
/** This code is responsible for creating user action logs for the "get Calls" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
|
||||
.actionContext(UserActionContextEnum.GET_CALL).build());
|
||||
|
||||
List<CallDetailsResponseBean> calls = callService.getAllCalls(request,companyId);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
@@ -84,6 +104,13 @@ public class CallApiController implements CallApi {
|
||||
}
|
||||
@Override
|
||||
public ResponseEntity<Response<CallResponse>> validateCallData(HttpServletRequest request, Long callId) {
|
||||
|
||||
|
||||
/** This code is responsible for creating user action logs for the "validate Call" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||
.actionContext(UserActionContextEnum.VALIDATE_CALL).build());
|
||||
|
||||
|
||||
CallResponse call = callService.validateCallData(request, callId);
|
||||
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
@@ -91,11 +118,21 @@ public class CallApiController implements CallApi {
|
||||
}
|
||||
@Override
|
||||
public ResponseEntity<Response<CallResponse>> updateCallStatus(HttpServletRequest request, Long callId, CallStatusEnum status) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "update Call status" operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||
.actionContext(UserActionContextEnum.UPDATE_CALL_STATUS).build());
|
||||
|
||||
CallResponse updateCall = callService.updateCallStatus(request, callId, status);
|
||||
return ResponseEntity.ok(new Response<>(updateCall, Status.SUCCESS, Translator.toLocale(GepafinConstant.UPDATE_CALL_STATUS_SUCCESS_MSG)));
|
||||
}
|
||||
@Override
|
||||
public ResponseEntity<byte[]> downloadCallDocumentsAsZip(HttpServletRequest request, Long callId) {
|
||||
|
||||
/** This code is responsible for creating user action logs for the "download Call documents " operation. **/
|
||||
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
|
||||
.actionContext(UserActionContextEnum.GET_CALL).build());
|
||||
|
||||
byte[] zipFile = callService.downloadCallDocumentsAsZip(request, callId);
|
||||
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
|
||||
Reference in New Issue
Block a user