29 lines
782 B
Python
29 lines
782 B
Python
|
|
"""系统设置(公司信息)请求/响应模型。
|
|||
|
|
|
|||
|
|
`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="公司名称")
|