51 lines
1.2 KiB
Python
51 lines
1.2 KiB
Python
from .BaseSchemas import *
|
|
|
|
|
|
# Update schemas (all fields optional for partial updates)
|
|
class ClinicUpdate(BaseModel):
|
|
name: Optional[str] = None
|
|
address: Optional[str] = None
|
|
phone: Optional[str] = None
|
|
email: Optional[EmailStr] = None
|
|
|
|
|
|
class DoctorUpdate(BaseModel):
|
|
name: Optional[str] = None
|
|
age: Optional[int] = None
|
|
email: Optional[EmailStr] = None
|
|
phone: Optional[str] = None
|
|
address: Optional[str] = None
|
|
clinic_id: Optional[int] = None
|
|
|
|
|
|
class PatientUpdate(BaseModel):
|
|
name: Optional[str] = None
|
|
age: Optional[int] = None
|
|
email: Optional[EmailStr] = None
|
|
phone: Optional[str] = None
|
|
address: Optional[str] = None
|
|
|
|
|
|
class AppointmentUpdate(BaseModel):
|
|
doctor_id: Optional[int] = None
|
|
patient_id: Optional[int] = None
|
|
appointment_time: Optional[datetime] = None
|
|
status: Optional[AppointmentStatus] = None
|
|
|
|
|
|
class CalendarUpdate(BaseModel):
|
|
doc_id: Optional[int] = None
|
|
rrule: Optional[str] = None
|
|
|
|
|
|
class UserUpdate(BaseModel):
|
|
username: Optional[str] = None
|
|
clinicRole: Optional[ClinicUserRoles] = None
|
|
userType: Optional[UserType] = None
|
|
profile_pic: Optional[str] = None
|
|
password: Optional[str] = None
|
|
|
|
|
|
class ClinicDoctorUpdate(ClinicDoctorBase):
|
|
pass
|