Tickets get a start date next to their due date, both editable on the ticket page. The Hoja de ruta tab lays the epics out over the months as bars filled with their progress, with sprints and releases as landmarks and a line for today. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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 enon<Evento>. events/: un fichero por evento (IssueCreatedEvent,IssueStatusChangedEvent…), todos con@AutowiredEvent.- Proyectos públicos (
Project.isPublic) y borrado:Project.delete(propietario, confirmando la clave),Issue.delete,Release.delete(los usa la cascada);SYSTEM_ACTOR_IDpara cambios que no hace una persona. factories/:ProjectFactory,IssueFactory,CommentFactory,ReleaseFactory(@Injectable()).project/project-settings.ts: configuración por proyecto (estados con categoría, transiciones, tipos, áreas), sus valores por defecto,ProjectWorkflow(lo que consultan tickets y queries) yvalidateProjectSettings(archivar, nunca borrar).read-models/: forma de las vistas de lectura (ProjectReadModel,IssueReadModel…), incluida la línea temporal de los tickets y las estadísticas (analytics.read-model.ts).
Reglas y workflow: API.
Comandos
npx nx lint api-tracker-domain
npx nx test api-tracker-domain # Jest
Reglas de dependencia entre capas: Arquitectura.