From 808ffa8fed784593d83ea43b83afec95502a593e Mon Sep 17 00:00:00 2001 From: Vishesh 'ironeagle' Bangotra Date: Tue, 16 Jun 2026 18:02:59 +0530 Subject: [PATCH] seed data --- openapi_first/templates/vet_app/data.py | 47 ++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/openapi_first/templates/vet_app/data.py b/openapi_first/templates/vet_app/data.py index 5fc25b1..cb07b97 100644 --- a/openapi_first/templates/vet_app/data.py +++ b/openapi_first/templates/vet_app/data.py @@ -16,7 +16,7 @@ This module intentionally avoids: This module is not part of the ``openapi_first`` library API surface. """ -from datetime import datetime, timezone +from datetime import date, datetime, timezone from models import ( Parent, ParentCreate, @@ -274,3 +274,48 @@ def update_appointment(appointment_id: int, payload: AppointmentCreate) -> Appoi def delete_appointment(appointment_id: int) -> None: del _appointments[appointment_id] + + +# --------------------------------------------------------------------------- +# Seed data — populate stores so the UI isn't empty on startup +# --------------------------------------------------------------------------- + +def _seed_data(): + now = _now() + meta = {"createdOn": now, "updatedOn": now} + global _parents_next_id, _vets_next_id, _treatments_next_id + global _pets_next_id, _appointments_next_id + + _parents[1] = Parent(id=1, name="Alice Johnson", email="alice@example.com", phone="555-0101", metadata=meta) + _parents[2] = Parent(id=2, name="Bob Smith", email="bob@example.com", phone="555-0102", metadata=meta) + _parents[3] = Parent(id=3, name="Carol Williams", email="carol@example.com", phone="555-0103", metadata=meta) + _parents[4] = Parent(id=4, name="Dave Brown", email="dave@example.com", phone="555-0104", metadata=meta) + _parents_next_id = 5 + + _vets[1] = Vet(id=1, name="Sarah Connor", specialty="Surgery", email="sarah@clinic.com", phone="555-0201", metadata=meta) + _vets[2] = Vet(id=2, name="James Wilson", specialty="Dentistry", email="james@clinic.com", phone="555-0202", metadata=meta) + _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_next_id = 6 + + _pets[1] = Pet(id=1, name="Max", species="dog", age=4, weight=25.5, birthDate=date(2022, 3, 15), parent_ids=[1], metadata=meta) + _pets[2] = Pet(id=2, name="Luna", species="cat", age=2, weight=4.2, birthDate=date(2024, 1, 10), parent_ids=[1, 2], metadata=meta) + _pets[3] = Pet(id=3, name="Charlie", species="dog", age=7, weight=18.0, birthDate=date(2019, 8, 22), parent_ids=[2], metadata=meta) + _pets[4] = Pet(id=4, name="Bella", species="bird", age=1, weight=0.3, birthDate=date(2025, 5, 1), parent_ids=[3], metadata=meta) + _pets[5] = Pet(id=5, name="Rocky", species="dog", age=3, weight=30.0, birthDate=date(2023, 11, 5), parent_ids=[4], metadata=meta) + _pets_next_id = 6 + + _appointments[1] = Appointment(id=1, date=datetime(2026, 6, 18, 9, 0, tzinfo=timezone.utc), notes="Annual checkup", pet_id=1, vet_id=1, treatment_id=1, metadata=meta) + _appointments[2] = Appointment(id=2, date=datetime(2026, 6, 18, 10, 30, tzinfo=timezone.utc), notes="Dental cleaning", pet_id=2, vet_id=2, treatment_id=3, metadata=meta) + _appointments[3] = Appointment(id=3, date=datetime(2026, 6, 19, 11, 0, tzinfo=timezone.utc), notes="Vaccination booster", pet_id=3, vet_id=3, treatment_id=2, metadata=meta) + _appointments[4] = Appointment(id=4, date=datetime(2026, 6, 20, 14, 0, tzinfo=timezone.utc), notes="Follow-up after surgery", pet_id=5, vet_id=1, treatment_id=4, metadata=meta) + _appointments_next_id = 5 + + +_seed_data()