Files
task-stream/libs/api/tracker/presenters
Josep Piguillem f45069a327 feat: a calendar to subscribe to, and the backlog's corners
- Each person can subscribe their dates in Google Calendar, Outlook or
  Apple Calendar: GET /api/calendar/{token}.ics (no session) brings
  their unfinished tickets with a due date (assigned or followed), the
  planned and running sprints and the planned releases of their
  projects, as all-day events linking to the web. The token is made,
  renewed or dropped under /me/calendar (and in GraphQL); in the web,
  from «Calendario» in «Mi trabajo».
- The backlog panel keeps the selected rows' background inside its
  rounded corners.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-14 22:48:33 +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.