finai/backend/app/schemas/auth.py

40 lines
1.0 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from pydantic import BaseModel, Field
class SmsCodeRequest(BaseModel):
phone: str = Field(min_length=6, max_length=32)
class LoginRequest(BaseModel):
phone: str = Field(min_length=6, max_length=32)
code: str = Field(min_length=4, max_length=8)
class WechatLoginRequest(BaseModel):
# wx.login() 返回的 jscode用于换 openid可选仅记录用途
js_code: str | None = None
# button open-type="getPhoneNumber" 事件返回的 code用于换手机号
phone_code: str | None = None
# mock 模式或跳过手机号服务时,前端可直接传手机号(生产可禁用)
phone: str | None = None
class CurrentUserResponse(BaseModel):
id: int
phone: str
name: str
department: str | None = None
job_title: str | None = None
unit_id: int | None = None
unit_name: str | None = None
status: str
roles: list[str]
permissions: list[str]
is_superuser: bool
class TokenResponse(BaseModel):
access_token: str
token_type: str = "bearer"
user: CurrentUserResponse