usermod/Schemas/UserSchemas.py

60 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from pydantic import BaseModel, constr
from typing import Union
EMailRegex = constr(regex="^[a-zA-Z0-9_-]+@fecr.com.cn$")
passwordRegex = constr(regex="^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)^.{8,}$")
class ImageCaptchaRes(BaseModel):
captcha_id: str
img_data: str
class LoginReqBody(BaseModel):
email: EMailRegex = "xxxx@fecr.com.cn"
password: passwordRegex = "包含大小写字母和数字长度8-16位"
captcha_id: str
captcha_code: str
app_id: Union[str, None] #
class EmailSendReqBody(BaseModel):
email: EMailRegex = "xxxx@fecr.com.cn"
class UserInfo(BaseModel):
id: str
email: str
name: Union[str, None]
avatar: Union[str, None]
role: Union[str, None]
department: Union[str, None]
post: Union[str, None]
auth_data: Union[str, None]
class LoginResBody(UserInfo):
access_token: str
token_type: str
app_id: Union[str, None] #
class RegisterReqBody(BaseModel):
email: EMailRegex
password: passwordRegex
email_verify_code: str
class RestPasswordReqBody(BaseModel):
email: EMailRegex
email_verify_code: str
class TokenData(BaseModel):
id: str
name: Union[str, None]
role: Union[str, None]
department: Union[str, None]
post: Union[str, None]
auth_data: Union[str, None]