account.py 718 B

1234567891011121314151617181920212223242526272829
  1. from pydantic import BaseModel
  2. from typing import Optional, Dict, Any
  3. from app.schemas.common import ApiResponse
  4. from app.schemas.user import VasUserOut
  5. # --- 4. 请求/响应 Schema (Pydantic) ---
  6. class AccountCreate(BaseModel):
  7. pool_name: str
  8. username: str
  9. password: Optional[str] = None
  10. extra_data: Optional[Dict[str, Any]] = None
  11. class AccountResponse(BaseModel):
  12. id: int
  13. pool_name: str
  14. username: str
  15. password: Optional[str] = None
  16. lock_until: float
  17. extra_data: Optional[Dict[str, Any]] = None
  18. status: str
  19. model_config = {
  20. "from_attributes": True
  21. }
  22. class LockRequest(BaseModel):
  23. pool_name: str
  24. username: str
  25. duration: Optional[int] = None