You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

289 lines
5.7 KiB

from pydantic import BaseModel
from typing import Union, Optional, List
class TokenData(BaseModel):
"""
token解析结果
"""
user_id: Union[int, None] = None
class UserModel(BaseModel):
"""
用户表对应pydantic模型
"""
user_id: Optional[int]
dept_id: Optional[int]
user_name: Optional[str]
nick_name: Optional[str]
user_type: Optional[str]
email: Optional[str]
phonenumber: Optional[str]
sex: Optional[str]
avatar: Optional[str]
password: Optional[str]
status: Optional[str]
del_flag: Optional[str]
login_ip: Optional[str]
login_date: Optional[str]
create_by: Optional[str]
create_time: Optional[str]
update_by: Optional[str]
update_time: Optional[str]
remark: Optional[str]
class Config:
orm_mode = True
class UserRoleModel(BaseModel):
"""
用户和角色关联表对应pydantic模型
"""
user_id: Optional[int]
role_id: Optional[int]
class Config:
orm_mode = True
class UserPostModel(BaseModel):
"""
用户与岗位关联表对应pydantic模型
"""
user_id: Optional[int]
post_id: Optional[int]
class Config:
orm_mode = True
class DeptModel(BaseModel):
"""
部门表对应pydantic模型
"""
dept_id: Optional[int]
parent_id: Optional[int]
ancestors: Optional[str]
dept_name: Optional[str]
order_num: Optional[int]
leader: Optional[str]
phone: Optional[str]
email: Optional[str]
status: Optional[str]
del_flag: Optional[str]
create_by: Optional[str]
create_time: Optional[str]
update_by: Optional[str]
update_time: Optional[str]
class Config:
orm_mode = True
class RoleModel(BaseModel):
"""
角色表对应pydantic模型
"""
role_id: Optional[int]
role_name: Optional[str]
role_key: Optional[str]
role_sort: Optional[int]
data_scope: Optional[str]
menu_check_strictly: Optional[int]
dept_check_strictly: Optional[int]
status: Optional[str]
del_flag: Optional[str]
create_by: Optional[str]
create_time: Optional[str]
update_by: Optional[str]
update_time: Optional[str]
remark: Optional[str]
class Config:
orm_mode = True
class PostModel(BaseModel):
"""
岗位信息表对应pydantic模型
"""
post_id: Optional[int]
post_code: Optional[str]
post_name: Optional[str]
post_sort: Optional[int]
status: Optional[str]
create_by: Optional[str]
create_time: Optional[str]
update_by: Optional[str]
update_time: Optional[str]
remark: Optional[str]
class Config:
orm_mode = True
class CurrentUserInfo(BaseModel):
"""
数据库返回当前用户信息
"""
user_basic_info: Union[UserModel, None]
user_dept_info: Union[DeptModel, None]
user_role_info: List[Union[RoleModel, None]]
user_post_info: List[Union[PostModel, None]]
user_menu_info: Union[List, None]
class UserDetailModel(BaseModel):
"""
获取用户详情信息响应模型
"""
user: Union[UserModel, None]
dept: Union[DeptModel, None]
role: List[Union[RoleModel, None]]
post: List[Union[PostModel, None]]
class CurrentUserInfoServiceResponse(UserDetailModel):
"""
获取当前用户信息响应模型
"""
menu: Union[List, None]
class UserQueryModel(UserModel):
"""
用户管理不分页查询模型
"""
create_time_start: Optional[str]
create_time_end: Optional[str]
class UserPageObject(UserQueryModel):
"""
用户管理分页查询模型
"""
page_num: int
page_size: int
class UserInfoJoinDept(UserModel):
"""
数据库查询用户列表返回模型
"""
dept_name: Optional[str]
class UserPageObjectResponse(BaseModel):
"""
用户管理列表分页查询返回模型
"""
rows: List[Union[UserInfoJoinDept, None]] = []
page_num: int
page_size: int
total: int
has_next: bool
class AddUserModel(UserModel):
"""
新增用户模型
"""
role_id: Optional[str]
post_id: Optional[str]
type: Optional[str]
class ResetUserModel(UserModel):
"""
重置用户密码模型
"""
old_password: Optional[str]
sms_code: Optional[str]
session_id: Optional[str]
class DeleteUserModel(BaseModel):
"""
删除用户模型
"""
user_ids: str
update_by: Optional[str]
update_time: Optional[str]
class UserRoleQueryModel(UserRoleModel):
"""
用户角色关联管理不分页查询模型
"""
user_name: Optional[str]
phonenumber: Optional[str]
role_name: Optional[str]
role_key: Optional[str]
class UserRolePageObject(UserRoleQueryModel):
"""
用户角色关联管理分页查询模型
"""
page_num: int
page_size: int
class UserRolePageObjectResponse(BaseModel):
"""
用户角色关联管理列表分页查询返回模型
"""
rows: List = []
page_num: int
page_size: int
total: int
has_next: bool
class CrudUserRoleModel(BaseModel):
"""
新增、删除用户关联角色及角色关联用户模型
"""
user_ids: Optional[str]
role_ids: Optional[str]
class ImportUserModel(BaseModel):
"""
批量导入用户模型
"""
url: str
is_update: bool
class CrudUserResponse(BaseModel):
"""
操作用户响应模型
"""
is_success: bool
message: str
class DeptInfo(BaseModel):
"""
查询部门树
"""
dept_id: int
dept_name: str
ancestors: str
class RoleInfo(BaseModel):
"""
用户角色信息
"""
role_info: Union[List, None]
class MenuList(BaseModel):
"""
用户菜单信息
"""
menu_info: Union[List, None]