from datetime import datetime, date from pydantic import BaseModel from typing import Optional, List class CompanyUserInfo(BaseModel): id: Optional[str] = None email: Optional[str] = None phone: Optional[str] = None company_name: Optional[str] = None passwd: Optional[str] = None credit: Optional[str] = None verified: Optional[bool] = None create_time: Optional[datetime] = None class CompanyUserAddInfo(BaseModel): email: Optional[str] = None phone: Optional[str] = None company_name: Optional[str] = None passwd: Optional[str] = None credit: Optional[str] = None verified: Optional[bool] = None class CompanyUserRegisterReq(CompanyUserAddInfo): email: str email_verified_code: str passwd: str license_file_md: str class LoginByEmailReq(BaseModel): email: str code: str class LoginByEmailRes(BaseModel): token: str class GetEmailVerifyCode(BaseModel): email: str class GetUserInfoRes(BaseModel): id: Optional[str] = None email: Optional[str] = None company_name: Optional[str] = None phone: Optional[str] = None class CompanyUserAddReq(CompanyUserAddInfo): pass class CompanyUserAddRes(CompanyUserInfo): pass class CompanyUserUpdateInfo(CompanyUserInfo): pass class CompanyUserUpdateReq(CompanyUserUpdateInfo): pass class CompanyUserUpdateRes(CompanyUserInfo): pass class CompanyUserQuery(CompanyUserInfo): page: Optional[int] = None page_size: Optional[int] = None pass class CompanyUserQueryReq(CompanyUserQuery): pass class CompanyUserGetReq(BaseModel): id: str class CompanyUserGetRes(CompanyUserInfo): pass class CompanyUserQueryRes(BaseModel): count: int items: List[CompanyUserInfo] class CompanyUserDeleteReq(BaseModel): id: str class LoginByPasswdReq(BaseModel): email: str passwd: str class LoginByPasswdRes(BaseModel): token: str #######################