from typing import Optional from pydantic import BaseModel class BulkSeedRequest(BaseModel): start_year: int = 2002 end_year: Optional[int] = None skip_nvd: bool = False skip_nomi_sec: bool = True class NomiSecSyncRequest(BaseModel): cve_id: Optional[str] = None batch_size: int = 50 class GitHubPoCSyncRequest(BaseModel): cve_id: Optional[str] = None batch_size: int = 50 class ExploitDBSyncRequest(BaseModel): cve_id: Optional[str] = None batch_size: int = 30 class CISAKEVSyncRequest(BaseModel): cve_id: Optional[str] = None batch_size: int = 100 class ReferenceSyncRequest(BaseModel): cve_id: Optional[str] = None batch_size: int = 30 max_cves: Optional[int] = None force_resync: bool = False class RuleRegenRequest(BaseModel): force: bool = False