system.py 970 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. """系统管理 schemas(对外 camelCase)"""
  2. from typing import List, Optional
  3. from pydantic import BaseModel, ConfigDict
  4. def _to_camel(name: str) -> str:
  5. parts = name.split("_")
  6. return parts[0] + "".join(p.capitalize() for p in parts[1:])
  7. class CamelModel(BaseModel):
  8. model_config = ConfigDict(
  9. alias_generator=_to_camel,
  10. populate_by_name=True,
  11. )
  12. class UserCreateBody(CamelModel):
  13. username: str
  14. password: str
  15. display_name: str
  16. role_id: str
  17. class UserUpdateBody(CamelModel):
  18. display_name: Optional[str] = None
  19. role_id: Optional[str] = None
  20. status: Optional[str] = None
  21. class ResetPasswordBody(CamelModel):
  22. password: str
  23. class RoleCreateBody(CamelModel):
  24. role_code: str
  25. role_name: str
  26. remark: Optional[str] = None
  27. class RoleUpdateBody(CamelModel):
  28. role_name: Optional[str] = None
  29. remark: Optional[str] = None
  30. class RoleMenusBody(CamelModel):
  31. menu_ids: List[str]