Files
docs/standards/mcp/templates/app/domain/parents/ports/service.py
Vishesh 'ironeagle' Bangotra 0cb35d10a6 Phase 7: serve the vet sample from the template tools and docs
- 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
2026-10-20 14:58:17 +05:30

34 lines
981 B
Python

"""# Summary
CRUD service wiring for the parent aggregate via the hexa container.
"""
from hexa import build
from domain.parents.models import Parent
from domain.parents.ports.db import ParentDocument
from infra.adapters.service import CrudsServiceAdaptor
class ParentCrudsService(CrudsServiceAdaptor[Parent, ParentDocument]):
"""Parent CRUD service resolving :class:`ParentDocument` from a repo.
Notes:
Instances are created by :func:`get_parent_service`. The ``model`` and
``schema`` class attributes bind the domain model and its document type.
"""
model = Parent
schema = ParentDocument
def get_parent_service(repo) -> ParentCrudsService:
"""Build a parent CRUD service wired to ``repo``.
Args:
repo (Any): Integer-id parent repository from :func:`create_parent_repo`.
Returns:
ParentCrudsService: Ready-to-use parent CRUD service.
"""
return build(ParentCrudsService, instances={"repo": repo})