mini-rbac/backend/schemas/user.py

30 lines
927 B
Python
Raw Normal View History

2022-09-11 10:34:18 +00:00
from typing import List, Optional
from pydantic import Field
from tortoise.contrib.pydantic import pydantic_model_creator
from models import UserModel, UserRoleModel
from schemas.common import QueryData
UserRead = pydantic_model_creator(UserModel, name="UserOut", exclude=("password",))
2022-09-11 14:50:39 +00:00
UserIn = pydantic_model_creator(UserModel, name="UserIn", exclude_readonly=True, exclude=("status",))
2022-09-11 10:34:18 +00:00
UserRole = pydantic_model_creator(UserRoleModel, name="UserRole", exclude_readonly=True)
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]