Advanced search
This commit is contained in:
+45
-21
@@ -15,27 +15,47 @@ type UpdateTenderRequest struct {
|
||||
|
||||
// SearchForm represents a request to list tenders with pagination and filtering
|
||||
type SearchForm struct {
|
||||
Search *string `query:"q" valid:"optional"`
|
||||
NoticeType *string `query:"notice_type" valid:"optional"`
|
||||
ProcurementType *string `query:"procurement_type" valid:"optional"`
|
||||
CountryCodes []string `query:"country_codes" valid:"optional"`
|
||||
RegionCodes []string `query:"region_codes" valid:"optional"`
|
||||
CompanyID *string `query:"company_id" valid:"optional"`
|
||||
CustomerID *string `query:"customer_id" valid:"optional"`
|
||||
Status []string `query:"status" valid:"optional"`
|
||||
Classifications []string `query:"classifications" valid:"optional"`
|
||||
MinEstimatedValue *float64 `query:"min_estimated_value" valid:"optional"`
|
||||
MaxEstimatedValue *float64 `query:"max_estimated_value" valid:"optional"`
|
||||
Currency string `query:"currency" valid:"optional"`
|
||||
DeadlineFrom *int64 `query:"deadline_from" valid:"optional"`
|
||||
DeadlineTo *int64 `query:"deadline_to" valid:"optional"`
|
||||
PublicationDateFrom *int64 `query:"publication_date_from" valid:"optional"`
|
||||
PublicationDateTo *int64 `query:"publication_date_to" valid:"optional"`
|
||||
Source []string `query:"source" valid:"optional"`
|
||||
BuyerOrganizationID *string `query:"buyer_organization_id" valid:"optional"`
|
||||
Languages []string `query:"languages" valid:"optional"`
|
||||
OnlyActiveDeadlines bool `query:"-" valid:"optional"`
|
||||
Language *string `query:"lang" valid:"optional"`
|
||||
Search *string `query:"q" valid:"optional"`
|
||||
Title *string `query:"title" valid:"optional"`
|
||||
Description *string `query:"description" valid:"optional"`
|
||||
NoticeType *string `query:"notice_type" valid:"optional"`
|
||||
NoticeTypes []string `query:"notice_types" valid:"optional"`
|
||||
FormTypes []string `query:"form_types" valid:"optional"`
|
||||
ProcurementType *string `query:"procurement_type" valid:"optional"`
|
||||
Country *string `query:"country" valid:"optional"`
|
||||
CountryCode *string `query:"country_code" valid:"optional"`
|
||||
CountryCodes []string `query:"country_codes" valid:"optional"`
|
||||
RegionCodes []string `query:"region_codes" valid:"optional"`
|
||||
CompanyID *string `query:"company_id" valid:"optional"`
|
||||
CustomerID *string `query:"customer_id" valid:"optional"`
|
||||
Status []string `query:"status" valid:"optional"`
|
||||
MainClassification *string `query:"main_classification" valid:"optional"`
|
||||
Classifications []string `query:"classifications" valid:"optional"`
|
||||
CpvCodes []string `query:"cpv_codes" valid:"optional"`
|
||||
MinEstimatedValue *float64 `query:"min_estimated_value" valid:"optional"`
|
||||
MaxEstimatedValue *float64 `query:"max_estimated_value" valid:"optional"`
|
||||
Currency string `query:"currency" valid:"optional"`
|
||||
CreatedAt *int64 `query:"created_at" valid:"optional"`
|
||||
CreatedAtFrom *int64 `query:"created_at_from" valid:"optional"`
|
||||
CreatedAtTo *int64 `query:"created_at_to" valid:"optional"`
|
||||
TenderDeadline *int64 `query:"tender_deadline" valid:"optional"`
|
||||
TenderDeadlineFrom *int64 `query:"tender_deadline_from" valid:"optional"`
|
||||
TenderDeadlineTo *int64 `query:"tender_deadline_to" valid:"optional"`
|
||||
DeadlineFrom *int64 `query:"deadline_from" valid:"optional"`
|
||||
DeadlineTo *int64 `query:"deadline_to" valid:"optional"`
|
||||
PublicationDate *int64 `query:"publication_date" valid:"optional"`
|
||||
PublicationDateFrom *int64 `query:"publication_date_from" valid:"optional"`
|
||||
PublicationDateTo *int64 `query:"publication_date_to" valid:"optional"`
|
||||
SubmissionDeadline *int64 `query:"submission_deadline" valid:"optional"`
|
||||
SubmissionDateAliasFrom *int64 `query:"submission_deadline_from" valid:"optional"`
|
||||
SubmissionDateAliasTo *int64 `query:"submission_deadline_to" valid:"optional"`
|
||||
SubmissionDateFrom *int64 `query:"submission_date_from" valid:"optional"`
|
||||
SubmissionDateTo *int64 `query:"submission_date_to" valid:"optional"`
|
||||
Source []string `query:"source" valid:"optional"`
|
||||
BuyerOrganizationID *string `query:"buyer_organization_id" valid:"optional"`
|
||||
Languages []string `query:"languages" valid:"optional"`
|
||||
OnlyActiveDeadlines bool `query:"-" valid:"optional"`
|
||||
Language *string `query:"lang" valid:"optional"`
|
||||
}
|
||||
|
||||
// SearchResponse represents the response for listing tenders
|
||||
@@ -48,10 +68,12 @@ type SearchResponse struct {
|
||||
type TenderResponse struct {
|
||||
ID string `json:"id"`
|
||||
NoticePublicationID string `json:"notice_publication_id"`
|
||||
NoticeTypeCode string `json:"notice_type_code"`
|
||||
Title string `json:"title"`
|
||||
Description string `json:"description"`
|
||||
ProcurementTypeCode string `json:"procurement_type_code"`
|
||||
ProcedureCode string `json:"procedure_code"`
|
||||
MainClassification string `json:"main_classification"`
|
||||
EstimatedValue float64 `json:"estimated_value"`
|
||||
Currency string `json:"currency"`
|
||||
Duration string `json:"duration"`
|
||||
@@ -115,10 +137,12 @@ func (t *Tender) ToResponseWithLanguage(language string) *TenderResponse {
|
||||
response := &TenderResponse{
|
||||
ID: t.ID.Hex(),
|
||||
NoticePublicationID: t.NoticePublicationID,
|
||||
NoticeTypeCode: t.NoticeTypeCode,
|
||||
Title: title,
|
||||
Description: description,
|
||||
ProcurementTypeCode: t.ProcurementTypeCode,
|
||||
ProcedureCode: t.ProcedureCode,
|
||||
MainClassification: t.MainClassification,
|
||||
EstimatedValue: t.EstimatedValue,
|
||||
Currency: t.Currency,
|
||||
Duration: t.Duration,
|
||||
|
||||
Reference in New Issue
Block a user