Merge pull request #11 from Kitzanos/crud-operations-form

GEPAFINBE-16 (Implemented CRUD operations for several entities)
This commit is contained in:
bagoraharish92
2024-08-30 19:00:51 +05:30
committed by GitHub
42 changed files with 1629 additions and 9 deletions

View File

@@ -43,6 +43,25 @@ 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 FORM_NOT_FOUND_FOR_CALL_ID="form.not.found.for.call.id";
public static final String STEP_1 = "STEP_1";
public static final String STEP_2 = "STEP_2";
public static final String VALIDATE_REQUEST = "VALIDATE_REQUEST";

View File

@@ -690,6 +690,13 @@ public class CallDao {
callResponseBean.setStatus(CallStatusEnum.READY_TO_PUBLISH);
return callResponseBean;
}
public CallEntity getCallEntityById(Long id){
CallEntity callEntity=callRepository.findByIdAndStatusNotIn(id,List.of(CallStatusEnum.PUBLISH.getValue()));
if(callEntity==null){
throw new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.CALL_NOT_FOUND));
}
return callEntity;
}
public CallResponse updateCallStatus(Long callId, CallStatusEnum statusReq) {
CallEntity callEntity = callRepository.findById(callId)

View File

@@ -0,0 +1,111 @@
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.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;
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;
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 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(setContentResponseBean(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(Utils.convertJsonStringToList(formEntity.getContent(), ContentResponseBean.class));
formResponseBean.setLabel(formEntity.getLabel());
formResponseBean.setCallId(formEntity.getCall().getId());
formResponseBean.setOrderNo(formEntity.getOrderNo());
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 ){
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);
Utils.setIfUpdated(formEntity::getLabel,formEntity::setLabel,formRequest.getLabel());
Utils.setIfUpdated(formEntity::getContent,formEntity::setContent,setContentResponseBean(formRequest.getContent()));
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);
}
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<FormResponseBean> getFormsByCallId(Long callId){
List<FormEntity> formEntities=formRepository.findByCallId(callId);
if(formEntities.isEmpty()){
throw new ResourceNotFoundException(Status.NOT_FOUND, Translator.toLocale(GepafinConstant.FORM_NOT_FOUND_FOR_CALL_ID));
}
List<FormResponseBean> formResponseBeanList = formEntities.stream()
.map(req -> convertFormEntityToFormResponseBean(req))
.collect(Collectors.toList());
return formResponseBeanList;
}
public String setContentResponseBean(List<ContentRequestBean> contentRequestBeans){
return Utils.convertListToJsonString(contentRequestBeans);
}
}

View File

@@ -0,0 +1,102 @@
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.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.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;
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 FormFieldDao {
@Autowired
private FormFieldRepository formFieldRepository;
@Autowired
private FormFieldService formFieldService;
public FormFieldEntity convertFormFieldRequestToFormFieldEntity(FormFieldRequest formFieldRequest) {
FormFieldEntity formFieldEntity = new FormFieldEntity();
formFieldEntity.setLabel(formFieldRequest.getLabel());
formFieldEntity.setName(formFieldRequest.getName());
formFieldEntity.setValidators(Utils.convertMapIntoJsonString(formFieldRequest.getValidators()));
formFieldEntity.setSettings(setSettingRequestBean(formFieldRequest.getSettings()));
formFieldEntity = saveFormFieldEntity(formFieldEntity);
return formFieldEntity;
}
public FormFieldResponseBean convertFormFieldEntityToFormFieldResponseBean(FormFieldEntity formFieldEntity) {
FormFieldResponseBean formFieldResponseBean = new FormFieldResponseBean();
formFieldResponseBean.setId(formFieldEntity.getId());
formFieldResponseBean.setName(formFieldEntity.getName());
formFieldResponseBean.setSettings(Utils.convertJsonStringToList(formFieldEntity.getSettings(), SettingResponseBean.class));
formFieldResponseBean.setLabel(formFieldEntity.getLabel());
formFieldResponseBean.setValidators(Utils.convertIntoJson(formFieldEntity.getValidators()));
return formFieldResponseBean;
}
public FormFieldEntity saveFormFieldEntity(FormFieldEntity formFieldEntity) {
formFieldEntity = formFieldRepository.save(formFieldEntity);
return formFieldEntity;
}
public void validateFormField(FormFieldRequest formFieldRequest) {
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=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::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);
}
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);
}
public String setSettingRequestBean(List<SettingRequestBean> settingRequestBeans){
return Utils.convertListToJsonString(settingRequestBeans);
}
public List<FormFieldResponseBean> getAllFormField(){
List<FormFieldEntity> formFieldEntities=formFieldRepository.findAll();
List<FormFieldResponseBean> formFieldResponseBeans = formFieldEntities.stream()
.map(req -> convertFormFieldEntityToFormFieldResponseBean(req)).collect(Collectors.toList());
return formFieldResponseBeans;
}
}

View File

@@ -0,0 +1,95 @@
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;
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 {
@Autowired
private FormTemplateRepository formTemplateRepository;
@Autowired
private FormTemplateService formTemplateService;
public FormTemplateEntity convertFormTemplateRequestToFormTemplateRequest(FormTemplateRequest formTemplateRequest){
FormTemplateEntity formTemplateEntity=new FormTemplateEntity();
formTemplateEntity.setContent(setContentResponseBean(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(Utils.convertJsonStringToList(formTemplateEntity.getContent(), ContentResponseBean.class));
formTemplateResponseBean.setLabel(formTemplateEntity.getLabel());
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);
Utils.setIfUpdated(formTemplateEntity::getLabel,formTemplateEntity::setLabel,formTemplateRequest.getLabel());
Utils.setIfUpdated(formTemplateEntity::getContent,formTemplateEntity::setContent,setContentResponseBean(formTemplateRequest.getContent()));
formTemplateEntity.setUpdatedDate(DateTimeUtil.DateServerToUTC(LocalDateTime.now()));
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);
}
public String setContentResponseBean(List<ContentRequestBean> contentRequestBeans){
return Utils.convertListToJsonString(contentRequestBeans);
}
public List<FormTemplateResponseBean> getAllFormTemplate(){
List<FormTemplateEntity> formTemplateEntities=formTemplateRepository.findAll();
List<FormTemplateResponseBean> formTemplateResponseBeans=formTemplateEntities.stream()
.map(req -> convertFormTemplateEntityToFormTemplateResponseBean(req)).collect(Collectors.toList());
return formTemplateResponseBeans;
}
}

View File

@@ -0,0 +1,29 @@
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{
@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;
}

View File

@@ -0,0 +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 = "SETTINGS")
private String settings;
@Column(name = "VALIDATORS")
private String validators;
}

View File

@@ -0,0 +1,22 @@
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{
@Column(name = "LABEL", length = 255)
private String label;
@Column(name = "CONTENT", length = 255)
private String content;
}

View File

@@ -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<SettingRequestBean> settings;
private Map<String,Object> validators;
private Integer dbId;
}

View File

@@ -0,0 +1,18 @@
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 List<SettingRequestBean> settings;
private Map<String,Object> validators;
}

View File

@@ -0,0 +1,16 @@
package net.gepafin.tendermanagement.model.request;
import lombok.Data;
import java.util.List;
@Data
public class FormRequest {
private String label;
private List<ContentRequestBean> content;
private Integer orderNo;
}

View File

@@ -0,0 +1,13 @@
package net.gepafin.tendermanagement.model.request;
import lombok.Data;
import java.util.List;
@Data
public class FormTemplateRequest {
private String label;
private List<ContentRequestBean> content;
}

View File

@@ -0,0 +1,11 @@
package net.gepafin.tendermanagement.model.request;
import lombok.Data;
@Data
public class SettingRequestBean {
private String name;
private String value;
}

View File

@@ -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<SettingResponseBean> settings;
private Map<String,Object> validators;
private Integer dbId;
}

View File

@@ -0,0 +1,20 @@
package net.gepafin.tendermanagement.model.response;
import lombok.Data;
import java.util.List;
import java.util.Map;
@Data
public class FormFieldResponseBean {
private Long id;
private String name;
private String label;
private List<SettingResponseBean> settings;
private Map<String,Object> validators;
}

View File

@@ -0,0 +1,20 @@
package net.gepafin.tendermanagement.model.response;
import lombok.Data;
import net.gepafin.tendermanagement.model.BaseBean;
import java.util.List;
@Data
public class FormResponseBean {
private Long id;
private String label;
private Long callId;
private List<ContentResponseBean> content;
private Integer orderNo;
}

View File

@@ -0,0 +1,16 @@
package net.gepafin.tendermanagement.model.response;
import lombok.Data;
import java.util.List;
@Data
public class FormTemplateResponseBean {
private Long id;
private String label;
private List<ContentResponseBean> content;
}

View File

@@ -0,0 +1,11 @@
package net.gepafin.tendermanagement.model.response;
import lombok.Data;
@Data
public class SettingResponseBean {
private String name;
private String value;
}

View File

@@ -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<CallEntity, Long> {
public CallEntity findByIdAndStatusNotIn(Long id, List<String> status);
}

View File

@@ -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<FormFieldEntity, Long> {
}

View File

@@ -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<FormEntity,Long> {
List<FormEntity> findByCallId(Long callId);
}

View File

@@ -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<FormTemplateEntity,Long> {
}

View File

@@ -3,6 +3,7 @@ package net.gepafin.tendermanagement.service;
import java.util.List;
import jakarta.servlet.http.HttpServletRequest;
import net.gepafin.tendermanagement.entities.CallEntity;
import net.gepafin.tendermanagement.enums.CallStatusEnum;
import net.gepafin.tendermanagement.enums.UserStatusEnum;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
@@ -26,6 +27,8 @@ public interface CallService {
CallResponse validateCall(Long callId);
public CallEntity getCallEntityById(Long id);
CallResponse updateCallStatus(Long callId, CallStatusEnum statusReq);
}

View File

@@ -0,0 +1,24 @@
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;
import java.util.List;
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);
public List<FormFieldResponseBean> getAllFormField(HttpServletRequest request);
}

View File

@@ -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<FormResponseBean> getFormsByCallId(HttpServletRequest request,Long callId);
}

View File

@@ -0,0 +1,24 @@
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;
import java.util.List;
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);
public List<FormTemplateResponseBean> getAllFormTemplate(HttpServletRequest request);
}

View File

@@ -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.enums.CallStatusEnum;
import net.gepafin.tendermanagement.enums.UserStatusEnum;
import net.gepafin.tendermanagement.model.request.CreateCallRequestStep1;
@@ -68,6 +69,11 @@ public class CallServiceImpl implements CallService {
public CallResponse validateCall(Long callId) {
return callDao.validateCall(callDao.validateCall(callId));
}
@Override
public CallEntity getCallEntityById(Long id){
return callDao.getCallEntityById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public CallResponse updateCallStatus(Long callId, CallStatusEnum statusReq) {

View File

@@ -0,0 +1,50 @@
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;
import java.util.List;
@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);
}
@Override
public List<FormFieldResponseBean> getAllFormField(HttpServletRequest request) {
return formFieldDao.getAllFormField();
}
}

View File

@@ -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<FormResponseBean> getFormsByCallId(HttpServletRequest request, Long callId) {
return formDao.getFormsByCallId(callId);
}
}

View File

@@ -0,0 +1,50 @@
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;
import java.util.List;
@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);
}
@Override
public List<FormTemplateResponseBean> getAllFormTemplate(HttpServletRequest request) {
List<FormTemplateResponseBean> formTemplateResponseBeans=formTemplateDao.getAllFormTemplate();
return formTemplateResponseBeans;
}
}

View File

@@ -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 <T> String convertListToJsonString(List<T> list) {
try {
return mapper.writeValueAsString(list);
} catch (JsonProcessingException e) {
e.printStackTrace();
// Handle exception or throw a custom exception
return null;
}
}
public static <T> List<T> convertJsonStringToList(String jsonString, Class<T> clazz) {
try {
return mapper.readValue(jsonString, new TypeReference<List<T>>() {});
} catch (Exception e) {
e.printStackTrace();
// Handle the exception appropriately (e.g., throw a custom exception)
return null;
}
}
public static String convertMapIntoJsonString(Map<String, Object> 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<String, Object> 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;
}
}

View File

@@ -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<String, Object> getUserInfoFromToken(HttpServletRequest request) {
return tokenProvider.getUserInfoAndUserIdFromToken(request);
}
}

View File

@@ -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<Response<FormResponseBean>> 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<Response<FormResponseBean>> 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<Response<FormResponseBean>> 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<Response<Void>> 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<Response<List<FormResponseBean>>> getFormsByCallId(HttpServletRequest request,
@Parameter(description = "The call ID", required = true) @PathVariable("callId") Long callId);
}

View File

@@ -0,0 +1,94 @@
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.*;
import java.util.List;
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<Response<FormFieldResponseBean>> 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<Response<FormFieldResponseBean>> 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<Response<FormFieldResponseBean>> 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<Response<Void>> 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<Response<List<FormFieldResponseBean>>> getAllFormField(HttpServletRequest request);
}

View File

@@ -0,0 +1,94 @@
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.*;
import java.util.List;
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<Response<FormTemplateResponseBean>> 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<Response<FormTemplateResponseBean>> 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<Response<FormTemplateResponseBean>> 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<Response<Void>> 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<Response<List<FormTemplateResponseBean>>> getAllFormTemplate(HttpServletRequest request);
}

View File

@@ -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<Response<FormResponseBean>> 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<Response<FormResponseBean>> 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<Response<FormResponseBean>> 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<Response<Void>> 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<Response<List<FormResponseBean>>> getFormsByCallId(HttpServletRequest request, Long callId) {
List<FormResponseBean> formResponseBean=formService.getFormsByCallId(request,callId);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(formResponseBean, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FETCHED_SUCCESSFULLY)));
}
}

View File

@@ -0,0 +1,61 @@
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;
import java.util.List;
@RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/formField}")
public class FormFieldApiController implements FormFieldApi {
@Autowired
private FormFieldService formFieldService;
@Override
public ResponseEntity<Response<FormFieldResponseBean>> 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<Response<FormFieldResponseBean>> 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<Response<FormFieldResponseBean>> 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<Response<Void>> 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)));
}
@Override
public ResponseEntity<Response<List<FormFieldResponseBean>>> getAllFormField(HttpServletRequest request) {
List<FormFieldResponseBean> formFieldResponseBeans=formFieldService.getAllFormField(request);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(formFieldResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
}
}

View File

@@ -0,0 +1,61 @@
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;
import java.util.List;
@RestController
@RequestMapping("${openapi.gepafin.base-path:/v1/formTemplate}")
public class FormTemplateApiController implements FormTemplateApi {
@Autowired
private FormTemplateService formTemplateService;
@Override
public ResponseEntity<Response<FormTemplateResponseBean>> 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<Response<FormTemplateResponseBean>> 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<Response<FormTemplateResponseBean>> 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<Response<Void>> 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)));
}
@Override
public ResponseEntity<Response<List<FormTemplateResponseBean>>> getAllFormTemplate(HttpServletRequest request) {
List<FormTemplateResponseBean> formTemplateResponseBeans=formTemplateService.getAllFormTemplate(request);
return ResponseEntity.status(HttpStatus.OK)
.body(new Response<>(formTemplateResponseBeans, Status.SUCCESS, Translator.toLocale(GepafinConstant.FORM_FIELD_FETCHED_SUCCESSFULLY)));
}
}

View File

@@ -395,6 +395,70 @@
<column name="country" value="Italy"/>
</insert>
</changeSet>
<changeSet id="29-08-2024_1" author="Rajesh Khore">
<createTable tableName="form">
<column name="id" type="INTEGER" autoIncrement="true">
<constraints nullable="false" primaryKey="true" primaryKeyName="form_pkey"/>
</column>
<column name="label" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="call_id" type="INTEGER">
<constraints nullable="false" foreignKeyName="fk_call_form" references="call(id)"/>
</column>
<column name="content" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="order_no" type="INTEGER">
<constraints nullable="false"/>
</column>
<column name="created_date" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="updated_date" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="true"/></column>
</createTable>
<createTable tableName="form_template">
<column name="id" type="INTEGER" autoIncrement="true">
<constraints nullable="false" primaryKey="true" primaryKeyName="form_template_pkey"/>
</column>
<column name="label" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="content" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="created_date" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="updated_date" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="true"/></column>
</createTable>
<createTable tableName="form_field">
<column name="id" type="INTEGER" autoIncrement="true">
<constraints nullable="false" primaryKey="true" primaryKeyName="form_field_pkey"/>
</column>
<column name="name" type="VARCHAR(255)">
<constraints nullable="true"/>
</column>
<column name="label" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="settings" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="validators" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="created_date" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="false"/>
</column>
<column name="updated_date" type="TIMESTAMP WITHOUT TIME ZONE">
<constraints nullable="true"/></column>
</createTable>
</changeSet>
<changeSet id="27-08-2024_1" author="Rajesh Khore">
<dropColumn tableName="EVALUATION_CRITERIA"
@@ -441,7 +505,15 @@
</column>
</addColumn>
</changeSet>
<changeSet id="30-08-2024_1" author="Rajesh Khore">
<sqlFile dbms="postgresql"
path="db/dump/inserted_form_field_data_30_08_2024.sql" />
<sql dbms="postgresql">select
setval('gepafin_schema.form_field_id_seq', (select
max(id)+1
from gepafin_schema.form_field), false)
</sql>
</changeSet>
<changeSet id="27-08-2024_3" author="Rajesh Khore">
<dropNotNullConstraint tableName="call" columnName="name"/>

View File

@@ -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'
);

View File

@@ -44,6 +44,7 @@ file.deleted.successfully=File deleted successfully.
document.not.found=Document not found.
document.id.not.found=Document ID not found.
call.invalid.date=Invalid start or end date.
call.id.not.null=Call id cannot be null.
call.update.successfully=Call updated successfully.
call.fetch.success=Call details fetched successfully.
call.not.found=Call not found.
@@ -69,6 +70,14 @@ 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 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.
evaluation.criteria.created.successfully=EvaluationCriteria created successfully.
@@ -88,8 +97,22 @@ logout.successful.msg=Logout successful. You have been logged out successfully.
update.user.status.success=User status has been successfully updated.
#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.
#Faq-related messages
faq.not.found=Faq not found.
faq.created.successfully=Faq created successfully.
@@ -106,4 +129,4 @@ lookupdata.deleted.successfully=LookUpData deleted successfully.
#Document-related message
document.updated.successfully=Document updated successfully.
document.fetched.successfully=Document fetched successfully.
document.fetched.successfully=Document fetched successfully.

View File

@@ -44,17 +44,18 @@ 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.id.not.null=L'ID della chiamata non pu<70> essere nullo.
call.update.successfully=Chiamata aggiornata con successo.
call.fetch.success=Dettagli della chiamata recuperati con successo.
call.not.found=Chiamata non trovata.
score.not.null=Il punteggio non pu<70> essere nullo o zero.
field.not.null={0} non può essere nullo.
field.not.empty=la {0} non può essere vuota.
update_call_status_success_msg=Lo stato della chiamata è stato aggiornato con successo.
status.same.error=Lo stato è già impostato.
invalid.status.change.from.draft=Lo stato non può essere cambiato in READY_TO_PUBLISH o PUBLISH da DRAFT.
status.cannot.be.changed=Lo stato non può essere cambiato.
published.call.not.update=Il bando pubblicato non può essere aggiornato.
field.not.null={0} non pu<EFBFBD> essere nullo.
field.not.empty=la {0} non pu<EFBFBD> essere vuota.
update_call_status_success_msg=Lo stato della chiamata <EFBFBD> stato aggiornato con successo.
status.same.error=Lo stato <EFBFBD> gi<EFBFBD> impostato.
invalid.status.change.from.draft=Lo stato non pu<EFBFBD> essere cambiato in READY_TO_PUBLISH o PUBLISH da DRAFT.
status.cannot.be.changed=Lo stato non pu<EFBFBD> essere cambiato.
published.call.not.update=Il bando pubblicato non pu<EFBFBD> essere aggiornato.
# Login-related messages
@@ -68,6 +69,30 @@ 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=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
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.
#EvaluationCriteria-related messages
evaluation.criteria.not.found=EvaluationCriteria non trovato.
evaluation.criteria.created.successfully=EvaluationCriteria creato con successo.