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

87 lines
2.6 KiB
Python
Raw Normal View History

2026-07-23 17:45:44 +08:00
"""
自动生成的 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 LoginPostRequest(BaseModel):
"""登录 — 请求体"""
username: str = Field(...)
password: str = Field(...)
class LoginPostResponse(BaseModel):
"""登录 — 响应体"""
result: str = Field(...)
token: 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)
# 所有响应模型的联合类型
AuthResponse = LoginPostResponse | ChangePasswordPostResponse | MeGetResponse | UpdateProfilePostResponse | RegisterPostResponse