41 lines
1.4 KiB
Python
41 lines
1.4 KiB
Python
"""Pydantic schemas - 请假申请"""
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, Field
|
|
|
|
|
|
class LeaveCreate(BaseModel):
|
|
leaveType: str = Field(..., description="请假类型: personal/sick/annual/other")
|
|
startDate: str = Field(..., description="开始日期")
|
|
endDate: str = Field(..., description="结束日期")
|
|
days: int = Field(..., description="请假天数")
|
|
reason: Optional[str] = Field(None, description="请假原因")
|
|
remark: Optional[str] = Field(None, description="备注")
|
|
|
|
|
|
class LeaveUpdate(BaseModel):
|
|
leaveType: Optional[str] = Field(None, description="请假类型")
|
|
startDate: Optional[str] = Field(None, description="开始日期")
|
|
endDate: Optional[str] = Field(None, description="结束日期")
|
|
days: Optional[int] = Field(None, description="请假天数")
|
|
reason: Optional[str] = Field(None, description="请假原因")
|
|
remark: Optional[str] = Field(None, description="备注")
|
|
|
|
|
|
class LeaveResponse(BaseModel):
|
|
id: str
|
|
leaveType: Optional[str] = None
|
|
startDate: Optional[str] = None
|
|
endDate: Optional[str] = None
|
|
days: Optional[int] = None
|
|
reason: Optional[str] = None
|
|
wfInstanceId: Optional[str] = None
|
|
status: Optional[str] = None
|
|
createBy: Optional[str] = None
|
|
createTime: Optional[str] = None
|
|
updateBy: Optional[str] = None
|
|
updateTime: Optional[str] = None
|
|
|
|
class Config:
|
|
from_attributes = True
|