"""企业相关 Pydantic schema。""" from datetime import datetime from pydantic import BaseModel, Field class CompanyCreate(BaseModel): """创建企业请求。""" name: str = Field(..., min_length=1, max_length=200) industry: str | None = Field(default=None, max_length=100) stage: str | None = Field(default=None, max_length=50) logo_url: str | None = Field(default=None, max_length=500) description: str | None = None total_funding: str | None = Field(default=None, max_length=50) website: str | None = Field(default=None, max_length=500) class CompanyUpdate(BaseModel): """更新企业请求。""" name: str | None = Field(default=None, min_length=1, max_length=200) industry: str | None = Field(default=None, max_length=100) stage: str | None = Field(default=None, max_length=50) logo_url: str | None = Field(default=None, max_length=500) description: str | None = None total_funding: str | None = Field(default=None, max_length=50) website: str | None = Field(default=None, max_length=500) class CompanyResponse(BaseModel): """企业信息响应。""" id: str tenant_id: str name: str industry: str | None = None stage: str | None = None logo_url: str | None = None description: str | None = None founded_at: datetime | None = None total_funding: str | None = None website: str | None = None created_at: datetime updated_at: datetime class CompanyListResponse(BaseModel): """企业列表响应。""" items: list[CompanyResponse] total: int page: int page_size: int