Implemented crud operation for form,form-field and form-template

This commit is contained in:
rajesh
2024-08-28 15:21:54 +05:30
parent 049b53ac46
commit d1bcc36c41
36 changed files with 1235 additions and 1 deletions

View File

@@ -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";
}

View File

@@ -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;
}
}

View File

@@ -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<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;
}
}

View File

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

View File

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

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

View File

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

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -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;
}

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

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

View File

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

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,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);
}

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.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<String, Object> userInfo= tokenProvider.getUserInfoAndUserIdFromToken(request);
return callDao.createCallStep2(createCallRequest, Long.parseLong(userInfo.get("userId").toString()));
}
@Override
public CallEntity getCallEntityById(Long id){
return callDao.getCallEntityById(id);
}
}

View File

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

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,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);
}
}

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,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<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);
}

View File

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

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,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<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)));
}
}

View File

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

View File

@@ -395,4 +395,65 @@
<column name="country" value="Italy"/>
</insert>
</changeSet>
<changeSet id="28-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="label" type="VARCHAR(255)">
<constraints nullable="false"/>
</column>
<column name="definition" type="TEXT">
<constraints nullable="false"/>
</column>
<column name="is_active" type="BOOLEAN">
<constraints nullable="true"/>
</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>
</databaseChangeLog>

View File

@@ -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.

View File

@@ -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.