78 lines
1.3 KiB
Python
78 lines
1.3 KiB
Python
from .BaseSchemas import *
|
|
from datetime import datetime
|
|
from typing import Optional
|
|
from enums.enums import AppointmentStatus
|
|
|
|
|
|
# Create schemas (used for creating new records)
|
|
class ClinicCreate(ClinicBase):
|
|
pass
|
|
|
|
class CreateSuperAdmin(BaseModel):
|
|
username:str
|
|
email:EmailStr
|
|
|
|
|
|
class UpdateSuperAdmin(BaseModel):
|
|
username:str
|
|
|
|
class DoctorCreate(DoctorBase):
|
|
pass
|
|
|
|
|
|
class PatientCreate(PatientBase):
|
|
pass
|
|
|
|
|
|
class AppointmentCreate(AppointmentBase):
|
|
pass
|
|
|
|
|
|
class CalendarCreate(CalendarBase):
|
|
pass
|
|
|
|
|
|
class SignupPricingMasterCreate(SignupPricingMasterBase):
|
|
pass
|
|
|
|
|
|
class MasterAppointmentTypeCreate(MasterAppointmentTypeBase):
|
|
pass
|
|
|
|
|
|
class AppointmentCreateWithNames(BaseModel):
|
|
doctor_name: str
|
|
patient_name: str
|
|
appointment_time: datetime
|
|
status: AppointmentStatus = AppointmentStatus.CONFIRMED
|
|
|
|
|
|
class UserCreate(BaseModel):
|
|
# User data sent from frontend
|
|
user: UserBase
|
|
# Clinic data sent from frontend
|
|
clinic: ClinicBase
|
|
|
|
|
|
class ClinicDoctorCreate(BaseModel):
|
|
name: str
|
|
role: ClinicDoctorType
|
|
appointmentTypes: list[int]
|
|
|
|
|
|
class CallTranscriptsCreate(CallTranscriptsBase):
|
|
pass
|
|
|
|
|
|
class NotificationCreate(NotificationBase):
|
|
pass
|
|
|
|
|
|
class S3Create(BaseModel):
|
|
folder: str
|
|
file_name: str
|
|
clinic_id: Optional[str] = None
|
|
|
|
|
|
class ClinicOfferCreate(ClinicOffersBase):
|
|
pass |