nested inline schemas
This commit is contained in:
@@ -22,6 +22,7 @@ from models import (
|
||||
Parent, ParentCreate,
|
||||
Vet, VetCreate,
|
||||
Treatment, TreatmentCreate,
|
||||
Procedure, ProcedureNotes,
|
||||
Pet, PetCreate,
|
||||
Appointment, AppointmentCreate,
|
||||
)
|
||||
@@ -158,6 +159,7 @@ def create_treatment(payload: TreatmentCreate) -> Treatment:
|
||||
id=_treatments_next_id,
|
||||
label=payload.label,
|
||||
description=payload.description,
|
||||
procedures=payload.procedures,
|
||||
metadata={"createdOn": now, "updatedOn": now} if payload.metadata else None,
|
||||
)
|
||||
_treatments[_treatments_next_id] = treatment
|
||||
@@ -174,6 +176,7 @@ def update_treatment(treatment_id: int, payload: TreatmentCreate) -> Treatment:
|
||||
id=treatment_id,
|
||||
label=payload.label,
|
||||
description=payload.description if payload.description is not None else current.description,
|
||||
procedures=payload.procedures,
|
||||
metadata={"createdOn": current.metadata["createdOn"] if current.metadata else None, "updatedOn": now},
|
||||
)
|
||||
_treatments[treatment_id] = updated
|
||||
@@ -321,11 +324,21 @@ def _seed_data():
|
||||
_vets[3] = Vet(id=3, name="Emily Davis", specialty="General Practice", email="emily@clinic.com", phone="555-0203", metadata=meta)
|
||||
_vets_next_id = 4
|
||||
|
||||
_treatments[1] = Treatment(id=1, label="Annual Checkup", description="Full physical examination", metadata=meta)
|
||||
_treatments[2] = Treatment(id=2, label="Vaccination", description="Core vaccines for common diseases", metadata=meta)
|
||||
_treatments[3] = Treatment(id=3, label="Dental Cleaning", description="Scaling, polishing, and oral exam", metadata=meta)
|
||||
_treatments[4] = Treatment(id=4, label="Spay/Neuter", description="Surgical sterilization", metadata=meta)
|
||||
_treatments[5] = Treatment(id=5, label="Blood Panel", description="Complete blood count and chemistry", metadata=meta)
|
||||
_treatments[1] = Treatment(id=1, label="Annual Checkup", description="Full physical examination",
|
||||
procedures=[Procedure(name="Physical Exam", cost=50.0), Procedure(name="Heart Rate", notes=ProcedureNotes(summary="Normal rhythm"))],
|
||||
metadata=meta)
|
||||
_treatments[2] = Treatment(id=2, label="Vaccination", description="Core vaccines for common diseases",
|
||||
procedures=[Procedure(name="DHPP Vaccine", cost=35.0), Procedure(name="Rabies Vaccine", cost=45.0)],
|
||||
metadata=meta)
|
||||
_treatments[3] = Treatment(id=3, label="Dental Cleaning", description="Scaling, polishing, and oral exam",
|
||||
procedures=[Procedure(name="Scaling", cost=80.0), Procedure(name="Polishing", cost=40.0, notes=ProcedureNotes(summary="High-speed polish"))],
|
||||
metadata=meta)
|
||||
_treatments[4] = Treatment(id=4, label="Spay/Neuter", description="Surgical sterilization",
|
||||
procedures=[Procedure(name="Pre-op Exam", cost=30.0), Procedure(name="Surgery", cost=200.0), Procedure(name="Post-op Care", cost=50.0)],
|
||||
metadata=meta)
|
||||
_treatments[5] = Treatment(id=5, label="Blood Panel", description="Complete blood count and chemistry",
|
||||
procedures=[Procedure(name="CBC", cost=25.0), Procedure(name="Chemistry Panel", cost=60.0, notes=ProcedureNotes(summary="Fasting required"))],
|
||||
metadata=meta)
|
||||
_treatments_next_id = 6
|
||||
|
||||
_pets[1] = Pet(id=1, name="Max", species="dog", age=4, weight=25.5, birthDate=date(2022, 3, 15), parents=[_parents[1]], metadata=meta)
|
||||
|
||||
Reference in New Issue
Block a user