Add TED Scraper Configuration and Cron Scheduler Implementation
- Introduced a new configuration file for the TED scraper, defining database connection settings, logging preferences, and scraping parameters. - Implemented a CronScheduler to manage scheduled tasks for TED operations, utilizing the robfig/cron library for scheduling. - Added new entities and structures for handling TED XML data, including eForms and tender-related information, enhancing the scraper's functionality. - Updated the main application to initialize the TED scraper with the new configuration and set up graceful shutdown handling. - Removed the deprecated scraping implementation to streamline the codebase and focus on the new architecture.
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
package eform
|
||||
|
||||
// =====================================================
|
||||
// TECHNICAL SPECIFICATIONS
|
||||
// =====================================================
|
||||
|
||||
// TechnicalSpecifications contains technical and eligibility requirements
|
||||
type TechnicalSpecifications struct {
|
||||
Description string `json:"description" xml:"description" validate:"required,max=10000"`
|
||||
EligibilityCriteria string `json:"eligibility_criteria,omitempty" xml:"eligibility_criteria,omitempty" validate:"max=10000"`
|
||||
TechnicalCapability string `json:"technical_capability,omitempty" xml:"technical_capability,omitempty" validate:"max=10000"`
|
||||
EconomicCapability string `json:"economic_capability,omitempty" xml:"economic_capability,omitempty" validate:"max=10000"`
|
||||
References bool `json:"references" xml:"references"`
|
||||
ReferencesDescription string `json:"references_description,omitempty" xml:"references_description,omitempty" validate:"required_if=References true"`
|
||||
SecurityClearance bool `json:"security_clearance" xml:"security_clearance"`
|
||||
SecurityClearanceDescription string `json:"security_clearance_description,omitempty" xml:"security_clearance_description,omitempty" validate:"required_if=SecurityClearance true"`
|
||||
ReservedExecution ReservedExecution `json:"reserved_execution" xml:"reserved_execution"`
|
||||
StrategicProcurement []StrategicType `json:"strategic_procurement,omitempty" xml:"strategic_procurement,omitempty"`
|
||||
AccessibilityCriteria bool `json:"accessibility_criteria" xml:"accessibility_criteria"`
|
||||
AccessibilityDescription string `json:"accessibility_description,omitempty" xml:"accessibility_description,omitempty" validate:"max=10000"`
|
||||
GreenProcurement bool `json:"green_procurement" xml:"green_procurement"`
|
||||
SocialProcurement bool `json:"social_procurement" xml:"social_procurement"`
|
||||
InnovativeProcurement bool `json:"innovative_procurement" xml:"innovative_procurement"`
|
||||
}
|
||||
|
||||
// ReservedExecution represents reserved participation types
|
||||
type ReservedExecution string
|
||||
|
||||
const (
|
||||
ReservedNone ReservedExecution = "none"
|
||||
ReservedShelteredWS ReservedExecution = "sheltered-workshop"
|
||||
ReservedPublicService ReservedExecution = "public-service-mission"
|
||||
)
|
||||
|
||||
// StrategicType represents strategic procurement objectives
|
||||
type StrategicType string
|
||||
|
||||
const (
|
||||
StrategicEnvironmental StrategicType = "environmental"
|
||||
StrategicSocial StrategicType = "social"
|
||||
StrategicInnovation StrategicType = "innovation"
|
||||
StrategicOther StrategicType = "other"
|
||||
)
|
||||
Reference in New Issue
Block a user