"""系统设置(公司信息)请求/响应模型。 `SettingPublicOut` 与 `SettingOut` **刻意不共用**:public 端点无鉴权, 响应字段必须白名单显式列出——将来往 SettingOut 加敏感字段时不会 顺着复用链泄漏到匿名端点。 """ from pydantic import BaseModel, Field class SettingOut(BaseModel): """公司信息(管理端)。""" company_name: str logo_url: str | None = None class SettingPublicOut(BaseModel): """公司信息(匿名端点白名单):登录页展示所需的两个字段。""" company_name: str logo_url: str | None = None class SettingUpdateIn(BaseModel): """公司信息更新。""" company_name: str = Field(min_length=1, max_length=64, description="公司名称")