Files
2026-10-03 13:40:26 +02:00
..
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00
2026-10-03 13:40:26 +02:00

api-tracker-domain

El modelo del producto: proyectos, tickets, comentarios y releases.

  • Import: @task-stream/api/tracker/domain
  • Capa: domain · Tags: scope:api-tracker, type:domain

Contenido

  • Agregados event-sourced: Project, Issue, Comment, Release. Validan en sus métodos y cambian de estado en on<Evento>.
  • events/: un fichero por evento (IssueCreatedEvent, IssueStatusChangedEvent…), todos con @AutowiredEvent.
  • factories/: ProjectFactory, IssueFactory, CommentFactory, ReleaseFactory (@Injectable()).
  • issue/issue-workflow.ts: transiciones de estado permitidas y estados que exigen motivo.
  • read-models/: forma de las vistas de lectura (ProjectReadModel, IssueReadModel…).

Reglas y workflow: API.

Comandos

npx nx lint api-tracker-domain
npx nx test api-tracker-domain    # Jest

Reglas de dependencia entre capas: Arquitectura.