leave.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. """Pydantic schemas - 请假申请"""
  2. from typing import Optional
  3. from pydantic import BaseModel, Field
  4. class LeaveCreate(BaseModel):
  5. leaveType: str = Field(..., description="请假类型: personal/sick/annual/other")
  6. startDate: str = Field(..., description="开始日期")
  7. endDate: str = Field(..., description="结束日期")
  8. days: int = Field(..., description="请假天数")
  9. reason: Optional[str] = Field(None, description="请假原因")
  10. remark: Optional[str] = Field(None, description="备注")
  11. class LeaveUpdate(BaseModel):
  12. leaveType: Optional[str] = Field(None, description="请假类型")
  13. startDate: Optional[str] = Field(None, description="开始日期")
  14. endDate: Optional[str] = Field(None, description="结束日期")
  15. days: Optional[int] = Field(None, description="请假天数")
  16. reason: Optional[str] = Field(None, description="请假原因")
  17. remark: Optional[str] = Field(None, description="备注")
  18. class LeaveResponse(BaseModel):
  19. id: str
  20. leaveType: Optional[str] = None
  21. startDate: Optional[str] = None
  22. endDate: Optional[str] = None
  23. days: Optional[int] = None
  24. reason: Optional[str] = None
  25. wfInstanceId: Optional[str] = None
  26. status: Optional[str] = None
  27. createBy: Optional[str] = None
  28. createTime: Optional[str] = None
  29. updateBy: Optional[str] = None
  30. updateTime: Optional[str] = None
  31. class Config:
  32. from_attributes = True