from datetime import datetime from typing import Optional, List from pydantic import BaseModel class UserInfo(BaseModel): email: str name: str post: str department: str registered: bool class PostInfo(BaseModel): id: Optional[int] belong: Optional[int] name: Optional[str] auth_data: Optional[str] class DepartmentInfo(BaseModel): id: Optional[int] belong: Optional[int] name: Optional[str] auth_data: Optional[str] class GetEmailVerifyCodeReq(BaseModel): email: str class LoginByEmailReq(BaseModel): email: str code: str class LoginByEmailRes(BaseModel): token: str class RefreshTokenRes(BaseModel): token: str class GetUserInfoRes(BaseModel): email: Optional[str] post: Optional[str] post_list: Optional[List[PostInfo]] name: Optional[str] department: Optional[str] department_list: Optional[List[DepartmentInfo]] registered: Optional[bool] auth_data: Optional[str] class GetPhoneVerifyCodeReq(BaseModel): phone: str class LoginByPhoneReq(BaseModel): phone: str code: str class UserFileInfo(BaseModel): id: Optional[int] file_name: Optional[str] md: Optional[str] mime_type: Optional[str] user_id: Optional[str] common_type: Optional[str] create_time: datetime file_url: Optional[str] class FileUploadRes(UserFileInfo): pass ######