organization.py 885 B

1234567891011121314151617181920212223242526272829303132
  1. from typing import Optional
  2. from pydantic import BaseModel, Field
  3. from datetime import datetime
  4. class OrganizationBase(BaseModel):
  5. name: str = Field(..., min_length=1, max_length=100)
  6. description: Optional[str] = None
  7. sort_order: int = 0
  8. class OrganizationCreate(OrganizationBase):
  9. pass
  10. class OrganizationUpdate(BaseModel):
  11. """更新组织须填写图形验证码(管理员验证码)。"""
  12. name: Optional[str] = Field(None, min_length=1, max_length=100)
  13. description: Optional[str] = None
  14. sort_order: Optional[int] = None
  15. captcha_id: str = Field(..., min_length=1, description="图形验证码 ID")
  16. captcha_code: str = Field(..., min_length=1, description="图形验证码")
  17. class OrganizationResponse(OrganizationBase):
  18. id: int
  19. created_at: datetime
  20. updated_at: datetime
  21. class Config:
  22. from_attributes = True