Files
task-stream/libs/api/tracker/presenters
Josep Piguillem feea58d0e8 feat: a public showcase of each project
A public endpoint sums up a public project for websites: epics with their
dates and progress, the latest releases with the notes of shipped ones,
the sprint under way and open tickets labelled good-first-issue.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 19:13:56 +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-presenters

API GraphQL y REST (OpenAPI) del tracker.

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

Contenido

  • Resolvers ProjectResolver, IssueResolver, CommentResolver, ReleaseResolver y SubscriptionResolver; solo llaman a services.
  • Tipos, inputs (con class-validator) y enums de GraphQL (code-first).
  • http/: controladores REST ProjectsController, IssuesController, CommentsController, ReleasesController (mismos services), DTOs con @nestjs/swagger y Refs (proyectos y tickets por id o clave; añade a cada ticket sus transiciones permitidas según el workflow de su proyecto).
  • ExploreController (GET /api/explore/projects, sin token). Las lecturas usan @OptionalAuth() y viewerOf(me) (null = anónimo) para servir proyectos públicos sin sesión.
  • common/settings.ts: configuración del proyecto con las transiciones como lista (lo que viaja por GraphQL y REST).

Operaciones disponibles: GraphQL y REST.

Comandos

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

Reglas de dependencia entre capas: Arquitectura.