xbackend/schemas/user.py
2021-05-15 15:38:02 +08:00

53 lines
927 B
Python

from typing import Optional, List
from schemas.base import DBBase
from pydantic import BaseModel, EmailStr, Field
class UserBase(BaseModel):
email: Optional[EmailStr] = None
is_superuser: bool = False
name: Optional[str] = None
nickname: str = ''
last_login_ts: str = '尚未登录'
class User(UserBase):
name: str
class Users(BaseModel):
data: List[User] = []
class UserLogin(BaseModel):
username: str = ...
password: str = ...
class UserRestPassword(BaseModel):
username: str = ...
password: str = ...
class UserCreate(UserBase):
password: str
name: str
# ****************************************************************************
# mongodb 模型
class UserDB(DBBase):
email: EmailStr = None
is_superuser: bool = False
name: str
nickname: str
last_login_ts: str = '尚未登录'
class UserDBRW(UserDB):
hashed_password: str