from pydantic import BaseModel, Field from typing import Optional, List from datetime import datetime from uuid import UUID, uuid4 class Proxy(BaseModel): id: UUID = Field(default_factory=uuid4) ip: str port: int protocol: str anonymity: Optional[str] = "transparent" country_code: Optional[str] = None source: str score: float = 0.0 last_validated: Optional[datetime] = None created_at: datetime = Field(default_factory=datetime.now) class ValidationResult(BaseModel): proxy_id: UUID passed: bool latency_ms: float is_elite: bool = False headers: dict = {} error: Optional[str] = None validated_at: datetime = Field(default_factory=datetime.now)