Renumber the 15 reference docs into pillar groups (recipe -> anatomy): - 01 Build Recipe (entry), 02 Composition Root - domains: 10 Layering Rules - contract: 20 Spec-First Routing, 21 CRUD Template, 22 Auth Integration - interfaces/infra: 30 Infra Adapters - UI: 40 UI: Auto-Rendered Admin & Custom Pages (new; @aetoskia packages, client template, x- catalog via react-openapi MCP module) - pipelines: 50 Pipeline Scaffold, 51 Worker & Progress, 52 Human-in-the-Loop - delivery/meta: 90 Drone Pipelines, 91 Versioning & Changelog, 92 Genericity Matrix, 93 Library Registry, 94 Repository Inventory MCP module names are unchanged (NN_ prefix stripped); all cross-references (wiki, templates, hooks, registry) updated; lib index rewritten pillar-first; build recipe bootstraps the client template. Bundle + HTML sites regenerated.
26 lines
693 B
Python
26 lines
693 B
Python
"""# Summary
|
|
|
|
Items persistence ports — integer-id document and repository factory.
|
|
"""
|
|
from mongo_ops import BaseDocument
|
|
from pydantic import Field
|
|
|
|
from domain.item.models import Item
|
|
from infra.db.repos import create_repo
|
|
|
|
|
|
class ItemDocument(Item, BaseDocument):
|
|
"""Persisted item document. The integer ``id`` shadows the ObjectId."""
|
|
|
|
id: int | None = Field(default=None, validation_alias="_id")
|
|
|
|
|
|
def create_item_repo():
|
|
"""Create the item repository selected by ``settings.repo_backend``.
|
|
|
|
Returns:
|
|
IntIdMemoryRepository | IntIdMongoRepository: Repository wired to the
|
|
``items`` collection/store.
|
|
"""
|
|
return create_repo("items", ItemDocument)
|