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;
|
||||
@@ -25,6 +30,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();
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user