80 lines
2.3 KiB
Python
80 lines
2.3 KiB
Python
from typing import Literal
|
|
from .BaseSchemas import *
|
|
from enums.enums import ClinicStatus, Integration
|
|
|
|
# Update schemas (all fields optional for partial updates)
|
|
class ClinicUpdate(BaseModel):
|
|
name: Optional[str] = None
|
|
address: Optional[str] = None
|
|
phone: Optional[str] = None
|
|
integration: Optional[Integration] = None
|
|
pms_id: Optional[str] = None
|
|
practice_name: Optional[str] = None
|
|
logo: Optional[str] = None
|
|
country: Optional[str] = None
|
|
postal_code: Optional[str] = None
|
|
city: Optional[str] = None
|
|
state: Optional[str] = None
|
|
abn_doc: Optional[str] = None
|
|
abn_number: Optional[str] = None
|
|
contract_doc: Optional[str] = None
|
|
clinic_phone: Optional[str] = None
|
|
is_clinic_phone_enabled: Optional[bool] = True
|
|
other_info: Optional[str] = None
|
|
greeting_msg: Optional[str] = None
|
|
voice_model: Optional[str] = None
|
|
voice_model_provider: Optional[str] = None
|
|
voice_model_gender: Optional[str] = None
|
|
scenarios: Optional[str] = None
|
|
general_info: Optional[str] = None
|
|
|
|
|
|
class ClinicStatusUpdate(BaseModel):
|
|
clinic_id: int
|
|
status: ClinicStatus
|
|
rejection_reason: Optional[str] = None
|
|
documentStatus: Optional[dict] = None
|
|
|
|
class SignupPricingMasterUpdate(SignupPricingMasterBase):
|
|
pass
|
|
|
|
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
|