From d1bcc36c41d6a3e08ad8b3e32b179216bddf9b0a Mon Sep 17 00:00:00 2001 From: rajesh Date: Wed, 28 Aug 2024 15:21:54 +0530 Subject: [PATCH 1/3] Implemented crud operation for form,form-field and form-template --- .../constants/GepafinConstant.java | 20 ++++ .../gepafin/tendermanagement/dao/CallDao.java | 7 ++ .../gepafin/tendermanagement/dao/FormDao.java | 107 ++++++++++++++++++ .../tendermanagement/dao/FormFieldDao.java | 87 ++++++++++++++ .../tendermanagement/dao/FormTemplateDao.java | 80 +++++++++++++ .../tendermanagement/entities/FormEntity.java | 25 ++++ .../entities/FormFieldEntity.java | 21 ++++ .../entities/FormTemplateEntity.java | 18 +++ .../model/request/FormFieldRequest.java | 13 +++ .../model/request/FormRequest.java | 14 +++ .../model/request/FormTemplateRequest.java | 11 ++ .../model/response/FormFieldResponseBean.java | 14 +++ .../model/response/FormResponseBean.java | 16 +++ .../response/FormTemplateResponseBean.java | 12 ++ .../repositories/CallRepository.java | 3 + .../repositories/FormFieldRepository.java | 9 ++ .../repositories/FormRepository.java | 13 +++ .../repositories/FormTemplateRepository.java | 9 ++ .../tendermanagement/service/CallService.java | 2 + .../service/FormFieldService.java | 20 ++++ .../tendermanagement/service/FormService.java | 23 ++++ .../service/FormTemplateService.java | 20 ++++ .../service/impl/CallServiceImpl.java | 6 + .../service/impl/FormFieldServiceImpl.java | 43 +++++++ .../service/impl/FormServiceImpl.java | 50 ++++++++ .../service/impl/FormTemplateServiceImpl.java | 42 +++++++ .../tendermanagement/util/Validator.java | 20 ++++ .../web/rest/api/FormApi.java | 96 ++++++++++++++++ .../web/rest/api/FormFieldApi.java | 78 +++++++++++++ .../web/rest/api/FormTemplateApi.java | 78 +++++++++++++ .../web/rest/api/impl/FormApiController.java | 62 ++++++++++ .../rest/api/impl/FormFieldApiController.java | 52 +++++++++ .../api/impl/FormTemplateApiController.java | 52 +++++++++ .../db/changelog/db.changelog-1.0.0.xml | 61 ++++++++++ src/main/resources/message_en.properties | 25 +++- src/main/resources/message_it.properties | 27 +++++ 36 files changed, 1235 insertions(+), 1 deletion(-) create mode 100644 src/main/java/net/gepafin/tendermanagement/dao/FormDao.java create mode 100644 src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java create mode 100644 src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java create mode 100644 src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java create mode 100644 src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java create mode 100644 src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java create mode 100644 src/main/java/net/gepafin/tendermanagement/repositories/FormFieldRepository.java create mode 100644 src/main/java/net/gepafin/tendermanagement/repositories/FormRepository.java create mode 100644 src/main/java/net/gepafin/tendermanagement/repositories/FormTemplateRepository.java create mode 100644 src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java create mode 100644 src/main/java/net/gepafin/tendermanagement/service/FormService.java create mode 100644 src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java create mode 100644 src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java create mode 100644 src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java create mode 100644 src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java create mode 100644 src/main/java/net/gepafin/tendermanagement/util/Validator.java create mode 100644 src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java create mode 100644 src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java create mode 100644 src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java create mode 100644 src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormApiController.java create mode 100644 src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java create mode 100644 src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java diff --git a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java index ab9f75cc..4d9c9288 100644 --- a/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java +++ b/src/main/java/net/gepafin/tendermanagement/constants/GepafinConstant.java @@ -43,6 +43,26 @@ public class GepafinConstant { public static final String EMAIL_ALREADY_EXISTS = "email.already.exists"; public static final String DOCUMENT_ID_NOT_FOUND="document.id.not.found"; public static final String INVALID_DATE_MSG = "call.invalid.date"; + public static final String FORM_NOT_FOUND = "form.not.found"; + public static final String FORM_CREATED_SUCCESSFULLY = "form.created.successfully"; + public static final String FORM_UPDATED_SUCCESSFULLY = "form.updated.suucessfully"; + public static final String FORM_DELETED_SUCCESSFULLY = "form.deleted.successfully"; + public static final String FORM_FETCHED_SUCCESSFULLY = "form.fetched.successfully"; + public static final String REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM = "required.parameter.not.found.for.form"; + public static final String FORM_FIELD_NOT_FOUND = "form.field.not.found"; + public static final String FORM_FIELD_CREATED_SUCCESSFULLY = "form.field.created.successfully"; + public static final String FORM_FIELD_UPDATED_SUCCESSFULLY = "form.field.updated.suucessfully"; + public static final String FORM_FIELD_DELETED_SUCCESSFULLY = "form.field.deleted.successfully"; + public static final String FORM_FIELD_FETCHED_SUCCESSFULLY = "form.field.fetched.successfully"; + public static final String REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM_FIELD = "required.parameter.not.found.for.form.field"; + public static final String FORM_TEMPLATE_NOT_FOUND = "form.template.not.found"; + public static final String FORM_TEMPLATE_CREATED_SUCCESSFULLY = "form.template.created.successfully"; + public static final String FORM_TEMPLATE_UPDATED_SUCCESSFULLY = "form.template.updated.suucessfully"; + public static final String FORM_TEMPLATE_DELETED_SUCCESSFULLY = "form.template.deleted.successfully"; + public static final String FORM_TEMPLATE_FETCHED_SUCCESSFULLY = "form.template.fetched.successfully"; + public static final String REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM_TEMPLATE = "required.parameter.not.found.for.form.template"; + public static final String CALL_NOT_FOUND="call.not.found"; + public static final String FORM_NOT_FOUND_FOR_CALL_ID="form.not.found.for.call.id"; } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java index 0b99ceb6..d877b1fa 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/CallDao.java @@ -366,6 +366,13 @@ public class CallDao { return createCallResponseBean; } + public CallEntity getCallEntityById(Long id){ + CallEntity callEntity=callRepository.findByIdAndStatusNotIn(id,List.of(CallTypeEnum.PUBLISH.getValue())); + if(callEntity==null){ + throw new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.CALL_NOT_FOUND)); + } + return callEntity; + } } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java new file mode 100644 index 00000000..8bc9cd3e --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -0,0 +1,107 @@ +package net.gepafin.tendermanagement.dao; + +import net.gepafin.tendermanagement.config.Translator; +import net.gepafin.tendermanagement.constants.GepafinConstant; +import net.gepafin.tendermanagement.entities.CallEntity; +import net.gepafin.tendermanagement.entities.FormEntity; +import net.gepafin.tendermanagement.entities.LookUpDataEntity; +import net.gepafin.tendermanagement.model.request.FormRequest; +import net.gepafin.tendermanagement.model.response.FormResponseBean; +import net.gepafin.tendermanagement.repositories.CallRepository; +import net.gepafin.tendermanagement.repositories.FormRepository; +import net.gepafin.tendermanagement.service.CallService; +import net.gepafin.tendermanagement.service.FormService; +import net.gepafin.tendermanagement.util.ObjectUtils; +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; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; +import java.util.stream.Collectors; + +@Component +public class FormDao { + + @Autowired + private FormRepository formRepository; + + @Autowired + private CallService callService; + + @Autowired + private FormService formService; + + public FormEntity saveFormEntity(FormEntity formEntity){ + formEntity=formRepository.save(formEntity); + return formEntity; + } + + public FormEntity convertFormRequestToFormEntity(Long callId,FormRequest formRequest){ + FormEntity formEntity=new FormEntity(); + CallEntity callEntity=callService.getCallEntityById(callId); + formEntity.setCall(callEntity); + formEntity.setLabel(formRequest.getLabel()); + formEntity.setContent(formRequest.getContent()); + formEntity.setOrderNo(formRequest.getOrderNo()); + formEntity=saveFormEntity(formEntity); + return formEntity; + } + public FormResponseBean convertFormEntityToFormResponseBean(FormEntity formEntity){ + FormResponseBean formResponseBean=new FormResponseBean(); + formResponseBean.setId(formEntity.getId()); + formResponseBean.setContent(formEntity.getContent()); + formResponseBean.setLabel(formEntity.getLabel()); + formResponseBean.setCallId(formEntity.getCall().getId()); + formResponseBean.setOrderNo(formEntity.getOrderNo()); + formResponseBean.setCreatedDate(formEntity.getCreatedDate()); + formResponseBean.setUpdatedDate(formEntity.getUpdatedDate()); + return formResponseBean; + } + public FormResponseBean createForm(Long callId,FormRequest formRequest){ + validateForm(formRequest); + FormEntity formEntity=convertFormRequestToFormEntity(callId,formRequest); + return convertFormEntityToFormResponseBean(formEntity); + } + public void validateForm(FormRequest formRequest){ + if(formRequest.getContent()==null || formRequest.getLabel()==null || (formRequest.getOrderNo() == null || formRequest.getOrderNo() <= 0)){ + throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM)); + } + } + public FormResponseBean updateForm(Long formId, FormRequest formRequest){ + FormEntity formEntity = formService.getFormEntityById(formId); + ObjectUtils.setIfUpdated(formEntity::getLabel,formEntity::setLabel,formRequest.getLabel()); + ObjectUtils.setIfUpdated(formEntity::getContent,formEntity::setContent,formRequest.getContent()); + if(formRequest.getOrderNo()!=null && formRequest.getOrderNo() > 0) { + ObjectUtils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo()); + } + formEntity=saveFormEntity(formEntity); + return convertFormEntityToFormResponseBean(formEntity); + } + + public FormEntity getFormEntity(Long formId) { + FormEntity formEntity = formRepository.findById(formId) + .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_NOT_FOUND))); + return formEntity; + } + + public FormResponseBean getFormEntityById(Long formId) { + FormEntity formEntity = formService.getFormEntityById(formId); + return convertFormEntityToFormResponseBean(formEntity); + } + public void deleteFormById(Long formId){ + FormEntity formEntity=formService.getFormEntityById(formId); + formRepository.delete(formEntity); + } + public List getFormsByCallId(Long callId){ + List formEntities=formRepository.findByCallId(callId); + if(formEntities.isEmpty()){ + throw new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_NOT_FOUND_FOR_CALL_ID)); + } + List formResponseBeanList = formEntities.stream() + .map(req -> convertFormEntityToFormResponseBean(req)) + .collect(Collectors.toList()); + return formResponseBeanList; + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java new file mode 100644 index 00000000..dcda7092 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java @@ -0,0 +1,87 @@ +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.model.request.FormFieldRequest; +import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; +import net.gepafin.tendermanagement.repositories.FormFieldRepository; +import net.gepafin.tendermanagement.service.FormFieldService; +import net.gepafin.tendermanagement.util.ObjectUtils; +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; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class FormFieldDao { + + @Autowired + private FormFieldRepository formFieldRepository; + + @Autowired + private FormFieldService formFieldService; + + + public FormFieldEntity convertFormFieldRequestToFormFieldResponseBean(FormFieldRequest formFieldRequest) { + FormFieldEntity formFieldEntity = new FormFieldEntity(); + formFieldEntity.setLabel(formFieldRequest.getLabel()); + formFieldEntity.setDefinition(formFieldRequest.getDefinition()); + formFieldEntity.setIsActive(true); + if(formFieldRequest.getIsActive()!=null) { + formFieldEntity.setIsActive(formFieldRequest.getIsActive()); + } + formFieldEntity = saveFormFieldEntity(formFieldEntity); + return formFieldEntity; + } + + public FormFieldResponseBean convertFormFieldEntityToFormFieldResponseBean(FormFieldEntity formFieldEntity) { + FormFieldResponseBean formFieldResponseBean = new FormFieldResponseBean(); + formFieldResponseBean.setId(formFieldEntity.getId()); + formFieldResponseBean.setDefinition(formFieldEntity.getDefinition()); + formFieldResponseBean.setLabel(formFieldEntity.getLabel()); + formFieldResponseBean.setIsActive(formFieldEntity.getIsActive()); + formFieldResponseBean.setCreatedDate(formFieldEntity.getCreatedDate()); + formFieldResponseBean.setUpdatedDate(formFieldEntity.getUpdatedDate()); + return formFieldResponseBean; + } + + public FormFieldEntity saveFormFieldEntity(FormFieldEntity formFieldEntity) { + formFieldEntity = formFieldRepository.save(formFieldEntity); + return formFieldEntity; + } + + public void validateFormField(FormFieldRequest formFieldRequest) { + if (formFieldRequest.getDefinition() == null || formFieldRequest.getLabel() == null) { + throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM_FIELD)); + } + } + public FormFieldResponseBean createFormField(FormFieldRequest formFieldRequest){ + validateFormField(formFieldRequest); + FormFieldEntity formFieldEntity=convertFormFieldRequestToFormFieldResponseBean(formFieldRequest); + return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity); + } + public FormFieldResponseBean updateFormField(Long formFieldId,FormFieldRequest formFieldRequest){ + FormFieldEntity formFieldEntity = formFieldService.getFormFieldEntityById(formFieldId); + ObjectUtils.setIfUpdated(formFieldEntity::getLabel,formFieldEntity::setLabel,formFieldRequest.getLabel()); + ObjectUtils.setIfUpdated(formFieldEntity::getDefinition,formFieldEntity::setDefinition,formFieldRequest.getDefinition()); + ObjectUtils.setIfUpdated(formFieldEntity::getIsActive,formFieldEntity::setIsActive,formFieldRequest.getIsActive()); + formFieldEntity=saveFormFieldEntity(formFieldEntity); + return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity); + } + public FormFieldEntity getFormFieldEntity(Long formFieldId) { + FormFieldEntity formFieldEntity=formFieldRepository.findById(formFieldId) + .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_FIELD_NOT_FOUND))); + return formFieldEntity; + } + + public FormFieldResponseBean getFormFieldEntityById(Long formFieldId) { + FormFieldEntity formEntity = formFieldService.getFormFieldEntityById(formFieldId); + return convertFormFieldEntityToFormFieldResponseBean(formEntity); + } + public void deleteFormById(Long formFieldId){ + FormFieldEntity formEntity=formFieldService.getFormFieldEntityById(formFieldId); + formFieldRepository.delete(formEntity); + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java new file mode 100644 index 00000000..88efc0c1 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java @@ -0,0 +1,80 @@ +package net.gepafin.tendermanagement.dao; + +import net.gepafin.tendermanagement.config.Translator; +import net.gepafin.tendermanagement.constants.GepafinConstant; +import net.gepafin.tendermanagement.entities.FormTemplateEntity; +import net.gepafin.tendermanagement.model.request.FormTemplateRequest; +import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; +import net.gepafin.tendermanagement.repositories.FormTemplateRepository; +import net.gepafin.tendermanagement.service.FormTemplateService; +import net.gepafin.tendermanagement.util.ObjectUtils; +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; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class FormTemplateDao { + + @Autowired + private FormTemplateRepository formTemplateRepository; + + @Autowired + private FormTemplateService formTemplateService; + + + public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){ + FormTemplateEntity formTemplateEntity=new FormTemplateEntity(); + formTemplateEntity.setContent(formTemplateRequest.getContent()); + formTemplateEntity.setLabel(formTemplateRequest.getLabel()); + formTemplateEntity=saveFormTemplateEntity(formTemplateEntity); + return formTemplateEntity; + } + public FormTemplateEntity saveFormTemplateEntity(FormTemplateEntity formTemplateEntity){ + formTemplateEntity=formTemplateRepository.save(formTemplateEntity); + return formTemplateEntity; + } + public FormTemplateResponseBean convertFormTemplateEntityToFormTemplateResponseBean(FormTemplateEntity formTemplateEntity){ + FormTemplateResponseBean formTemplateResponseBean=new FormTemplateResponseBean(); + formTemplateResponseBean.setId(formTemplateEntity.getId()); + formTemplateResponseBean.setContent(formTemplateEntity.getContent()); + formTemplateResponseBean.setLabel(formTemplateEntity.getLabel()); + formTemplateResponseBean.setCreatedDate(formTemplateEntity.getCreatedDate()); + formTemplateResponseBean.setUpdatedDate(formTemplateEntity.getUpdatedDate()); + return formTemplateResponseBean; + } + + public FormTemplateResponseBean createFormTemplate(FormTemplateRequest formTemplateRequest){ + validateFormTemplate(formTemplateRequest); + FormTemplateEntity formTemplateEntity=convertFormTemplateRequestToFormTemplateRequest(formTemplateRequest); + return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity); + } + public void validateFormTemplate(FormTemplateRequest formTemplateRequest){ + if(formTemplateRequest.getContent()==null || formTemplateRequest.getLabel()==null ){ + throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM_TEMPLATE)); + } + } + public FormTemplateResponseBean updateFormTemplate(Long formTemplateId,FormTemplateRequest formTemplateRequest){ + FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId); + ObjectUtils.setIfUpdated(formTemplateEntity::getLabel,formTemplateEntity::setLabel,formTemplateRequest.getLabel()); + ObjectUtils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,formTemplateRequest.getContent()); + formTemplateEntity=saveFormTemplateEntity(formTemplateEntity); + return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity); + } + + public FormTemplateEntity getFormTemplateEntity(Long formTemplateId) { + FormTemplateEntity formTemplateEntity = formTemplateRepository.findById(formTemplateId) + .orElseThrow(() -> new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_NOT_FOUND))); + return formTemplateEntity; + } + + public FormTemplateResponseBean getFormTemplateEntityById(Long formTemplateId) { + FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId); + return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity); + } + public void deleteFormTemplateById(Long formTemplateId){ + FormTemplateEntity formTemplateEntity=formTemplateService.getFormEntityById(formTemplateId); + formTemplateRepository.delete(formTemplateEntity); + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java new file mode 100644 index 00000000..b65d78a7 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java @@ -0,0 +1,25 @@ +package net.gepafin.tendermanagement.entities; + +import jakarta.persistence.*; +import lombok.Data; +import lombok.Builder; + +@Entity +@Table(name = "FORM") +@Data +@Builder +public class FormEntity extends BaseEntity{ + + @Column(name = "LABEL", length = 255) + private String label; + + @ManyToOne + @JoinColumn(name = "CALL_ID", foreignKey = @ForeignKey(name = "fk_call_form")) + private CallEntity call; + + @Column(name = "CONTENT", length = 255) + private String content; + + @Column(name = "ORDER_NO") + private Integer orderNo; +} diff --git a/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java new file mode 100644 index 00000000..42ed1e44 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java @@ -0,0 +1,21 @@ +package net.gepafin.tendermanagement.entities; + +import jakarta.persistence.*; +import lombok.Data; +import lombok.Builder; + +@Entity +@Table(name = "FORM_FIELD") +@Data +@Builder +public class FormFieldEntity extends BaseEntity{ + + @Column(name = "LABEL", length = 255) + private String label; + + @Column(name = "DEFINITION", length = 255) + private String definition; + + @Column(name = "IS_ACTIVE") + private Boolean isActive; +} diff --git a/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java new file mode 100644 index 00000000..976bcfc6 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java @@ -0,0 +1,18 @@ +package net.gepafin.tendermanagement.entities; + +import jakarta.persistence.*; +import lombok.Data; +import lombok.Builder; + +@Entity +@Table(name = "FORM_TEMPLATE") +@Data +@Builder +public class FormTemplateEntity extends BaseEntity{ + + @Column(name = "LABEL", length = 255) + private String label; + + @Column(name = "CONTENT", length = 255) + private String content; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java new file mode 100644 index 00000000..0dec37c2 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java @@ -0,0 +1,13 @@ +package net.gepafin.tendermanagement.model.request; + +import lombok.Data; + +@Data +public class FormFieldRequest { + + private String label; + + private String definition; + + private Boolean isActive; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java new file mode 100644 index 00000000..01b2c5d9 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java @@ -0,0 +1,14 @@ +package net.gepafin.tendermanagement.model.request; + +import lombok.Data; + +@Data +public class FormRequest { + + private String label; + + private String content; + + private Integer orderNo; + +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java new file mode 100644 index 00000000..e229cb3e --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java @@ -0,0 +1,11 @@ +package net.gepafin.tendermanagement.model.request; + +import lombok.Data; + +@Data +public class FormTemplateRequest { + + private String label; + + private String content; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java new file mode 100644 index 00000000..63c8231c --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java @@ -0,0 +1,14 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; +import net.gepafin.tendermanagement.model.BaseBean; + +@Data +public class FormFieldResponseBean extends BaseBean { + + private String label; + + private String definition; + + private Boolean isActive; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java new file mode 100644 index 00000000..a14997bf --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java @@ -0,0 +1,16 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; +import net.gepafin.tendermanagement.model.BaseBean; + +@Data +public class FormResponseBean extends BaseBean { + + private String label; + + private Long callId; + + private String content; + + private Integer orderNo; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java new file mode 100644 index 00000000..ab85bf08 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java @@ -0,0 +1,12 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; +import net.gepafin.tendermanagement.model.BaseBean; + +@Data +public class FormTemplateResponseBean extends BaseBean { + + private String label; + + private String content; +} diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/CallRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/CallRepository.java index 093e4086..dd2c8b40 100644 --- a/src/main/java/net/gepafin/tendermanagement/repositories/CallRepository.java +++ b/src/main/java/net/gepafin/tendermanagement/repositories/CallRepository.java @@ -3,8 +3,11 @@ import net.gepafin.tendermanagement.entities.CallEntity; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; +import java.util.List; + @Repository public interface CallRepository extends JpaRepository { + public CallEntity findByIdAndStatusNotIn(Long id, List status); } diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/FormFieldRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/FormFieldRepository.java new file mode 100644 index 00000000..358e4cf9 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/repositories/FormFieldRepository.java @@ -0,0 +1,9 @@ +package net.gepafin.tendermanagement.repositories; + +import net.gepafin.tendermanagement.entities.FormFieldEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface FormFieldRepository extends JpaRepository { +} diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/FormRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/FormRepository.java new file mode 100644 index 00000000..6250b21b --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/repositories/FormRepository.java @@ -0,0 +1,13 @@ +package net.gepafin.tendermanagement.repositories; + +import net.gepafin.tendermanagement.entities.FormEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +import java.util.List; + +@Repository +public interface FormRepository extends JpaRepository { + + List findByCallId(Long callId); +} diff --git a/src/main/java/net/gepafin/tendermanagement/repositories/FormTemplateRepository.java b/src/main/java/net/gepafin/tendermanagement/repositories/FormTemplateRepository.java new file mode 100644 index 00000000..f9ce4f4d --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/repositories/FormTemplateRepository.java @@ -0,0 +1,9 @@ +package net.gepafin.tendermanagement.repositories; + +import net.gepafin.tendermanagement.entities.FormTemplateEntity; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface FormTemplateRepository extends JpaRepository { +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/CallService.java b/src/main/java/net/gepafin/tendermanagement/service/CallService.java index f8a07093..30022ebd 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/CallService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/CallService.java @@ -1,6 +1,7 @@ package net.gepafin.tendermanagement.service; import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.entities.CallEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; @@ -11,4 +12,5 @@ public interface CallService { CreateCallResponseBean createCallStep2(HttpServletRequest request, CreateCallRequestStep2 createCallRequest); + public CallEntity getCallEntityById(Long id); } diff --git a/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java b/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java new file mode 100644 index 00000000..ddbeeb27 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java @@ -0,0 +1,20 @@ +package net.gepafin.tendermanagement.service; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.entities.FormFieldEntity; +import net.gepafin.tendermanagement.model.request.FormFieldRequest; +import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; + +public interface FormFieldService { + + public FormFieldResponseBean createFormField(HttpServletRequest request, FormFieldRequest formFieldRequest); + + public FormFieldResponseBean updateFormField(HttpServletRequest request, Long formFieldId, FormFieldRequest formFieldRequest); + + public FormFieldResponseBean getFormFieldById(HttpServletRequest request, Long formFieldId); + + public void deleteFormField(HttpServletRequest request, Long formFieldId); + + public FormFieldEntity getFormFieldEntityById(Long id); + +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/FormService.java b/src/main/java/net/gepafin/tendermanagement/service/FormService.java new file mode 100644 index 00000000..743b4b36 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/service/FormService.java @@ -0,0 +1,23 @@ +package net.gepafin.tendermanagement.service; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.entities.FormEntity; +import net.gepafin.tendermanagement.model.request.FormRequest; +import net.gepafin.tendermanagement.model.response.FormResponseBean; + +import java.util.List; + +public interface FormService { + + public FormResponseBean createForm(HttpServletRequest request,Long callId,FormRequest formRequest); + + public FormResponseBean updateForm(HttpServletRequest request, Long formId, FormRequest formRequest); + + public FormResponseBean getFormById(HttpServletRequest request, Long formId); + + public void deleteForm(HttpServletRequest request, Long formId); + + public FormEntity getFormEntityById(Long id); + + public List getFormsByCallId(HttpServletRequest request,Long callId); +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java b/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java new file mode 100644 index 00000000..4ab4bca7 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java @@ -0,0 +1,20 @@ +package net.gepafin.tendermanagement.service; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.entities.FormTemplateEntity; +import net.gepafin.tendermanagement.model.request.FormTemplateRequest; +import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; + +public interface FormTemplateService { + + public FormTemplateResponseBean createTemplateForm(HttpServletRequest request, FormTemplateRequest formTemplateRequest); + + public FormTemplateResponseBean updateTemplateForm(HttpServletRequest request, Long formTemplateId, FormTemplateRequest formTemplateRequest); + + public FormTemplateResponseBean getFormTemplateById(HttpServletRequest request, Long formTemplateId); + + public void deleteFormTemplate(HttpServletRequest request, Long formTemplateId); + + public FormTemplateEntity getFormEntityById(Long id); + +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java index 53edaf6d..58ee7be2 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/CallServiceImpl.java @@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.service.impl; import jakarta.servlet.http.HttpServletRequest; import net.gepafin.tendermanagement.config.jwt.TokenProvider; import net.gepafin.tendermanagement.dao.CallDao; +import net.gepafin.tendermanagement.entities.CallEntity; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1; import net.gepafin.tendermanagement.model.request.CreateCallRequestStep2; import net.gepafin.tendermanagement.model.response.CreateCallResponseBean; @@ -33,4 +34,9 @@ public class CallServiceImpl implements CallService { Map userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request); return callDao.createCallStep2(createCallRequest, Long.parseLong(userInfo.get("userId").toString())); } + + @Override + public CallEntity getCallEntityById(Long id){ + return callDao.getCallEntityById(id); + } } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java new file mode 100644 index 00000000..ae231ea4 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java @@ -0,0 +1,43 @@ +package net.gepafin.tendermanagement.service.impl; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.dao.FormFieldDao; +import net.gepafin.tendermanagement.entities.FormFieldEntity; +import net.gepafin.tendermanagement.model.request.FormFieldRequest; +import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; +import net.gepafin.tendermanagement.service.FormFieldService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class FormFieldServiceImpl implements FormFieldService { + + @Autowired + private FormFieldDao formFieldDao; + + @Override + public FormFieldResponseBean createFormField(HttpServletRequest request, FormFieldRequest formFieldRequest) { + return formFieldDao.createFormField(formFieldRequest); + } + + @Override + public FormFieldResponseBean updateFormField(HttpServletRequest request, Long formFieldId, FormFieldRequest formFieldRequest) { + return formFieldDao.updateFormField(formFieldId,formFieldRequest); + } + + @Override + public FormFieldResponseBean getFormFieldById(HttpServletRequest request, Long formFieldId) { + return formFieldDao.getFormFieldEntityById(formFieldId); + } + + @Override + public void deleteFormField(HttpServletRequest request, Long formFieldId) { + formFieldDao.deleteFormById(formFieldId); + return; + } + + @Override + public FormFieldEntity getFormFieldEntityById(Long id) { + return formFieldDao.getFormFieldEntity(id); + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java new file mode 100644 index 00000000..378a4dce --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/FormServiceImpl.java @@ -0,0 +1,50 @@ +package net.gepafin.tendermanagement.service.impl; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.dao.FormDao; +import net.gepafin.tendermanagement.entities.FormEntity; +import net.gepafin.tendermanagement.model.request.FormRequest; +import net.gepafin.tendermanagement.model.response.FormResponseBean; +import net.gepafin.tendermanagement.service.FormService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class FormServiceImpl implements FormService { + + @Autowired + private FormDao formDao; + + @Override + public FormResponseBean createForm(HttpServletRequest request,Long callId, FormRequest formRequest) { + return formDao.createForm(callId,formRequest); + } + + @Override + public FormResponseBean updateForm(HttpServletRequest request, Long formId, FormRequest formRequest) { + return formDao.updateForm(formId,formRequest); + } + + @Override + public FormResponseBean getFormById(HttpServletRequest request, Long formId) { + return formDao.getFormEntityById(formId); + } + + @Override + public void deleteForm(HttpServletRequest request, Long formId) { + formDao.deleteFormById(formId); + return; + } + + @Override + public FormEntity getFormEntityById(Long id) { + return formDao.getFormEntity(id); + } + + @Override + public List getFormsByCallId(HttpServletRequest request, Long callId) { + return formDao.getFormsByCallId(callId); + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java new file mode 100644 index 00000000..25ea75fb --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java @@ -0,0 +1,42 @@ +package net.gepafin.tendermanagement.service.impl; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.dao.FormTemplateDao; +import net.gepafin.tendermanagement.entities.FormTemplateEntity; +import net.gepafin.tendermanagement.model.request.FormTemplateRequest; +import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; +import net.gepafin.tendermanagement.service.FormTemplateService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +@Service +public class FormTemplateServiceImpl implements FormTemplateService { + + @Autowired + private FormTemplateDao formTemplateDao; + + @Override + public FormTemplateResponseBean createTemplateForm(HttpServletRequest request, FormTemplateRequest formTemplateRequest) { + return formTemplateDao.createFormTemplate(formTemplateRequest); + } + + @Override + public FormTemplateResponseBean updateTemplateForm(HttpServletRequest request, Long formTemplateId, FormTemplateRequest formTemplateRequest) { + return formTemplateDao.updateFormTemplate(formTemplateId,formTemplateRequest); + } + + @Override + public FormTemplateResponseBean getFormTemplateById(HttpServletRequest request, Long formTemplateId) { + return formTemplateDao.getFormTemplateEntityById(formTemplateId); + } + + @Override + public void deleteFormTemplate(HttpServletRequest request, Long formTemplateId) { + formTemplateDao.deleteFormTemplateById(formTemplateId); + } + + @Override + public FormTemplateEntity getFormEntityById(Long id) { + return formTemplateDao.getFormTemplateEntity(id); + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/util/Validator.java b/src/main/java/net/gepafin/tendermanagement/util/Validator.java new file mode 100644 index 00000000..70263878 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/util/Validator.java @@ -0,0 +1,20 @@ +package net.gepafin.tendermanagement.util; + +import jakarta.servlet.http.HttpServletRequest; +import net.gepafin.tendermanagement.config.jwt.TokenProvider; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Map; + +@Component +public class Validator { + + @Autowired + private TokenProvider tokenProvider; + + public Map getUserInfoFromToken(HttpServletRequest request) { + return tokenProvider.getUserInfoAndUserIdFromToken(request); + } + +} diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java new file mode 100644 index 00000000..001de040 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormApi.java @@ -0,0 +1,96 @@ +package net.gepafin.tendermanagement.web.rest.api; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.ExampleObject; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.validation.Valid; +import net.gepafin.tendermanagement.model.request.FormRequest; +import net.gepafin.tendermanagement.model.response.FormResponseBean; +import net.gepafin.tendermanagement.model.util.Response; +import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + + +public interface FormApi { + + @Operation(summary = "Api to create form", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) + }) + @PostMapping(value = "/call/{callId}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity> createForm(HttpServletRequest request,@Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId, + @Parameter(description = "form request object", required = true) + @Valid @RequestBody FormRequest formRequest); + + + @Operation(summary = "Api to update form", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @PutMapping(value = "/{formId}", + produces = { "application/json" }) + ResponseEntity> updateForm(HttpServletRequest request, + @Parameter(description = "The form ID", required = true) @PathVariable("formId") Long formId, + @Parameter(description = "form request object", required = true) @Valid @RequestBody FormRequest formRequest); + + @Operation(summary = "Api to get form by id", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @GetMapping(value = "/{formId}", + produces = { "application/json" }) + ResponseEntity> getFormById(HttpServletRequest request, + @Parameter(description = "The form ID", required = true) @PathVariable("formId") Long formId); + + + @Operation(summary = "Api to delete form", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @DeleteMapping(value = "/{formId}") + ResponseEntity> deleteForm(HttpServletRequest request, + @Parameter(description = "The form ID", required = true) @PathVariable("formId") Long formId); + + @Operation(summary = "Api to get forms by callId", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @GetMapping(value = "/call/{callId}", + produces = { "application/json" }) + ResponseEntity>> getFormsByCallId(HttpServletRequest request, + @Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId); + +} diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java new file mode 100644 index 00000000..cc76814e --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java @@ -0,0 +1,78 @@ +package net.gepafin.tendermanagement.web.rest.api; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.ExampleObject; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.validation.Valid; +import net.gepafin.tendermanagement.model.request.FormFieldRequest; +import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; +import net.gepafin.tendermanagement.model.util.Response; +import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +public interface FormFieldApi { + + @Operation(summary = "Api to create form field", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) + }) + @PostMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity> createFormField(HttpServletRequest request, + @Parameter(description = "form field request object", required = true) + @Valid @RequestBody FormFieldRequest formFieldRequest); + + + @Operation(summary = "Api to update form field", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @PutMapping(value = "/{formFieldId}", + produces = { "application/json" }) + ResponseEntity> updateFormField(HttpServletRequest request, + @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId, + @Parameter(description = "form field request object", required = true) @Valid @RequestBody FormFieldRequest formFieldRequest); + + @Operation(summary = "Api to get form field by id", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @GetMapping(value = "/{formFieldId}", + produces = { "application/json" }) + ResponseEntity> getFormFieldById(HttpServletRequest request, + @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId); + + + @Operation(summary = "Api to delete form field", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @DeleteMapping(value = "/{formFieldId}") + ResponseEntity> deleteForm(HttpServletRequest request, + @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId); +} diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java new file mode 100644 index 00000000..add01265 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java @@ -0,0 +1,78 @@ +package net.gepafin.tendermanagement.web.rest.api; + +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.ExampleObject; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.validation.Valid; +import net.gepafin.tendermanagement.model.request.FormTemplateRequest; +import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; +import net.gepafin.tendermanagement.model.util.Response; +import net.gepafin.tendermanagement.web.rest.api.errors.ErrorConstants; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +public interface FormTemplateApi { + + @Operation(summary = "Api to create form template", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) + }) + @PostMapping(value = "", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + public ResponseEntity> createFormTemplate(HttpServletRequest request, + @Parameter(description = "form template request object", required = true) + @Valid @RequestBody FormTemplateRequest formTemplateRequest); + + + @Operation(summary = "Api to update form template", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @PutMapping(value = "/{formTemplateId}", + produces = { "application/json" }) + ResponseEntity> updateFormTemplate(HttpServletRequest request, + @Parameter(description = "The form template ID", required = true) @PathVariable("formTemplateId") Long formTemplateId, + @Parameter(description = "form template request object", required = true) @Valid @RequestBody FormTemplateRequest formTemplateRequest); + + @Operation(summary = "Api to get form template by id", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @GetMapping(value = "/{formTemplateId}", + produces = { "application/json" }) + ResponseEntity> getFormTemplateById(HttpServletRequest request, + @Parameter(description = "The form template ID", required = true) @PathVariable("formTemplateId") Long formTemplateId); + + + @Operation(summary = "Api to delete form template", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @DeleteMapping(value = "/{formTemplateId}") + ResponseEntity> deleteFormTemplate(HttpServletRequest request, + @Parameter(description = "The form template ID", required = true) @PathVariable("formTemplateId") Long formTemplateId); +} diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormApiController.java new file mode 100644 index 00000000..72e8bd2b --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormApiController.java @@ -0,0 +1,62 @@ +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.model.request.FormRequest; +import net.gepafin.tendermanagement.model.response.FormResponseBean; +import net.gepafin.tendermanagement.model.util.Response; +import net.gepafin.tendermanagement.service.FormService; +import net.gepafin.tendermanagement.web.rest.api.FormApi; +import net.gepafin.tendermanagement.web.rest.api.errors.Status; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RestController +@RequestMapping("${openapi.gepafin.base-path:/v1/form}") +public class FormApiController implements FormApi { + + @Autowired + private FormService formService; + + @Override + public ResponseEntity> createForm(HttpServletRequest request,Long callId, FormRequest formRequest) { + FormResponseBean formResponseBean = formService.createForm(request,callId, formRequest); + return ResponseEntity.status(HttpStatus.CREATED) + .body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_CREATED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> updateForm(HttpServletRequest request, Long formId, FormRequest formRequest) { + FormResponseBean formResponseBean = formService.updateForm(request, formId, formRequest); + return ResponseEntity.status(HttpStatus.CREATED) + .body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_UPDATED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> getFormById(HttpServletRequest request, Long formId) { + FormResponseBean formResponseBean=formService.getFormById(request,formId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FETCHED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> deleteForm(HttpServletRequest request, Long formId) { + formService.deleteForm(request,formId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_DELETED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity>> getFormsByCallId(HttpServletRequest request, Long callId) { + List formResponseBean=formService.getFormsByCallId(request,callId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FETCHED_SUCCESSFULLY))); + } + +} diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java new file mode 100644 index 00000000..9445ec14 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java @@ -0,0 +1,52 @@ +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.model.request.FormFieldRequest; +import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; +import net.gepafin.tendermanagement.model.util.Response; +import net.gepafin.tendermanagement.service.FormFieldService; +import net.gepafin.tendermanagement.web.rest.api.FormFieldApi; +import net.gepafin.tendermanagement.web.rest.api.errors.Status; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("${openapi.gepafin.base-path:/v1/formField}") +public class FormFieldApiController implements FormFieldApi { + + @Autowired + private FormFieldService formFieldService; + + @Override + public ResponseEntity> createFormField(HttpServletRequest request, FormFieldRequest formFieldRequest) { + FormFieldResponseBean formFieldResponseBean=formFieldService.createFormField(request,formFieldRequest); + return ResponseEntity.status(HttpStatus.CREATED) + .body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_CREATED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> updateFormField(HttpServletRequest request, Long formFieldId, FormFieldRequest formFieldRequest) { + 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))); + } + + @Override + public ResponseEntity> getFormFieldById(HttpServletRequest request, Long formFieldId) { + FormFieldResponseBean formFieldResponseBean=formFieldService.getFormFieldById(request,formFieldId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(formFieldResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> deleteForm(HttpServletRequest request, Long formFieldId) { + formFieldService.deleteFormField(request,formFieldId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_DELETED_SUCCESSFULLY))); + } +} diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java new file mode 100644 index 00000000..52a56f5e --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java @@ -0,0 +1,52 @@ +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.model.request.FormTemplateRequest; +import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; +import net.gepafin.tendermanagement.model.util.Response; +import net.gepafin.tendermanagement.service.FormTemplateService; +import net.gepafin.tendermanagement.web.rest.api.FormTemplateApi; +import net.gepafin.tendermanagement.web.rest.api.errors.Status; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("${openapi.gepafin.base-path:/v1/formTemplate}") +public class FormTemplateApiController implements FormTemplateApi { + + @Autowired + private FormTemplateService formTemplateService; + + @Override + public ResponseEntity> createFormTemplate(HttpServletRequest request, FormTemplateRequest formTemplateRequest) { + FormTemplateResponseBean formTemplateResponseBean=formTemplateService.createTemplateForm(request,formTemplateRequest); + return ResponseEntity.status(HttpStatus.CREATED) + .body(new Response<>(formTemplateResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_CREATED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> updateFormTemplate(HttpServletRequest request, Long formTemplateId, FormTemplateRequest formTemplateRequest) { + FormTemplateResponseBean formTemplateResponseBean=formTemplateService.updateTemplateForm(request,formTemplateId,formTemplateRequest); + return ResponseEntity.status(HttpStatus.CREATED) + .body(new Response<>(formTemplateResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_UPDATED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> getFormTemplateById(HttpServletRequest request, Long formTemplateId) { + FormTemplateResponseBean formTemplateResponseBean=formTemplateService.getFormTemplateById(request, formTemplateId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(formTemplateResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_FETCHED_SUCCESSFULLY))); + } + + @Override + public ResponseEntity> deleteFormTemplate(HttpServletRequest request, Long formTemplateId) { + formTemplateService.deleteFormTemplate(request,formTemplateId); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_DELETED_SUCCESSFULLY))); + } +} diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index 5293ec62..c1999952 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -395,4 +395,65 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 15aa6498..ebacb43f 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -43,8 +43,9 @@ call.created.successfully=Call created successfully. file.deleted.successfully=File deleted successfully. document.not.found=Document not found. document.id.not.found=Document ID not found. -call.created.successfully=Call created successfully. call.invalid.date=Invalid start or end date. +call.not.found=Call not found. +call.id.not.null=Call id cannot be null. # Login-related messages login.successfully=Login successfully. @@ -57,7 +58,29 @@ invalid_signature=Invalid token. invalid_login=Invalid username or password. req_validation_er=Request Validation Error +#Form-related messages +form.not.found=Form not found. +form.created.successfully=Form created successfully. +form.updated.suucessfully=Form updated successfully. +form.deleted.successfully=Form deleted successfully. +form.fetched.successfully=Form fetched successfully. +required.parameter.not.found.for.form=Label, content, or orderNo cannot be null. +form.not.found.for.call.id=Form not found for corresponding call. +#Form-field-related messages +form.field.not.found=Form field not found. +form.field.created.successfully=Form field created successfully. +form.field.updated.suucessfully=Form field updated successfully. +form.field.deleted.successfully=Form field deleted successfully. +form.field.fetched.successfully=Form field fetched successfully. +required.parameter.not.found.for.form.field=Label or definition cannot be null. +#Form-template-related messages +form.template.not.found=Form template not found. +form.template.created.successfully=Form template created successfully. +form.template.updated.suucessfully=Form template updated successfully. +form.template.deleted.successfully=Form template deleted successfully. +form.template.fetched.successfully=Form template fetched successfully. +required.parameter.not.found.for.form.template=Label or content cannot be null. \ No newline at end of file diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index ae93ff53..f53b6d0f 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -44,6 +44,8 @@ file.deleted.successfully=File eliminato con successo. document.not.found=Documento non trovato. document.id.not.found=ID documento non trovato. call.invalid.date=Data di inizio o fine non valida. +call.not.found=Chiamata non trovata. +call.id.not.null=L'ID della chiamata non può essere nullo. # Login-related messages login.successfully=Accesso effettuato con successo. @@ -55,3 +57,28 @@ common_message=qualcosa é andato storto. Per favore riprova invalid_signature=Gettone non valido. invalid_login=Nome utente o password errati req_validation_er=Errore di convalida + +#Form-related messages +form.not.found=Modulo non trovato. +form.created.successfully=Modulo creato correttamente. +form.updated.suucessfully=Modulo aggiornato correttamente. +form.deleted.successfully=Modulo eliminato correttamente. +form.fetched.successfully=Modulo recuperato correttamente. +required.parameter.not.found.for.form=Etichetta, contenuto o orderNo non possono essere nulli. +form.not.found.for.call.id=Modulo non trovato per la chiamata corrispondente. + +#Form-field-related messages +form.field.not.found=Campo modulo non trovato. +form.field.created.successfully=Campo del modulo creato correttamente. +form.field.updated.suucessfully=Campo del modulo aggiornato correttamente. +form.field.deleted.successfully=Campo del modulo eliminato correttamente. +form.field.fetched.successfully=Campo del modulo recuperato correttamente. +required.parameter.not.found.for.form.field=Etichetta o definizione non possono essere nulli. + +#Form-template-related messages +form.template.not.found=Modello di modulo non trovato. +form.template.created.successfully=Modello di modulo creato correttamente. +form.template.updated.suucessfully=Modello di modulo aggiornato correttamente. +form.template.deleted.successfully=Modello di modulo eliminato correttamente. +form.template.fetched.successfully=Modello di modulo recuperato correttamente. +required.parameter.not.found.for.form.template=Etichetta o contenuto non possono essere nulli. From 7af37db2ffb357bc45e65ba31a04d7d2e0dbabc2 Mon Sep 17 00:00:00 2001 From: rajesh Date: Fri, 30 Aug 2024 11:52:31 +0530 Subject: [PATCH 2/3] Updated form field response bean --- .../gepafin/tendermanagement/dao/FormDao.java | 15 +++--- .../tendermanagement/dao/FormFieldDao.java | 42 +++++++++++------ .../tendermanagement/dao/FormTemplateDao.java | 2 +- .../tendermanagement/entities/FormEntity.java | 4 ++ .../entities/FormFieldEntity.java | 15 ++++-- .../entities/FormTemplateEntity.java | 4 ++ .../model/request/ContentRequestBean.java | 18 +++++++ .../model/request/FormFieldRequest.java | 9 +++- .../model/request/FormRequest.java | 4 +- .../model/request/SettingRequestBean.java | 11 +++++ .../model/response/ContentResponseBean.java | 17 +++++++ .../model/response/FormFieldResponseBean.java | 14 ++++-- .../model/response/FormResponseBean.java | 8 +++- .../model/response/SettingResponseBean.java | 11 +++++ .../service/FormFieldService.java | 4 ++ .../service/impl/FormFieldServiceImpl.java | 7 +++ .../gepafin/tendermanagement/util/Utils.java | 47 +++++++++++++++++++ .../web/rest/api/FormFieldApi.java | 16 +++++++ .../rest/api/impl/FormFieldApiController.java | 9 ++++ .../db/changelog/db.changelog-1.0.0.xml | 11 +++-- 20 files changed, 229 insertions(+), 39 deletions(-) create mode 100644 src/main/java/net/gepafin/tendermanagement/model/request/ContentRequestBean.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/request/SettingRequestBean.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/ContentResponseBean.java create mode 100644 src/main/java/net/gepafin/tendermanagement/model/response/SettingResponseBean.java diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java index 7902e72e..60aba2ea 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -4,7 +4,9 @@ import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.entities.CallEntity; import net.gepafin.tendermanagement.entities.FormEntity; +import net.gepafin.tendermanagement.model.request.ContentRequestBean; import net.gepafin.tendermanagement.model.request.FormRequest; +import net.gepafin.tendermanagement.model.response.ContentResponseBean; import net.gepafin.tendermanagement.model.response.FormResponseBean; import net.gepafin.tendermanagement.repositories.FormRepository; import net.gepafin.tendermanagement.service.CallService; @@ -37,11 +39,11 @@ public class FormDao { } public FormEntity convertFormRequestToFormEntity(Long callId,FormRequest formRequest){ - FormEntity formEntity=null; + FormEntity formEntity=new FormEntity(); CallEntity callEntity=callService.getCallEntityById(callId); formEntity.setCall(callEntity); formEntity.setLabel(formRequest.getLabel()); - formEntity.setContent(formRequest.getContent()); + formEntity.setContent(setContentResponseBean(formRequest.getContent())); formEntity.setOrderNo(formRequest.getOrderNo()); formEntity=saveFormEntity(formEntity); return formEntity; @@ -49,12 +51,10 @@ public class FormDao { public FormResponseBean convertFormEntityToFormResponseBean(FormEntity formEntity){ FormResponseBean formResponseBean=new FormResponseBean(); formResponseBean.setId(formEntity.getId()); - formResponseBean.setContent(formEntity.getContent()); + formResponseBean.setContent(Utils.convertJsonStringToList(formEntity.getContent(), ContentResponseBean.class)); formResponseBean.setLabel(formEntity.getLabel()); formResponseBean.setCallId(formEntity.getCall().getId()); formResponseBean.setOrderNo(formEntity.getOrderNo()); - formResponseBean.setCreatedDate(formEntity.getCreatedDate()); - formResponseBean.setUpdatedDate(formEntity.getUpdatedDate()); return formResponseBean; } public FormResponseBean createForm(Long callId,FormRequest formRequest){ @@ -70,7 +70,7 @@ public class FormDao { public FormResponseBean updateForm(Long formId, FormRequest formRequest){ FormEntity formEntity = formService.getFormEntityById(formId); Utils.setIfUpdated(formEntity::getLabel,formEntity::setLabel,formRequest.getLabel()); - Utils.setIfUpdated(formEntity::getContent,formEntity::setContent,formRequest.getContent()); + Utils.setIfUpdated(formEntity::getContent,formEntity::setContent,setContentResponseBean(formRequest.getContent())); if(formRequest.getOrderNo()!=null && formRequest.getOrderNo() > 0) { Utils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo()); } @@ -102,4 +102,7 @@ public class FormDao { .collect(Collectors.toList()); return formResponseBeanList; } + public String setContentResponseBean(List contentRequestBeans){ + return Utils.convertListToJsonString(contentRequestBeans); + } } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java index c1f2fedf..6f0149b0 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java @@ -4,7 +4,9 @@ import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.entities.FormFieldEntity; import net.gepafin.tendermanagement.model.request.FormFieldRequest; +import net.gepafin.tendermanagement.model.request.SettingRequestBean; import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; +import net.gepafin.tendermanagement.model.response.SettingResponseBean; import net.gepafin.tendermanagement.repositories.FormFieldRepository; import net.gepafin.tendermanagement.service.FormFieldService; import net.gepafin.tendermanagement.util.Utils; @@ -14,6 +16,9 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.util.List; +import java.util.stream.Collectors; + @Component public class FormFieldDao { @@ -24,14 +29,12 @@ public class FormFieldDao { private FormFieldService formFieldService; - public FormFieldEntity convertFormFieldRequestToFormFieldResponseBean(FormFieldRequest formFieldRequest) { - FormFieldEntity formFieldEntity = null; + public FormFieldEntity convertFormFieldRequestToFormFieldEntity(FormFieldRequest formFieldRequest) { + FormFieldEntity formFieldEntity = new FormFieldEntity(); formFieldEntity.setLabel(formFieldRequest.getLabel()); - formFieldEntity.setDefinition(formFieldRequest.getDefinition()); - formFieldEntity.setIsActive(true); - if(formFieldRequest.getIsActive()!=null) { - formFieldEntity.setIsActive(formFieldRequest.getIsActive()); - } + formFieldEntity.setName(formFieldRequest.getName()); + formFieldEntity.setValidators(Utils.convertMapIntoJsonString(formFieldRequest.getValidators())); + formFieldEntity.setSettings(setSettingRequestBean(formFieldRequest.getSettings())); formFieldEntity = saveFormFieldEntity(formFieldEntity); return formFieldEntity; } @@ -39,11 +42,10 @@ public class FormFieldDao { public FormFieldResponseBean convertFormFieldEntityToFormFieldResponseBean(FormFieldEntity formFieldEntity) { FormFieldResponseBean formFieldResponseBean = new FormFieldResponseBean(); formFieldResponseBean.setId(formFieldEntity.getId()); - formFieldResponseBean.setDefinition(formFieldEntity.getDefinition()); + formFieldResponseBean.setName(formFieldEntity.getName()); + formFieldResponseBean.setSettings(Utils.convertJsonStringToList(formFieldEntity.getSettings(), SettingResponseBean.class)); formFieldResponseBean.setLabel(formFieldEntity.getLabel()); - formFieldResponseBean.setIsActive(formFieldEntity.getIsActive()); - formFieldResponseBean.setCreatedDate(formFieldEntity.getCreatedDate()); - formFieldResponseBean.setUpdatedDate(formFieldEntity.getUpdatedDate()); + formFieldResponseBean.setValidators(Utils.convertIntoJson(formFieldEntity.getValidators())); return formFieldResponseBean; } @@ -53,20 +55,21 @@ public class FormFieldDao { } public void validateFormField(FormFieldRequest formFieldRequest) { - if (formFieldRequest.getDefinition() == null || formFieldRequest.getLabel() == null) { + if (formFieldRequest.getSettings() == null || formFieldRequest.getLabel() == null) { throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM_FIELD)); } } public FormFieldResponseBean createFormField(FormFieldRequest formFieldRequest){ validateFormField(formFieldRequest); - FormFieldEntity formFieldEntity=convertFormFieldRequestToFormFieldResponseBean(formFieldRequest); + FormFieldEntity formFieldEntity=convertFormFieldRequestToFormFieldEntity(formFieldRequest); return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity); } public FormFieldResponseBean updateFormField(Long formFieldId,FormFieldRequest formFieldRequest){ FormFieldEntity formFieldEntity = formFieldService.getFormFieldEntityById(formFieldId); + Utils.setIfUpdated(formFieldEntity::getName,formFieldEntity::setName,formFieldRequest.getName()); Utils.setIfUpdated(formFieldEntity::getLabel,formFieldEntity::setLabel,formFieldRequest.getLabel()); - Utils.setIfUpdated(formFieldEntity::getDefinition,formFieldEntity::setDefinition,formFieldRequest.getDefinition()); - Utils.setIfUpdated(formFieldEntity::getIsActive,formFieldEntity::setIsActive,formFieldRequest.getIsActive()); + Utils.setIfUpdated(formFieldEntity::getSettings,formFieldEntity::setSettings,setSettingRequestBean(formFieldRequest.getSettings())); + Utils.setIfUpdated(formFieldEntity::getValidators,formFieldEntity::setValidators,Utils.convertMapIntoJsonString(formFieldRequest.getValidators())); formFieldEntity=saveFormFieldEntity(formFieldEntity); return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity); } @@ -84,4 +87,13 @@ public class FormFieldDao { FormFieldEntity formEntity=formFieldService.getFormFieldEntityById(formFieldId); formFieldRepository.delete(formEntity); } + public String setSettingRequestBean(List settingRequestBeans){ + return Utils.convertListToJsonString(settingRequestBeans); + } + public List getAllFormField(){ + List formFieldEntities=formFieldRepository.findAll(); + List formFieldResponseBeans = formFieldEntities.stream() + .map(req -> convertFormFieldEntityToFormFieldResponseBean(req)).collect(Collectors.toList()); + return formFieldResponseBeans; + } } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java index 9d13ccab..b383a623 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java @@ -25,7 +25,7 @@ public class FormTemplateDao { public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){ - FormTemplateEntity formTemplateEntity=null; + FormTemplateEntity formTemplateEntity=new FormTemplateEntity(); formTemplateEntity.setContent(formTemplateRequest.getContent()); formTemplateEntity.setLabel(formTemplateRequest.getLabel()); formTemplateEntity=saveFormTemplateEntity(formTemplateEntity); diff --git a/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java index b65d78a7..d4a8c5f2 100644 --- a/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java +++ b/src/main/java/net/gepafin/tendermanagement/entities/FormEntity.java @@ -1,12 +1,16 @@ package net.gepafin.tendermanagement.entities; import jakarta.persistence.*; +import lombok.AllArgsConstructor; import lombok.Data; import lombok.Builder; +import lombok.NoArgsConstructor; @Entity @Table(name = "FORM") @Data +@NoArgsConstructor +@AllArgsConstructor @Builder public class FormEntity extends BaseEntity{ diff --git a/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java index 42ed1e44..bffa49be 100644 --- a/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java +++ b/src/main/java/net/gepafin/tendermanagement/entities/FormFieldEntity.java @@ -1,21 +1,28 @@ package net.gepafin.tendermanagement.entities; import jakarta.persistence.*; +import lombok.AllArgsConstructor; import lombok.Data; import lombok.Builder; +import lombok.NoArgsConstructor; @Entity @Table(name = "FORM_FIELD") @Data +@NoArgsConstructor +@AllArgsConstructor @Builder public class FormFieldEntity extends BaseEntity{ + @Column(name = "NAME", length = 255) + private String name; + @Column(name = "LABEL", length = 255) private String label; - @Column(name = "DEFINITION", length = 255) - private String definition; + @Column(name = "SETTINGS") + private String settings; - @Column(name = "IS_ACTIVE") - private Boolean isActive; + @Column(name = "VALIDATORS") + private String validators; } diff --git a/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java b/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java index 976bcfc6..897a9dfd 100644 --- a/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java +++ b/src/main/java/net/gepafin/tendermanagement/entities/FormTemplateEntity.java @@ -1,12 +1,16 @@ package net.gepafin.tendermanagement.entities; import jakarta.persistence.*; +import lombok.AllArgsConstructor; import lombok.Data; import lombok.Builder; +import lombok.NoArgsConstructor; @Entity @Table(name = "FORM_TEMPLATE") @Data +@NoArgsConstructor +@AllArgsConstructor @Builder public class FormTemplateEntity extends BaseEntity{ diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/ContentRequestBean.java b/src/main/java/net/gepafin/tendermanagement/model/request/ContentRequestBean.java new file mode 100644 index 00000000..f0399ead --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/request/ContentRequestBean.java @@ -0,0 +1,18 @@ +package net.gepafin.tendermanagement.model.request; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class ContentRequestBean { + + private String id; + private String name; + private String label; + private List settings; + private Map validators; + private Integer dbId; + +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java index 0dec37c2..30ddd40b 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/FormFieldRequest.java @@ -2,12 +2,17 @@ package net.gepafin.tendermanagement.model.request; import lombok.Data; +import java.util.List; +import java.util.Map; + @Data public class FormFieldRequest { + private String name; + private String label; - private String definition; + private List settings; - private Boolean isActive; + private Map validators; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java index 01b2c5d9..af541630 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/FormRequest.java @@ -2,12 +2,14 @@ package net.gepafin.tendermanagement.model.request; import lombok.Data; +import java.util.List; + @Data public class FormRequest { private String label; - private String content; + private List content; private Integer orderNo; diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/SettingRequestBean.java b/src/main/java/net/gepafin/tendermanagement/model/request/SettingRequestBean.java new file mode 100644 index 00000000..98db2c59 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/request/SettingRequestBean.java @@ -0,0 +1,11 @@ +package net.gepafin.tendermanagement.model.request; + +import lombok.Data; + +@Data +public class SettingRequestBean { + + private String name; + + private String value; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/ContentResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/ContentResponseBean.java new file mode 100644 index 00000000..6ee1367d --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/ContentResponseBean.java @@ -0,0 +1,17 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; + +import java.util.List; +import java.util.Map; + +@Data +public class ContentResponseBean { + + private String id; + private String name; + private String label; + private List settings; + private Map validators; + private Integer dbId; +} diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java index 63c8231c..b779b353 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormFieldResponseBean.java @@ -1,14 +1,20 @@ package net.gepafin.tendermanagement.model.response; import lombok.Data; -import net.gepafin.tendermanagement.model.BaseBean; + +import java.util.List; +import java.util.Map; @Data -public class FormFieldResponseBean extends BaseBean { +public class FormFieldResponseBean { + + private Long id; + + private String name; private String label; - private String definition; + private List settings; - private Boolean isActive; + private Map validators; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java index a14997bf..3c347901 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormResponseBean.java @@ -3,14 +3,18 @@ package net.gepafin.tendermanagement.model.response; import lombok.Data; import net.gepafin.tendermanagement.model.BaseBean; +import java.util.List; + @Data -public class FormResponseBean extends BaseBean { +public class FormResponseBean { + + private Long id; private String label; private Long callId; - private String content; + private List content; private Integer orderNo; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/SettingResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/SettingResponseBean.java new file mode 100644 index 00000000..dcddf149 --- /dev/null +++ b/src/main/java/net/gepafin/tendermanagement/model/response/SettingResponseBean.java @@ -0,0 +1,11 @@ +package net.gepafin.tendermanagement.model.response; + +import lombok.Data; + +@Data +public class SettingResponseBean { + + private String name; + + private String value; +} diff --git a/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java b/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java index ddbeeb27..94c67190 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/FormFieldService.java @@ -5,6 +5,8 @@ import net.gepafin.tendermanagement.entities.FormFieldEntity; import net.gepafin.tendermanagement.model.request.FormFieldRequest; import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; +import java.util.List; + public interface FormFieldService { public FormFieldResponseBean createFormField(HttpServletRequest request, FormFieldRequest formFieldRequest); @@ -17,4 +19,6 @@ public interface FormFieldService { public FormFieldEntity getFormFieldEntityById(Long id); + public List getAllFormField(HttpServletRequest request); + } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java index ae231ea4..07b7bdcc 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/FormFieldServiceImpl.java @@ -9,6 +9,8 @@ import net.gepafin.tendermanagement.service.FormFieldService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class FormFieldServiceImpl implements FormFieldService { @@ -40,4 +42,9 @@ public class FormFieldServiceImpl implements FormFieldService { public FormFieldEntity getFormFieldEntityById(Long id) { return formFieldDao.getFormFieldEntity(id); } + + @Override + public List getAllFormField(HttpServletRequest request) { + return formFieldDao.getAllFormField(); + } } diff --git a/src/main/java/net/gepafin/tendermanagement/util/Utils.java b/src/main/java/net/gepafin/tendermanagement/util/Utils.java index d0cba04c..c1819495 100644 --- a/src/main/java/net/gepafin/tendermanagement/util/Utils.java +++ b/src/main/java/net/gepafin/tendermanagement/util/Utils.java @@ -1,19 +1,25 @@ package net.gepafin.tendermanagement.util; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.json.JsonReadFeature; +import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import io.micrometer.common.util.StringUtils; +import org.apache.commons.collections4.MapUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.nio.charset.StandardCharsets; import java.util.Base64; import java.util.List; +import java.util.Map; import java.util.function.Consumer; import java.util.function.Supplier; import java.util.stream.Collectors; + public class Utils { public static final Logger log = LoggerFactory.getLogger(Utils.class); @@ -82,5 +88,46 @@ public class Utils { setter.accept(newValue); } } + public static String convertListToJsonString(List list) { + try { + return mapper.writeValueAsString(list); + } catch (JsonProcessingException e) { + e.printStackTrace(); + // Handle exception or throw a custom exception + return null; + } + } + public static List convertJsonStringToList(String jsonString, Class clazz) { + try { + return mapper.readValue(jsonString, new TypeReference>() {}); + } catch (Exception e) { + e.printStackTrace(); + // Handle the exception appropriately (e.g., throw a custom exception) + return null; + } + } + public static String convertMapIntoJsonString(Map map) { + try { + ObjectMapper mapper = new ObjectMapper(); + if (MapUtils.isNotEmpty(map)) { + return mapper.writeValueAsString(map); + } + } catch (JsonProcessingException e) { + log.error(e.getMessage()); + } + return null; + } + public static Map convertIntoJson(String jsonString) { + if (jsonString != null && !jsonString.isEmpty()) { + try { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(JsonReadFeature.ALLOW_UNESCAPED_CONTROL_CHARS.mappedFeature(), true); + return mapper.readValue(jsonString, Map.class); + } catch (Exception e) { + log.error(e.getMessage()); + } + } + return null; + } } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java index cc76814e..341b3fed 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormFieldApi.java @@ -15,6 +15,8 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.List; + public interface FormFieldApi { @Operation(summary = "Api to create form field", @@ -75,4 +77,18 @@ public interface FormFieldApi { @DeleteMapping(value = "/{formFieldId}") ResponseEntity> deleteForm(HttpServletRequest request, @Parameter(description = "The form field ID", required = true) @PathVariable("formFieldId") Long formFieldId); + + @Operation(summary = "Api to get all form field", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @GetMapping(value = "", + produces = { "application/json" }) + ResponseEntity>> getAllFormField(HttpServletRequest request); + } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java index 9445ec14..e491d498 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormFieldApiController.java @@ -15,6 +15,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController @RequestMapping("${openapi.gepafin.base-path:/v1/formField}") public class FormFieldApiController implements FormFieldApi { @@ -49,4 +51,11 @@ public class FormFieldApiController implements FormFieldApi { return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_DELETED_SUCCESSFULLY))); } + + @Override + public ResponseEntity>> getAllFormField(HttpServletRequest request) { + List formFieldResponseBeans=formFieldService.getAllFormField(request); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(formFieldResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY))); + } } diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index 5ff6deb7..2198fabe 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -395,7 +395,7 @@ - + @@ -438,14 +438,17 @@ + + + - + - - + + From 18c40eaf03f7dff206b858242f321555dfd00112 Mon Sep 17 00:00:00 2001 From: rajesh Date: Fri, 30 Aug 2024 18:41:40 +0530 Subject: [PATCH 3/3] Updated response of form template --- .../gepafin/tendermanagement/dao/FormDao.java | 5 +- .../tendermanagement/dao/FormFieldDao.java | 3 + .../tendermanagement/dao/FormTemplateDao.java | 25 +++- .../model/request/FormTemplateRequest.java | 4 +- .../response/FormTemplateResponseBean.java | 10 +- .../service/FormTemplateService.java | 4 + .../service/impl/FormTemplateServiceImpl.java | 8 ++ .../web/rest/api/FormTemplateApi.java | 16 +++ .../api/impl/FormTemplateApiController.java | 9 ++ .../db/changelog/db.changelog-1.0.0.xml | 10 +- .../inserted_form_field_data_30_08_2024.sql | 128 ++++++++++++++++++ src/main/resources/message_en.properties | 2 +- src/main/resources/message_it.properties | 2 +- 13 files changed, 213 insertions(+), 13 deletions(-) create mode 100644 src/main/resources/db/dump/inserted_form_field_data_30_08_2024.sql diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java index 60aba2ea..4b9ada4f 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormDao.java @@ -11,6 +11,7 @@ import net.gepafin.tendermanagement.model.response.FormResponseBean; import net.gepafin.tendermanagement.repositories.FormRepository; import net.gepafin.tendermanagement.service.CallService; import net.gepafin.tendermanagement.service.FormService; +import net.gepafin.tendermanagement.util.DateTimeUtil; import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException; @@ -18,6 +19,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -63,7 +65,7 @@ public class FormDao { return convertFormEntityToFormResponseBean(formEntity); } public void validateForm(FormRequest formRequest){ - if(formRequest.getContent()==null || formRequest.getLabel()==null || (formRequest.getOrderNo() == null || formRequest.getOrderNo() <= 0)){ + if(formRequest.getContent()==null || formRequest.getLabel()==null ){ throw new CustomValidationException(Status.VALIDATION_ERROR, Translator.toLocale(GepafinConstant.REQUIRED_PARAMETER_NOT_FOUND_FOR_FORM)); } } @@ -74,6 +76,7 @@ public class FormDao { if(formRequest.getOrderNo()!=null && formRequest.getOrderNo() > 0) { Utils.setIfUpdated(formEntity::getOrderNo, formEntity::setOrderNo, formRequest.getOrderNo()); } + formEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); formEntity=saveFormEntity(formEntity); return convertFormEntityToFormResponseBean(formEntity); } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java index 6f0149b0..c69e777d 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormFieldDao.java @@ -9,6 +9,7 @@ import net.gepafin.tendermanagement.model.response.FormFieldResponseBean; import net.gepafin.tendermanagement.model.response.SettingResponseBean; import net.gepafin.tendermanagement.repositories.FormFieldRepository; import net.gepafin.tendermanagement.service.FormFieldService; +import net.gepafin.tendermanagement.util.DateTimeUtil; 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 +17,7 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.time.LocalDateTime; import java.util.List; import java.util.stream.Collectors; @@ -70,6 +72,7 @@ public class FormFieldDao { Utils.setIfUpdated(formFieldEntity::getLabel,formFieldEntity::setLabel,formFieldRequest.getLabel()); Utils.setIfUpdated(formFieldEntity::getSettings,formFieldEntity::setSettings,setSettingRequestBean(formFieldRequest.getSettings())); Utils.setIfUpdated(formFieldEntity::getValidators,formFieldEntity::setValidators,Utils.convertMapIntoJsonString(formFieldRequest.getValidators())); + formFieldEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); formFieldEntity=saveFormFieldEntity(formFieldEntity); return convertFormFieldEntityToFormFieldResponseBean(formFieldEntity); } diff --git a/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java b/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java index b383a623..e9bb787c 100644 --- a/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java +++ b/src/main/java/net/gepafin/tendermanagement/dao/FormTemplateDao.java @@ -3,10 +3,13 @@ package net.gepafin.tendermanagement.dao; import net.gepafin.tendermanagement.config.Translator; import net.gepafin.tendermanagement.constants.GepafinConstant; import net.gepafin.tendermanagement.entities.FormTemplateEntity; +import net.gepafin.tendermanagement.model.request.ContentRequestBean; import net.gepafin.tendermanagement.model.request.FormTemplateRequest; +import net.gepafin.tendermanagement.model.response.ContentResponseBean; import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; import net.gepafin.tendermanagement.repositories.FormTemplateRepository; import net.gepafin.tendermanagement.service.FormTemplateService; +import net.gepafin.tendermanagement.util.DateTimeUtil; import net.gepafin.tendermanagement.util.Utils; import net.gepafin.tendermanagement.web.rest.api.errors.CustomValidationException; import net.gepafin.tendermanagement.web.rest.api.errors.ResourceNotFoundException; @@ -14,6 +17,10 @@ import net.gepafin.tendermanagement.web.rest.api.errors.Status; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; +import java.time.LocalDateTime; +import java.util.List; +import java.util.stream.Collectors; + @Component public class FormTemplateDao { @@ -26,7 +33,7 @@ public class FormTemplateDao { public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){ FormTemplateEntity formTemplateEntity=new FormTemplateEntity(); - formTemplateEntity.setContent(formTemplateRequest.getContent()); + formTemplateEntity.setContent(setContentResponseBean(formTemplateRequest.getContent())); formTemplateEntity.setLabel(formTemplateRequest.getLabel()); formTemplateEntity=saveFormTemplateEntity(formTemplateEntity); return formTemplateEntity; @@ -38,10 +45,8 @@ public class FormTemplateDao { public FormTemplateResponseBean convertFormTemplateEntityToFormTemplateResponseBean(FormTemplateEntity formTemplateEntity){ FormTemplateResponseBean formTemplateResponseBean=new FormTemplateResponseBean(); formTemplateResponseBean.setId(formTemplateEntity.getId()); - formTemplateResponseBean.setContent(formTemplateEntity.getContent()); + formTemplateResponseBean.setContent(Utils.convertJsonStringToList(formTemplateEntity.getContent(), ContentResponseBean.class)); formTemplateResponseBean.setLabel(formTemplateEntity.getLabel()); - formTemplateResponseBean.setCreatedDate(formTemplateEntity.getCreatedDate()); - formTemplateResponseBean.setUpdatedDate(formTemplateEntity.getUpdatedDate()); return formTemplateResponseBean; } @@ -58,7 +63,8 @@ public class FormTemplateDao { public FormTemplateResponseBean updateFormTemplate(Long formTemplateId,FormTemplateRequest formTemplateRequest){ FormTemplateEntity formTemplateEntity = formTemplateService.getFormEntityById(formTemplateId); Utils.setIfUpdated(formTemplateEntity::getLabel,formTemplateEntity::setLabel,formTemplateRequest.getLabel()); - Utils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,formTemplateRequest.getContent()); + Utils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,setContentResponseBean(formTemplateRequest.getContent())); + formTemplateEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now())); formTemplateEntity=saveFormTemplateEntity(formTemplateEntity); return convertFormTemplateEntityToFormTemplateResponseBean(formTemplateEntity); } @@ -77,4 +83,13 @@ public class FormTemplateDao { FormTemplateEntity formTemplateEntity=formTemplateService.getFormEntityById(formTemplateId); formTemplateRepository.delete(formTemplateEntity); } + public String setContentResponseBean(List contentRequestBeans){ + return Utils.convertListToJsonString(contentRequestBeans); + } + public List getAllFormTemplate(){ + List formTemplateEntities=formTemplateRepository.findAll(); + List formTemplateResponseBeans=formTemplateEntities.stream() + .map(req -> convertFormTemplateEntityToFormTemplateResponseBean(req)).collect(Collectors.toList()); + return formTemplateResponseBeans; + } } diff --git a/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java b/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java index e229cb3e..7e587852 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java +++ b/src/main/java/net/gepafin/tendermanagement/model/request/FormTemplateRequest.java @@ -2,10 +2,12 @@ package net.gepafin.tendermanagement.model.request; import lombok.Data; +import java.util.List; + @Data public class FormTemplateRequest { private String label; - private String content; + private List content; } diff --git a/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java b/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java index ab85bf08..9e9503d5 100644 --- a/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java +++ b/src/main/java/net/gepafin/tendermanagement/model/response/FormTemplateResponseBean.java @@ -1,12 +1,16 @@ package net.gepafin.tendermanagement.model.response; import lombok.Data; -import net.gepafin.tendermanagement.model.BaseBean; + +import java.util.List; @Data -public class FormTemplateResponseBean extends BaseBean { +public class FormTemplateResponseBean { + + private Long id; private String label; - private String content; + private List content; + } diff --git a/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java b/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java index 4ab4bca7..7f69ae2e 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java +++ b/src/main/java/net/gepafin/tendermanagement/service/FormTemplateService.java @@ -5,6 +5,8 @@ import net.gepafin.tendermanagement.entities.FormTemplateEntity; import net.gepafin.tendermanagement.model.request.FormTemplateRequest; import net.gepafin.tendermanagement.model.response.FormTemplateResponseBean; +import java.util.List; + public interface FormTemplateService { public FormTemplateResponseBean createTemplateForm(HttpServletRequest request, FormTemplateRequest formTemplateRequest); @@ -17,4 +19,6 @@ public interface FormTemplateService { public FormTemplateEntity getFormEntityById(Long id); + public List getAllFormTemplate(HttpServletRequest request); + } diff --git a/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java b/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java index 25ea75fb..a4bf1cdf 100644 --- a/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java +++ b/src/main/java/net/gepafin/tendermanagement/service/impl/FormTemplateServiceImpl.java @@ -9,6 +9,8 @@ import net.gepafin.tendermanagement.service.FormTemplateService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.util.List; + @Service public class FormTemplateServiceImpl implements FormTemplateService { @@ -39,4 +41,10 @@ public class FormTemplateServiceImpl implements FormTemplateService { public FormTemplateEntity getFormEntityById(Long id) { return formTemplateDao.getFormTemplateEntity(id); } + + @Override + public List getAllFormTemplate(HttpServletRequest request) { + List formTemplateResponseBeans=formTemplateDao.getAllFormTemplate(); + return formTemplateResponseBeans; + } } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java index add01265..7b3db788 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/FormTemplateApi.java @@ -15,6 +15,8 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import java.util.List; + public interface FormTemplateApi { @Operation(summary = "Api to create form template", @@ -75,4 +77,18 @@ public interface FormTemplateApi { @DeleteMapping(value = "/{formTemplateId}") ResponseEntity> deleteFormTemplate(HttpServletRequest request, @Parameter(description = "The form template ID", required = true) @PathVariable("formTemplateId") Long formTemplateId); + + @Operation(summary = "Api to get all form template", + responses = { + @ApiResponse(responseCode = "200", description = "OK"), + @ApiResponse(responseCode = "404", description = "Not Found", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.NOTFOUND_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "401", description = "Unauthorized", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.UNAUTHORIZED_ERROR_EXAMPLE) })), + @ApiResponse(responseCode = "400", description = "Bad Request", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, examples = { + @ExampleObject(value = ErrorConstants.BADREQUEST_ERROR_EXAMPLE) })) }) + @GetMapping(value = "", + produces = { "application/json" }) + ResponseEntity>> getAllFormTemplate(HttpServletRequest request); + } diff --git a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java index 52a56f5e..058e1655 100644 --- a/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java +++ b/src/main/java/net/gepafin/tendermanagement/web/rest/api/impl/FormTemplateApiController.java @@ -15,6 +15,8 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.util.List; + @RestController @RequestMapping("${openapi.gepafin.base-path:/v1/formTemplate}") public class FormTemplateApiController implements FormTemplateApi { @@ -49,4 +51,11 @@ public class FormTemplateApiController implements FormTemplateApi { return ResponseEntity.status(HttpStatus.OK) .body(new Response<>(null, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_TEMPLATE_DELETED_SUCCESSFULLY))); } + + @Override + public ResponseEntity>> getAllFormTemplate(HttpServletRequest request) { + List formTemplateResponseBeans=formTemplateService.getAllFormTemplate(request); + return ResponseEntity.status(HttpStatus.OK) + .body(new Response<>(formTemplateResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY))); + } } diff --git a/src/main/resources/db/changelog/db.changelog-1.0.0.xml b/src/main/resources/db/changelog/db.changelog-1.0.0.xml index 2198fabe..891b525b 100644 --- a/src/main/resources/db/changelog/db.changelog-1.0.0.xml +++ b/src/main/resources/db/changelog/db.changelog-1.0.0.xml @@ -505,5 +505,13 @@ - + + + select + setval('gepafin_schema.form_field_id_seq', (select + max(id)+1 + from gepafin_schema.form_field), false) + + diff --git a/src/main/resources/db/dump/inserted_form_field_data_30_08_2024.sql b/src/main/resources/db/dump/inserted_form_field_data_30_08_2024.sql new file mode 100644 index 00000000..06e02a9f --- /dev/null +++ b/src/main/resources/db/dump/inserted_form_field_data_30_08_2024.sql @@ -0,0 +1,128 @@ +INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE) +VALUES ( + 'textinput', + 'Text Input', + '[ + { + "name": "label", + "value": "Text input" + }, + { + "name": "placeholder", + "value": "Placeholder text" + } + ]', + '{ + "isRequired": false, + "minLength": null, + "maxLength": null, + "pattern": null, + "custom": null + }', + '2024-08-30T09:50:31.926Z', + '2024-08-30T09:50:31.926Z' +); +INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE) +VALUES +( 'textarea', + 'Text Area', + '[ + { + "name": "label", + "value": "Text area" + }, + { + "name": "placeholder", + "value": "Placeholder text" + } + ]', + '{ + "isRequired": false, + "minLength": null, + "maxLength": null, + "pattern": null, + "custom": null + }', + '2024-08-30T09:50:31.926Z', + '2024-08-30T09:50:31.926Z' +); + +INSERT INTO FORM_FIELD ( NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE) +VALUES +( 'textinput', + 'Number Input', + '[ + { + "name": "label", + "value": "Number" + }, + { + "name": "placeholder", + "value": "" + } + ]', + '{ + "isRequired": false, + "min": null, + "max": null, + "pattern": null, + "custom": null + }', + '2024-08-30T09:50:31.926Z', + '2024-08-30T09:50:31.926Z' +); + +INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE) +VALUES +( 'textinput', + 'P.IVA', + '[ + { + "name": "label", + "value": "P.IVA" + }, + { + "name": "placeholder", + "value": "Insert p.iva number" + } + ]', + '{ + "isRequired": true, + "minLength": null, + "maxLength": null, + "pattern": null, + "custom": "isValidVAT" + }', + '2024-08-30T09:50:31.926Z', + '2024-08-30T09:50:31.926Z' +); + +INSERT INTO FORM_FIELD (NAME, LABEL, SETTINGS, VALIDATORS, CREATED_DATE, UPDATED_DATE) +VALUES +( 'radio', + 'Radio Input', + '[ + { + "name": "label", + "value": "Radio input" + }, + { + "name": "options", + "value": [ + { + "name": "opt1", + "label": "Opt1" + } + ] + } + ]', + '{ + "isRequired": false, + "min": null, + "max": null, + "custom": null + }', + '2024-08-30T09:50:31.926Z', + '2024-08-30T09:50:31.926Z' +); + diff --git a/src/main/resources/message_en.properties b/src/main/resources/message_en.properties index 6675d2d1..ff1311e4 100644 --- a/src/main/resources/message_en.properties +++ b/src/main/resources/message_en.properties @@ -74,7 +74,7 @@ form.created.successfully=Form created successfully. form.updated.suucessfully=Form updated successfully. form.deleted.successfully=Form deleted successfully. form.fetched.successfully=Form fetched successfully. -required.parameter.not.found.for.form=Label, content, or orderNo cannot be null. +required.parameter.not.found.for.form=Label or content cannot be null. form.not.found.for.call.id=Form not found for corresponding call. #EvaluationCriteria-related messages evaluation.criteria.not.found=EvaluationCriteria not found. diff --git a/src/main/resources/message_it.properties b/src/main/resources/message_it.properties index 9670e87b..2485a61c 100644 --- a/src/main/resources/message_it.properties +++ b/src/main/resources/message_it.properties @@ -74,7 +74,7 @@ form.created.successfully=Modulo creato correttamente. form.updated.suucessfully=Modulo aggiornato correttamente. form.deleted.successfully=Modulo eliminato correttamente. form.fetched.successfully=Modulo recuperato correttamente. -required.parameter.not.found.for.form=Etichetta, contenuto o orderNo non possono essere nulli. +required.parameter.not.found.for.form=L'etichetta o il contenuto non possono essere nulli. form.not.found.for.call.id=Modulo non trovato per la chiamata corrispondente. #Form-field-related messages