feat: clinic and user table change

feat: centralized db error handler
fix: api responses
This commit is contained in:
2025-05-16 13:24:26 +05:30
parent 2efc09cf20
commit 30f51618fe
18 changed files with 338 additions and 80 deletions
+8
View File
@@ -5,11 +5,16 @@ from pydantic import BaseModel, EmailStr
from enums.enums import AppointmentStatus, ClinicDoctorStatus, ClinicDoctorType, ClinicUserRoles, UserType, Integration
class AuthBase(BaseModel):
email: EmailStr
password: str
# Base schemas (shared attributes for create/read operations)
class ClinicBase(BaseModel):
name: str
address: Optional[str] = None
phone: str
emergency_phone: Optional[str] = None
email: Optional[EmailStr] = None
integration: Integration
pms_id: str
@@ -31,6 +36,8 @@ class ClinicBase(BaseModel):
voice_model_gender: Optional[str] = None
scenarios: Optional[str] = None
general_info: Optional[str] = None
creator_id: Optional[int] = None
fax: Optional[str] = None
class DoctorBase(BaseModel):
@@ -70,6 +77,7 @@ class UserBase(BaseModel):
password: str
clinicRole: Optional[ClinicUserRoles] = None
userType: Optional[UserType] = None
mobile: str
class ClinicDoctorBase(BaseModel):
+6
View File
@@ -49,3 +49,9 @@ class CallTranscriptsCreate(CallTranscriptsBase):
class NotificationCreate(NotificationBase):
pass
class S3Create(BaseModel):
folder: str
file_name: str
clinic_id: Optional[str] = None
+3
View File
@@ -27,11 +27,14 @@ class UserResponse(UserBase):
create_time: datetime
update_time: datetime
password: str = Field(exclude=True)
created_clinics: Optional[List[Clinic]] = None
class Config:
orm_mode = True
from_attributes = True
allow_population_by_field_name = True
class Doctor(DoctorBase):
id: int
create_time: datetime