32 lines
1.3 KiB
Go
32 lines
1.3 KiB
Go
package document_scraper
|
|
|
|
// DocumentScraperListRequest represents the request to list tenders pending document scraping
|
|
type DocumentScraperListRequest struct {
|
|
Limit int `query:"limit" valid:"optional,range(1|100)" default:"20"`
|
|
Offset int `query:"offset" valid:"optional,range(0|1000000)" default:"0"`
|
|
}
|
|
|
|
// DocumentScraperGetRequest represents the request to get a specific tender by notice publication ID
|
|
type DocumentScraperGetRequest struct {
|
|
NoticeID string `param:"notice_id" valid:"required~Notice ID is required"`
|
|
}
|
|
|
|
// DocumentScraperTenderResponse is the minimal payload for the document scraper pipeline.
|
|
//
|
|
// ContractFolderID and NoticePublicationID are used to build MinIO paths:
|
|
//
|
|
// PROC_<contract_folder_id>/<notice_publication_id>/documents/<file>
|
|
// PROC_<contract_folder_id>/<notice_publication_id>/tender.json
|
|
type DocumentScraperTenderResponse struct {
|
|
ContractFolderID string `json:"contract_folder_id"`
|
|
NoticePublicationID string `json:"notice_publication_id"`
|
|
DocumentURL string `json:"document_url"`
|
|
Title string `json:"title"`
|
|
Description string `json:"description"`
|
|
}
|
|
|
|
// DocumentScraperListResponse represents the paginated list response
|
|
type DocumentScraperListResponse struct {
|
|
Tenders []DocumentScraperTenderResponse `json:"tenders"`
|
|
}
|