- build.py: _TEMPLATE_COMPONENTS rewritten around the vet sample (53 kinds —
per-resource slices, jobs, worked appointment_reminder family, tests);
seed tokens dropped from the manifest ('sample: vet' instead)
- registry.py: get_app_component(kind) no longer renames item/example seeds;
prompts and tool docs updated to 'copy a slice and adapt'
- templates/README.md, 01_build_recipe, 40_ui_admin, wiki/03 updated off the
old seed scheme; repo inventory/config now exclude vet (docs move under
standards; react/vet itself is deleted in a later phase)
- regenerated MCP bundle, vendored templates, and site output
38 lines
1.1 KiB
Python
38 lines
1.1 KiB
Python
"""# Summary
|
|
|
|
Pets domain — animals owned by parents and treated in appointments.
|
|
"""
|
|
from typing import Literal
|
|
|
|
from pydantic import BaseModel
|
|
|
|
from domain.parents.models import Metadata
|
|
|
|
|
|
class Pet(BaseModel):
|
|
"""A pet patient.
|
|
|
|
Attributes:
|
|
id (int | None): Server-assigned identifier. Defaults to None.
|
|
name (str): Name of the pet.
|
|
species (str): Type of animal (dog, cat, bird).
|
|
age (int | None): Age in years. Defaults to None.
|
|
weight (float | None): Weight in kilograms. Defaults to None.
|
|
birthDate (str | None): ISO date of birth. Defaults to None.
|
|
photo (str | None): Stored photo path after upload. Defaults to None.
|
|
parents (list[dict]): Embedded parent objects (or bare ids on input).
|
|
metadata (Metadata | None): Presentation metadata. Defaults to None.
|
|
"""
|
|
|
|
id: int | None = None
|
|
name: str
|
|
species: Literal["dog", "cat", "bird"]
|
|
age: int | None = None
|
|
weight: float | None = None
|
|
birthDate: str | None = None
|
|
photo: str | None = None
|
|
parents: list[dict] = []
|
|
metadata: Metadata | None = None
|
|
|
|
model_config = {"extra": "ignore"}
|