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.constants.GepafinConstant;
|
||||
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.SettingRequestBean;
|
||||
import net.gepafin.tendermanagement.model.request.VersionHistoryRequest;
|
||||
import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
|
||||
import net.gepafin.tendermanagement.model.response.SettingResponseBean;
|
||||
import net.gepafin.tendermanagement.repositories.FormFieldRepository;
|
||||
import net.gepafin.tendermanagement.util.DateTimeUtil;
|
||||
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;
|
||||
@@ -16,6 +19,8 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -26,6 +31,12 @@ public class FormFieldDao {
|
||||
@Autowired
|
||||
private FormFieldRepository formFieldRepository;
|
||||
|
||||
@Autowired
|
||||
private LoggingUtil loggingUtil;
|
||||
|
||||
@Autowired
|
||||
private HttpServletRequest request;
|
||||
|
||||
public FormFieldEntity convertFormFieldRequestToFormFieldEntity(FormFieldRequest formFieldRequest) {
|
||||
FormFieldEntity formFieldEntity = new FormFieldEntity();
|
||||
formFieldEntity.setLabel(formFieldRequest.getLabel());
|
||||
@@ -34,7 +45,11 @@ public class FormFieldDao {
|
||||
formFieldEntity.setSortOrder(formFieldRequest.getSortOrder());
|
||||
formFieldEntity.setValidators(Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -51,10 +66,10 @@ public class FormFieldDao {
|
||||
return formFieldResponseBean;
|
||||
}
|
||||
|
||||
public FormFieldEntity saveFormFieldEntity(FormFieldEntity formFieldEntity) {
|
||||
formFieldEntity = formFieldRepository.save(formFieldEntity);
|
||||
return formFieldEntity;
|
||||
}
|
||||
// public FormFieldEntity saveFormFieldEntity(FormFieldEntity formFieldEntity) {
|
||||
// formFieldEntity = formFieldRepository.save(formFieldEntity);
|
||||
// return formFieldEntity;
|
||||
// }
|
||||
|
||||
public void validateFormField(FormFieldRequest formFieldRequest) {
|
||||
if (formFieldRequest.getSettings() == null || formFieldRequest.getLabel() == null) {
|
||||
@@ -71,6 +86,7 @@ public class FormFieldDao {
|
||||
|
||||
public FormFieldResponseBean updateFormField(Long formFieldId, FormFieldRequest formFieldRequest) {
|
||||
FormFieldEntity formFieldEntity = validateFormField(formFieldId);
|
||||
FormFieldEntity oldFormFieldEntity = Utils.getClonedEntityForData(formFieldEntity);
|
||||
Utils.setIfUpdated(formFieldEntity::getName, formFieldEntity::setName, formFieldRequest.getName());
|
||||
Utils.setIfUpdated(formFieldEntity::getLabel, formFieldEntity::setLabel, formFieldRequest.getLabel());
|
||||
Utils.setIfUpdated(formFieldEntity::getDescription, formFieldEntity::setDescription, formFieldRequest.getDescription());
|
||||
@@ -80,7 +96,13 @@ public class FormFieldDao {
|
||||
Utils.setIfUpdated(formFieldEntity::getValidators, formFieldEntity::setValidators,
|
||||
Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -99,6 +121,11 @@ public class FormFieldDao {
|
||||
public void deleteFormById(Long formFieldId) {
|
||||
FormFieldEntity formEntity = validateFormField(formFieldId);
|
||||
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) {
|
||||
|
||||
@@ -90,6 +90,12 @@ public enum UserActionContextEnum {
|
||||
GET_ASSIGNED_APPLICATION("GET_ASSIGNED_APPLICATION"),
|
||||
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 **/
|
||||
UPLOAD_CALL_DOCUMENT("UPLOAD_CALL_DOCUMENT"),
|
||||
UPLOAD_CALL_IMAGES("UPLOAD_CALL_IMAGES"),
|
||||
|
||||
@@ -3,10 +3,14 @@ package net.gepafin.tendermanagement.web.rest.api.impl;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import net.gepafin.tendermanagement.config.Translator;
|
||||
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.UserActionRequest;
|
||||
import net.gepafin.tendermanagement.model.response.FormFieldResponseBean;
|
||||
import net.gepafin.tendermanagement.model.util.Response;
|
||||
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.errors.Status;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -24,8 +28,16 @@ public class FormFieldApiController implements FormFieldApi {
|
||||
@Autowired
|
||||
private FormFieldService formFieldService;
|
||||
|
||||
@Autowired
|
||||
private LoggingUtil loggingUtil;
|
||||
|
||||
@Override
|
||||
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);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_CREATED_SUCCESSFULLY)));
|
||||
@@ -33,6 +45,11 @@ public class FormFieldApiController implements FormFieldApi {
|
||||
|
||||
@Override
|
||||
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);
|
||||
return ResponseEntity.status(HttpStatus.CREATED)
|
||||
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_UPDATED_SUCCESSFULLY)));
|
||||
@@ -40,6 +57,11 @@ public class FormFieldApiController implements FormFieldApi {
|
||||
|
||||
@Override
|
||||
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);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
|
||||
@@ -47,6 +69,11 @@ public class FormFieldApiController implements FormFieldApi {
|
||||
|
||||
@Override
|
||||
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);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_DELETED_SUCCESSFULLY)));
|
||||
@@ -54,6 +81,11 @@ public class FormFieldApiController implements FormFieldApi {
|
||||
|
||||
@Override
|
||||
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);
|
||||
return ResponseEntity.status(HttpStatus.OK)
|
||||
.body(new Response<>(formFieldResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
|
||||
|
||||
Reference in New Issue
Block a user