xbackend/schemas/user.py

70 lines
1.3 KiB
Python

from typing import Optional, List, Any
from schemas.base import DBBase
from pydantic import BaseModel, EmailStr, Field
class send(BaseModel):
name:str # 用户名
class UserBase(BaseModel):
email: Optional[EmailStr] = None
is_superuser: bool = False
name: Optional[str] = None
nickname: str = ''
last_login_ts: str = '尚未登录'
tel: str = ''
class UserProfileEdit(BaseModel):
nickname: str = None
tel: str = None
class User(UserBase):
name: str
class Users(BaseModel):
data: List[User] = []
class CreateAccount(BaseModel):
account_list: List[str] = []
class UserLogin(BaseModel):
username: str = ...
password: str = ...
class UserRestPassword(BaseModel):
username: str = ...
password: str = ...
class UserRestMyPassword(BaseModel):
password: str = ...
class UserCreate(UserBase):
password: str
name: str
# ****************************************************************************
# mongodb 模型
class UserDB(DBBase):
email: EmailStr = None
is_superuser: bool = False
name: str
nickname: str = ''
tel: Any = ''
last_login_ts: str = '尚未登录'
data_where: dict = dict()
user_id: str = ''
types: int = None
class UserDBRW(UserDB):
hashed_password: str