from typing import Optional

from pydantic import BaseModel, Field


class GetUrlListRequest(BaseModel):
    domain: str = ""
    surl: str = ""
    is_report_by_one: Optional[int] = 2
    is_report_by_site: Optional[int] = 2
    is_report_by_wap: Optional[int] = 2
    has_evidence: Optional[int] = 2

    page: int = Field(default=1, gt=0)
    size: int = Field(default=50, gt=0)


class AddUrlItem(BaseModel):
    domain: str
    surl: str


class AddUrlsRequest(BaseModel):
    """手动添加URL的请求体"""
    urls: list[AddUrlItem]


class CollectEvidenceRequest(BaseModel):
    """手动触发证据收集的请求体"""
    ids: list[int]


class ReportRequest(BaseModel):
    """手动触发证据收集的请求体"""
    ids: list[int]
    report_by_one: bool
    report_by_site: bool
    report_by_wap: bool
