""" 自动生成的 Pydantic 模型 — auth 来源: config/workers/auth/ """ from __future__ import annotations from typing import Any, Optional from pydantic import BaseModel, Field class ChangePasswordPostRequest(BaseModel): """修改密码 — 请求体""" user_id: str = Field(...) old_password: str = Field(...) new_password: str = Field(...) class ChangePasswordPostResponse(BaseModel): """修改密码 — 响应体""" result: str = Field(...) message: str = Field(...) timestamp: Optional[float] = Field(default=None) class MeGetRequest(BaseModel): """获取当前用户信息 — 请求体""" user_id: str = Field(...) class MeGetResponse(BaseModel): """获取当前用户信息 — 响应体""" result: str = Field(...) id: str = Field(...) username: str = Field(...) email: str = Field(...) full_name: Optional[str] = Field(default=None) avatar_url: Optional[str] = Field(default=None) phone: Optional[str] = Field(default=None) is_active: bool = Field(...) is_verified: bool = Field(...) is_superuser: bool = Field(...) created_at: Optional[str] = Field(default=None) updated_at: Optional[str] = Field(default=None) last_login_at: Optional[str] = Field(default=None) class RegisterPostRequest(BaseModel): """用户注册 — 请求体""" username: str = Field(...) password: str = Field(...) email: str = Field(...) full_name: str = Field(...) phone: str = Field(...) class RegisterPostResponse(BaseModel): """用户注册 — 响应体""" result: str = Field(...) message: str = Field(...) user_id: Optional[str] = Field(default=None) timestamp: Optional[float] = Field(default=None) class UpdateProfilePostRequest(BaseModel): """更新用户资料 — 请求体""" user_id: str = Field(...) full_name: str = Field(...) email: str = Field(...) avatar_url: str = Field(...) phone: str = Field(...) class UpdateProfilePostResponse(BaseModel): """更新用户资料 — 响应体""" result: str = Field(...) message: str = Field(...) timestamp: Optional[float] = Field(default=None) # 所有响应模型的联合类型 # (登录响应 LoginPostResponse 已随内置登录迁移至 chongming_auth 包) AuthResponse = ChangePasswordPostResponse | MeGetResponse | UpdateProfilePostResponse | RegisterPostResponse