Added user action and versioning for Form field controller
This commit is contained in:
@@ -3,12 +3,15 @@ package net.gepafin.tendermanagement.dao;
|
|||||||
import net.gepafin.tendermanagement.config.Translator;
|
import net.gepafin.tendermanagement.config.Translator;
|
||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
import net.gepafin.tendermanagement.entities.FormFieldEntity;
|
import net.gepafin.tendermanagement.entities.FormFieldEntity;
|
||||||
|
import net.gepafin.tendermanagement.enums.VersionActionTypeEnum;
|
||||||
import net.gepafin.tendermanagement.model.request.FormFieldRequest;
|
import net.gepafin.tendermanagement.model.request.FormFieldRequest;
|
||||||
import net.gepafin.tendermanagement.model.request.SettingRequestBean;
|
import net.gepafin.tendermanagement.model.request.SettingRequestBean;
|
||||||
|
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||||
import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
|
import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
|
||||||
import net.gepafin.tendermanagement.model.response.SettingResponseBean;
|
import net.gepafin.tendermanagement.model.response.SettingResponseBean;
|
||||||
import net.gepafin.tendermanagement.repositories.FormFieldRepository;
|
import net.gepafin.tendermanagement.repositories.FormFieldRepository;
|
||||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||||
|
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||||
import net.gepafin.tendermanagement.util.Utils;
|
import net.gepafin.tendermanagement.util.Utils;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException;
|
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.ResourceNotFoundException;
|
||||||
@@ -16,6 +19,8 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
|||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
@@ -25,6 +30,12 @@ public class FormFieldDao {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private FormFieldRepository formFieldRepository;
|
private FormFieldRepository formFieldRepository;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LoggingUtil loggingUtil;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HttpServletRequest request;
|
||||||
|
|
||||||
public FormFieldEntity convertFormFieldRequestToFormFieldEntity(FormFieldRequest formFieldRequest) {
|
public FormFieldEntity convertFormFieldRequestToFormFieldEntity(FormFieldRequest formFieldRequest) {
|
||||||
FormFieldEntity formFieldEntity = new FormFieldEntity();
|
FormFieldEntity formFieldEntity = new FormFieldEntity();
|
||||||
@@ -34,7 +45,11 @@ public class FormFieldDao {
|
|||||||
formFieldEntity.setSortOrder(formFieldRequest.getSortOrder());
|
formFieldEntity.setSortOrder(formFieldRequest.getSortOrder());
|
||||||
formFieldEntity.setValidators(Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
|
formFieldEntity.setValidators(Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
|
||||||
formFieldEntity.setSettings(setSettingRequestBean(formFieldRequest.getSettings()));
|
formFieldEntity.setSettings(setSettingRequestBean(formFieldRequest.getSettings()));
|
||||||
formFieldEntity = saveFormFieldEntity(formFieldEntity);
|
formFieldEntity = formFieldRepository.save(formFieldEntity);
|
||||||
|
|
||||||
|
/** This code is responsible for adding a version history log for the "Create FormField" operation. **/
|
||||||
|
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.INSERT).oldData(null).newData(formFieldEntity).build());
|
||||||
|
|
||||||
return formFieldEntity;
|
return formFieldEntity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,10 +66,10 @@ public class FormFieldDao {
|
|||||||
return formFieldResponseBean;
|
return formFieldResponseBean;
|
||||||
}
|
}
|
||||||
|
|
||||||
public FormFieldEntity saveFormFieldEntity(FormFieldEntity formFieldEntity) {
|
// public FormFieldEntity saveFormFieldEntity(FormFieldEntity formFieldEntity) {
|
||||||
formFieldEntity = formFieldRepository.save(formFieldEntity);
|
// formFieldEntity = formFieldRepository.save(formFieldEntity);
|
||||||
return formFieldEntity;
|
// return formFieldEntity;
|
||||||
}
|
// }
|
||||||
|
|
||||||
public void validateFormField(FormFieldRequest formFieldRequest) {
|
public void validateFormField(FormFieldRequest formFieldRequest) {
|
||||||
if (formFieldRequest.getSettings() == null || formFieldRequest.getLabel() == null) {
|
if (formFieldRequest.getSettings() == null || formFieldRequest.getLabel() == null) {
|
||||||
@@ -71,6 +86,7 @@ public class FormFieldDao {
|
|||||||
|
|
||||||
public FormFieldResponseBean updateFormField(Long formFieldId, FormFieldRequest formFieldRequest) {
|
public FormFieldResponseBean updateFormField(Long formFieldId, FormFieldRequest formFieldRequest) {
|
||||||
FormFieldEntity formFieldEntity = validateFormField(formFieldId);
|
FormFieldEntity formFieldEntity = validateFormField(formFieldId);
|
||||||
|
FormFieldEntity oldFormFieldEntity = Utils.getClonedEntityForData(formFieldEntity);
|
||||||
Utils.setIfUpdated(formFieldEntity::getName, formFieldEntity::setName, formFieldRequest.getName());
|
Utils.setIfUpdated(formFieldEntity::getName, formFieldEntity::setName, formFieldRequest.getName());
|
||||||
Utils.setIfUpdated(formFieldEntity::getLabel, formFieldEntity::setLabel, formFieldRequest.getLabel());
|
Utils.setIfUpdated(formFieldEntity::getLabel, formFieldEntity::setLabel, formFieldRequest.getLabel());
|
||||||
Utils.setIfUpdated(formFieldEntity::getDescription, formFieldEntity::setDescription, formFieldRequest.getDescription());
|
Utils.setIfUpdated(formFieldEntity::getDescription, formFieldEntity::setDescription, formFieldRequest.getDescription());
|
||||||
@@ -80,7 +96,13 @@ public class FormFieldDao {
|
|||||||
Utils.setIfUpdated(formFieldEntity::getValidators, formFieldEntity::setValidators,
|
Utils.setIfUpdated(formFieldEntity::getValidators, formFieldEntity::setValidators,
|
||||||
Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
|
Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
|
||||||
formFieldEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
formFieldEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
|
||||||
formFieldEntity = saveFormFieldEntity(formFieldEntity);
|
|
||||||
|
formFieldEntity = formFieldRepository.save(formFieldEntity);
|
||||||
|
|
||||||
|
/** This code is responsible for adding a version history log for the "Update FormField" operation. **/
|
||||||
|
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.UPDATE).oldData(oldFormFieldEntity).newData(formFieldEntity).build());
|
||||||
|
|
||||||
|
|
||||||
return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity);
|
return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -99,6 +121,11 @@ public class FormFieldDao {
|
|||||||
public void deleteFormById(Long formFieldId) {
|
public void deleteFormById(Long formFieldId) {
|
||||||
FormFieldEntity formEntity = validateFormField(formFieldId);
|
FormFieldEntity formEntity = validateFormField(formFieldId);
|
||||||
formFieldRepository.delete(formEntity);
|
formFieldRepository.delete(formEntity);
|
||||||
|
|
||||||
|
/** This code is responsible for adding a version history log for the "Delete FormField" operation. **/
|
||||||
|
loggingUtil.addVersionHistory(VersionHistoryRequest.builder().request(request).actionType(VersionActionTypeEnum.DELETE).oldData(formEntity).newData(null).build());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public String setSettingRequestBean(List<SettingRequestBean> settingRequestBeans) {
|
public String setSettingRequestBean(List<SettingRequestBean> settingRequestBeans) {
|
||||||
|
|||||||
@@ -89,6 +89,12 @@ public enum UserActionContextEnum {
|
|||||||
DELETE_ASSIGNED_APPLICATION("DELETE_ASSIGNED_APPLICATION"),
|
DELETE_ASSIGNED_APPLICATION("DELETE_ASSIGNED_APPLICATION"),
|
||||||
GET_ASSIGNED_APPLICATION("GET_ASSIGNED_APPLICATION"),
|
GET_ASSIGNED_APPLICATION("GET_ASSIGNED_APPLICATION"),
|
||||||
UPDATE_ASSIGNED_APPLICATION_DETAILS("UPDATE_ASSIGNED_APPLICATION_DETAILS"),
|
UPDATE_ASSIGNED_APPLICATION_DETAILS("UPDATE_ASSIGNED_APPLICATION_DETAILS"),
|
||||||
|
|
||||||
|
/** Assigned form field context **/
|
||||||
|
CREATE_FORM_FIELD("CREATE_FORM_FIELD"),
|
||||||
|
UPDATE_FORM_FIELD("UPDATE_FORM_FIELD"),
|
||||||
|
GET_FORM_FIELD("GET_FORM_FIELD"),
|
||||||
|
DELETE_FORM_FIELD("DELETE_FORM_FIELD"),
|
||||||
|
|
||||||
/** Document action context **/
|
/** Document action context **/
|
||||||
UPLOAD_CALL_DOCUMENT("UPLOAD_CALL_DOCUMENT"),
|
UPLOAD_CALL_DOCUMENT("UPLOAD_CALL_DOCUMENT"),
|
||||||
|
|||||||
@@ -3,10 +3,14 @@ package net.gepafin.tendermanagement.web.rest.api.impl;
|
|||||||
import jakarta.servlet.http.HttpServletRequest;
|
import jakarta.servlet.http.HttpServletRequest;
|
||||||
import net.gepafin.tendermanagement.config.Translator;
|
import net.gepafin.tendermanagement.config.Translator;
|
||||||
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
import net.gepafin.tendermanagement.constants.GepafinConstant;
|
||||||
|
import net.gepafin.tendermanagement.enums.UserActionContextEnum;
|
||||||
|
import net.gepafin.tendermanagement.enums.UserActionLogsEnum;
|
||||||
import net.gepafin.tendermanagement.model.request.FormFieldRequest;
|
import net.gepafin.tendermanagement.model.request.FormFieldRequest;
|
||||||
|
import net.gepafin.tendermanagement.model.request.UserActionRequest;
|
||||||
import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
|
import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
|
||||||
import net.gepafin.tendermanagement.model.util.Response;
|
import net.gepafin.tendermanagement.model.util.Response;
|
||||||
import net.gepafin.tendermanagement.service.FormFieldService;
|
import net.gepafin.tendermanagement.service.FormFieldService;
|
||||||
|
import net.gepafin.tendermanagement.util.LoggingUtil;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.FormFieldApi;
|
import net.gepafin.tendermanagement.web.rest.api.FormFieldApi;
|
||||||
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
@@ -23,9 +27,17 @@ public class FormFieldApiController implements FormFieldApi {
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private FormFieldService formFieldService;
|
private FormFieldService formFieldService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private LoggingUtil loggingUtil;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<FormFieldResponseBean>> createFormField(HttpServletRequest request, FormFieldRequest formFieldRequest) {
|
public ResponseEntity<Response<FormFieldResponseBean>> createFormField(HttpServletRequest request, FormFieldRequest formFieldRequest) {
|
||||||
|
|
||||||
|
/** This code is responsible for creating user action logs for the "Create Form field" operation. **/
|
||||||
|
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.INSERT)
|
||||||
|
.actionContext(UserActionContextEnum.CREATE_FORM_FIELD).build());
|
||||||
|
|
||||||
FormFieldResponseBean formFieldResponseBean=formFieldService.createFormField(request,formFieldRequest);
|
FormFieldResponseBean formFieldResponseBean=formFieldService.createFormField(request,formFieldRequest);
|
||||||
return ResponseEntity.status(HttpStatus.CREATED)
|
return ResponseEntity.status(HttpStatus.CREATED)
|
||||||
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_CREATED_SUCCESSFULLY)));
|
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_CREATED_SUCCESSFULLY)));
|
||||||
@@ -33,6 +45,11 @@ public class FormFieldApiController implements FormFieldApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<FormFieldResponseBean>> updateFormField(HttpServletRequest request, Long formFieldId, FormFieldRequest formFieldRequest) {
|
public ResponseEntity<Response<FormFieldResponseBean>> updateFormField(HttpServletRequest request, Long formFieldId, FormFieldRequest formFieldRequest) {
|
||||||
|
|
||||||
|
/** This code is responsible for creating user action logs for the "Update Form field" operation. **/
|
||||||
|
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.UPDATE)
|
||||||
|
.actionContext(UserActionContextEnum.UPDATE_FORM_FIELD).build());
|
||||||
|
|
||||||
FormFieldResponseBean formFieldResponseBean=formFieldService.updateFormField(request,formFieldId,formFieldRequest);
|
FormFieldResponseBean formFieldResponseBean=formFieldService.updateFormField(request,formFieldId,formFieldRequest);
|
||||||
return ResponseEntity.status(HttpStatus.CREATED)
|
return ResponseEntity.status(HttpStatus.CREATED)
|
||||||
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_UPDATED_SUCCESSFULLY)));
|
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_UPDATED_SUCCESSFULLY)));
|
||||||
@@ -40,6 +57,11 @@ public class FormFieldApiController implements FormFieldApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<FormFieldResponseBean>> getFormFieldById(HttpServletRequest request, Long formFieldId) {
|
public ResponseEntity<Response<FormFieldResponseBean>> getFormFieldById(HttpServletRequest request, Long formFieldId) {
|
||||||
|
|
||||||
|
/** This code is responsible for creating user action logs for the "Get Form field" operation. **/
|
||||||
|
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
|
||||||
|
.actionContext(UserActionContextEnum.GET_FORM_FIELD).build());
|
||||||
|
|
||||||
FormFieldResponseBean formFieldResponseBean=formFieldService.getFormFieldById(request,formFieldId);
|
FormFieldResponseBean formFieldResponseBean=formFieldService.getFormFieldById(request,formFieldId);
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
|
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
|
||||||
@@ -47,6 +69,11 @@ public class FormFieldApiController implements FormFieldApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<Void>> deleteForm(HttpServletRequest request, Long formFieldId) {
|
public ResponseEntity<Response<Void>> deleteForm(HttpServletRequest request, Long formFieldId) {
|
||||||
|
|
||||||
|
/** This code is responsible for creating user action logs for the "Get Form field" operation. **/
|
||||||
|
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.DELETE)
|
||||||
|
.actionContext(UserActionContextEnum.DELETE_FORM_FIELD).build());
|
||||||
|
|
||||||
formFieldService.deleteFormField(request,formFieldId);
|
formFieldService.deleteFormField(request,formFieldId);
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_DELETED_SUCCESSFULLY)));
|
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_DELETED_SUCCESSFULLY)));
|
||||||
@@ -54,6 +81,11 @@ public class FormFieldApiController implements FormFieldApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<Response<List<FormFieldResponseBean>>> getAllFormField(HttpServletRequest request) {
|
public ResponseEntity<Response<List<FormFieldResponseBean>>> getAllFormField(HttpServletRequest request) {
|
||||||
|
|
||||||
|
/** This code is responsible for creating user action logs for the "Get all Form field" operation. **/
|
||||||
|
loggingUtil.logUserAction(UserActionRequest.builder().request(request).actionType(UserActionLogsEnum.VIEW)
|
||||||
|
.actionContext(UserActionContextEnum.GET_FORM_FIELD).build());
|
||||||
|
|
||||||
List<FormFieldResponseBean> formFieldResponseBeans=formFieldService.getAllFormField(request);
|
List<FormFieldResponseBean> formFieldResponseBeans=formFieldService.getAllFormField(request);
|
||||||
return ResponseEntity.status(HttpStatus.OK)
|
return ResponseEntity.status(HttpStatus.OK)
|
||||||
.body(new Response<>(formFieldResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
|
.body(new Response<>(formFieldResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
|
||||||
|
|||||||
Reference in New Issue
Block a user