- move templates into src/templates; renumber wiki pages; add app-components page - embed agentic build prompt as a copyable markdown block; add mermaid diagrams - build.py writes <name>/mcp; config static bundle -> standards/mcp - registry reads libraries.json as bytes (committed file was UTF-16LE); normalize to UTF-8 - Dockerfile: drop stale blog copy; per-repo <name>/mcp copies - drop nested standards/mcp/standards duplicate and empty root mcp/
33 lines
917 B
Python
33 lines
917 B
Python
"""# Summary
|
|
|
|
CRUD service wiring for the job aggregate via the hexa container.
|
|
"""
|
|
from hexa import build
|
|
|
|
from domain.job.models import Job
|
|
from domain.job.ports.db import JobDocument
|
|
from infra.adapters.service import CrudsServiceAdaptor
|
|
|
|
|
|
class JobCrudsService(CrudsServiceAdaptor[Job, JobDocument]):
|
|
"""Job CRUD service resolving :class:`JobDocument` from a repo.
|
|
|
|
Notes:
|
|
Instances are created by :func:`get_job_service`. The ``model`` and
|
|
``schema`` class attributes bind the domain model and its document type.
|
|
"""
|
|
|
|
model = Job
|
|
schema = JobDocument
|
|
|
|
|
|
def get_job_service(repo) -> JobCrudsService:
|
|
"""Build a job CRUD service wired to ``repo``.
|
|
|
|
Args:
|
|
repo (Any): Mongo-backed job repository from :func:`create_job_repo`.
|
|
|
|
Returns:
|
|
JobCrudsService: Ready-to-use job CRUD service.
|
|
"""
|
|
return build(JobCrudsService, instances={"repo": repo}) |