account.py 707 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. model_config = {
  19. "from_attributes": True
  20. }
  21. class LockRequest(BaseModel):
  22. pool_name: str
  23. username: str
  24. duration: Optional[int] = None