44 lines
1.6 KiB
Go
44 lines
1.6 KiB
Go
package scraper
|
|
|
|
// ScrapeRequestForm represents the request form for scraping documents
|
|
type ScrapeRequestForm struct {
|
|
NoticeID string `json:"notice_id" valid:"required,length(1|100)" example:"75896"`
|
|
NoticeURL string `json:"notice_url" valid:"required,url" example:"https://tendsign.com/supplier/s_meformsnotice.aspx?MeFormsNoticeId=75896"`
|
|
}
|
|
|
|
// ScrapeResponse represents the response from scraping operation
|
|
type ScrapeResponse struct {
|
|
Success bool `json:"success"`
|
|
NoticeID string `json:"notice_id"`
|
|
UploadedCount int `json:"uploaded_count"`
|
|
UploadedFiles []UploadedFileInfo `json:"uploaded_files"`
|
|
Errors []FileError `json:"errors,omitempty"`
|
|
Buckets []BucketInfo `json:"buckets,omitempty"`
|
|
}
|
|
|
|
// UploadedFileInfo represents information about an uploaded file
|
|
type UploadedFileInfo struct {
|
|
Filename string `json:"filename"`
|
|
ObjectName string `json:"object_name"`
|
|
Size int64 `json:"size"`
|
|
}
|
|
|
|
// FileError represents an error for a specific file
|
|
type FileError struct {
|
|
Filename string `json:"filename"`
|
|
Error string `json:"error"`
|
|
}
|
|
|
|
// BucketInfo represents information about a bucket
|
|
type BucketInfo struct {
|
|
Name string `json:"name"`
|
|
NoticeID string `json:"notice_id"`
|
|
Count int `json:"count"`
|
|
}
|
|
|
|
// TEDOneTimeScrapeForm represents the request form for triggering TED one-time scraping
|
|
type TEDOneTimeScrapeForm struct {
|
|
FromDate string `json:"from_date" valid:"required" example:"01/01/2026"`
|
|
ToDate string `json:"to_date" valid:"required" example:"19/02/2026"`
|
|
}
|