from pydantic import BaseModel, EmailStr from typing import Optional from datetime import datetime # 定义请求体模型 class EmailContent(BaseModel): body: str class EmailAuthorizationBase(BaseModel): email: Optional[EmailStr] = None authorization_code: Optional[str] = None imap_server: Optional[str] = None imap_port: Optional[int] = 993 smtp_server: Optional[str] = None smtp_port: Optional[int] = 465 proxy_host: Optional[str] = None proxy_port: Optional[int] = 0 proxy_username: Optional[str] = None proxy_password: Optional[str] = None class EmailAuthorizationCreate(EmailAuthorizationBase): email: EmailStr authorization_code: str class EmailAuthorizationUpdate(EmailAuthorizationBase): pass class EmailAuthorizationOut(EmailAuthorizationBase): id: int created_at: datetime updated_at: datetime class Config: orm_mode = True