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"` Username string `json:"username" valid:"required,email" example:"feed@opplenz.com"` Password string `json:"password" valid:"required,length(8|200)" example:"password123"` LoginURL string `json:"login_url" valid:"required,url" example:"https://tendsign.com/login.aspx"` NoticeURL string `json:"notice_url" valid:"required,url" example:"https://tendsign.com/supplier/s_meformsnotice.aspx?MeFormsNoticeId=75896"` Category string `json:"category" valid:"optional,length(1|100)" example:"tenders"` SubCategory string `json:"subcategory" valid:"optional,length(0|100)" example:"2024"` } // 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"` } // 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"` }