| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- from datetime import date
- from pydantic import BaseModel
- from typing import Optional
- from uuid import UUID
- class ScheduleCreate(BaseModel):
- dept_id: UUID
- date: str
- shift_id: Optional[UUID] = None
- staff_id: UUID
- tag: str = "normal"
- note: Optional[str] = None
- original_staff_id: Optional[UUID] = None
- substitute_for_id: Optional[UUID] = None
- reason: Optional[str] = None
- class ScheduleUpdate(BaseModel):
- shift_id: Optional[UUID] = None
- staff_id: Optional[UUID] = None
- tag: Optional[str] = None
- note: Optional[str] = None
- original_staff_id: Optional[UUID] = None
- substitute_for_id: Optional[UUID] = None
- reason: Optional[str] = None
- class ScheduleResponse(BaseModel):
- id: UUID
- dept_id: UUID
- date: date
- shift_id: Optional[UUID] = None
- staff_id: UUID
- tag: str
- note: Optional[str] = None
- original_staff_id: Optional[UUID] = None
- substitute_for_id: Optional[UUID] = None
- reason: Optional[str] = None
- class Config:
- from_attributes = True
- class SwapRequest(BaseModel):
- source_id: UUID
- target_id: UUID
- class SubstituteRequest(BaseModel):
- item_id: UUID
- new_staff_id: UUID
- reason: Optional[str] = None
- class StopClinicRequest(BaseModel):
- dept_id: UUID
- date: str
- reason: Optional[str] = None
|