87 lines
2.6 KiB
Python
87 lines
2.6 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 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
|