daily/Schemas/UserSchemas.py

156 lines
3.0 KiB
Python
Raw Normal View History

2023-03-01 16:04:43 +08:00
from enum import unique, Enum
2023-02-28 16:28:48 +08:00
2023-02-28 13:52:51 +08:00
from pydantic import BaseModel
2023-03-06 14:48:41 +08:00
from typing import Union, Optional, List
2023-03-02 15:19:14 +08:00
2023-02-28 13:52:51 +08:00
2023-06-29 17:24:38 +08:00
@unique
class DepartmentTypeEnum(Enum):
enum01 = "董监高"
enum02 = "评级部门"
enum03 = "业务部门"
enum04 = "研发部门"
enum05 = "职能部门"
enum06 = "战略部门"
enum07 = "子分公司"
enum08 = "质量部门"
2023-02-28 13:52:51 +08:00
class LoginToAppReq(BaseModel):
2023-03-01 16:04:43 +08:00
code: str
2023-02-28 13:52:51 +08:00
class LoginToAppRes(BaseModel):
2023-03-07 12:03:06 +08:00
email: str
2023-03-06 14:48:41 +08:00
# registered: bool
# token: str
2023-02-28 13:52:51 +08:00
2023-07-19 17:04:32 +08:00
class ChangeUserDailyFillNoticeReq(BaseModel):
daily_fill_notice: bool
2023-02-28 13:52:51 +08:00
class GetUserInfoReq(BaseModel):
2023-02-28 16:28:48 +08:00
code: str
2023-02-28 13:52:51 +08:00
2023-03-06 14:48:41 +08:00
class DepartmentInfo(BaseModel):
id: int
belong: Optional[int]
name: str
2023-06-29 17:24:38 +08:00
type: Optional[DepartmentTypeEnum]
sub_type: Optional[str]
2023-03-06 14:48:41 +08:00
class PostInfo(BaseModel):
id: int
belong: int
name: str
2023-02-28 13:52:51 +08:00
class GetUserInfoRes(BaseModel):
2023-03-03 18:11:57 +08:00
email: Optional[str]
post: Optional[str]
2023-04-25 10:55:49 +08:00
phone: Optional[str]
2023-07-24 17:03:20 +08:00
openid: Optional[str]
2023-03-06 14:48:41 +08:00
post_list: Optional[List[PostInfo]]
2023-03-03 18:11:57 +08:00
name: Optional[str]
department: Optional[str]
2023-07-19 17:04:32 +08:00
daily_fill_notice: Optional[bool]
2023-04-03 17:04:48 +08:00
manage_departments: Optional[str]
2023-03-06 14:48:41 +08:00
department_list: Optional[List[DepartmentInfo]]
2023-03-03 18:11:57 +08:00
registered: Optional[bool]
2023-03-17 16:29:13 +08:00
auth_data: Optional[str]
2023-02-28 13:52:51 +08:00
class TokenData(BaseModel):
2023-03-07 12:03:06 +08:00
email: str
2023-04-25 10:55:49 +08:00
2023-02-28 13:52:51 +08:00
registered: bool
2023-03-02 15:19:14 +08:00
auth_data: Union[str, None]
department: Union[str, None]
2023-04-03 17:04:48 +08:00
manage_departments: Optional[str]
2023-03-02 15:19:14 +08:00
post: Union[str, None]
2023-02-28 13:52:51 +08:00
class UserInfoChange(BaseModel):
email: str
2023-03-07 12:03:06 +08:00
name: Optional[str]
post: Optional[str]
2023-07-24 17:03:20 +08:00
openid: Optional[str]
2023-07-17 16:03:12 +08:00
daily_fill_notice: Optional[bool]
2023-04-03 17:04:48 +08:00
manage_departments: Optional[str]
2023-03-07 12:03:06 +08:00
department: Optional[str]
registered: Optional[bool]
2023-04-25 10:55:49 +08:00
phone: Optional[str]
2023-02-28 13:52:51 +08:00
2023-03-01 16:04:43 +08:00
class UserInfo(BaseModel):
email: str
2023-03-03 10:01:21 +08:00
name: str
2023-03-01 16:04:43 +08:00
post: str
2023-04-25 10:55:49 +08:00
phone: Optional[str]
2023-07-17 16:03:12 +08:00
daily_fill_notice: Optional[bool]
2023-07-24 17:03:20 +08:00
openid: Optional[str]
2023-04-03 17:04:48 +08:00
manage_departments: Optional[str]
department: Optional[str]
registered: Optional[bool]
2023-03-01 16:04:43 +08:00
class UserFullInfo(BaseModel):
email: Optional[str]
post: Optional[str]
post_list: Optional[List[PostInfo]]
name: Optional[str]
2023-04-25 10:55:49 +08:00
phone: Optional[str]
2023-07-24 17:03:20 +08:00
openid: Optional[str]
department: Optional[str]
2023-07-19 17:04:32 +08:00
daily_fill_notice: Optional[bool]
daily_fill_notice: Optional[bool]
2023-04-03 17:04:48 +08:00
manage_departments: Optional[str]
department_list: Optional[List[DepartmentInfo]]
2023-02-28 13:52:51 +08:00
class ChangeUserInfoReq(UserInfoChange):
email_code: str
2023-03-01 16:04:43 +08:00
class BindEmailReq(BaseModel):
2023-03-02 09:27:05 +08:00
email: str = "xxxx@fecr.com.cn"
2023-03-01 16:04:43 +08:00
email_code: str
2023-02-28 13:52:51 +08:00
class EmailSendReqBody(BaseModel):
email: str = "xxxx@fecr.com.cn"
2023-02-28 16:28:48 +08:00
2023-03-17 16:29:13 +08:00
class LoginByPhoneReq(BaseModel):
phone: str
code: str
2023-07-24 17:03:20 +08:00
class SetUserOpenidReq(BaseModel):
# openid: str
code:str
2023-03-17 16:29:13 +08:00
class GetPhoneVerifyCodeReq(BaseModel):
phone: str
class GetUserByDepartmentReq(BaseModel):
departments: List[int]
class GetUserByDepartmentRes(BaseModel):
users: List[UserInfo]
class GetUserByDepartmentTypeRes(BaseModel):
users: List[UserFullInfo]
class GetUserByDepartmentTypeReq(BaseModel):
department_type: str