"""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