Files
chongming-plugins/auth/models/pydantic.py
T

76 lines
2.4 KiB
Python

"""
自动生成的 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