email_authorizations.py 926 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. from pydantic import BaseModel, EmailStr
  2. from typing import Optional
  3. from datetime import datetime
  4. # 定义请求体模型
  5. class EmailContent(BaseModel):
  6. body: str
  7. class EmailAuthorizationBase(BaseModel):
  8. email: Optional[EmailStr] = None
  9. authorization_code: Optional[str] = None
  10. imap_server: Optional[str] = None
  11. imap_port: Optional[int] = 993
  12. smtp_server: Optional[str] = None
  13. smtp_port: Optional[int] = 465
  14. proxy_host: Optional[str] = None
  15. proxy_port: Optional[int] = 0
  16. proxy_username: Optional[str] = None
  17. proxy_password: Optional[str] = None
  18. class EmailAuthorizationCreate(EmailAuthorizationBase):
  19. email: EmailStr
  20. authorization_code: str
  21. class EmailAuthorizationUpdate(EmailAuthorizationBase):
  22. pass
  23. class EmailAuthorizationOut(EmailAuthorizationBase):
  24. id: int
  25. created_at: datetime
  26. updated_at: datetime
  27. class Config:
  28. orm_mode = True