2022-09-11 10:34:18 +00:00
|
|
|
from typing import List, Optional
|
|
|
|
|
2022-09-12 07:11:12 +00:00
|
|
|
from pydantic import BaseModel, Field
|
2022-09-11 10:34:18 +00:00
|
|
|
from tortoise.contrib.pydantic import pydantic_model_creator
|
|
|
|
|
2022-09-12 07:11:12 +00:00
|
|
|
from models import UserRoleModel
|
2022-09-11 10:34:18 +00:00
|
|
|
from schemas.common import QueryData
|
|
|
|
|
|
|
|
UserRole = pydantic_model_creator(UserRoleModel, name="UserRole", exclude_readonly=True)
|
|
|
|
|
2022-09-12 07:22:08 +00:00
|
|
|
from schemas.common import ReadBase
|
2022-09-12 07:11:12 +00:00
|
|
|
|
|
|
|
|
|
|
|
class UserBasic(BaseModel):
|
|
|
|
username: str
|
|
|
|
nickname: str
|
|
|
|
|
|
|
|
|
|
|
|
class UserIn(UserBasic):
|
|
|
|
password: str
|
|
|
|
|
|
|
|
|
|
|
|
class UserRead(UserBasic, ReadBase):
|
|
|
|
pass
|
|
|
|
|
2022-09-11 10:34:18 +00:00
|
|
|
|
|
|
|
class UserInfo(UserRead):
|
|
|
|
active_rid: int = Field(..., description="用户当前激活角色")
|
|
|
|
rids: List[int] = Field(..., description="用户拥有角色")
|
|
|
|
|
|
|
|
|
|
|
|
class UserAdd(UserIn):
|
|
|
|
rids: List[int] = Field(..., description="用户角色列表")
|
|
|
|
|
|
|
|
|
|
|
|
class UserQuery(QueryData):
|
|
|
|
username: Optional[str] = Field("", description="用户名")
|
|
|
|
nickname: Optional[str] = Field("", description="姓名")
|
|
|
|
|
|
|
|
|
|
|
|
UserList = List[UserRead]
|