Files
task-stream/libs/api/tracker/presenters
Josep Piguillem dfb5f973f4 feat: «Mi día», the few tickets I pick for today
A home panel with the tickets picked for today (10 at most), crossed out
as they get done and counted («1 de 3 terminados»), my open tickets to
add with one click, and what was left unfinished on my last day to carry
over. «☀ Mi día» on a ticket adds it or takes it out. The day is the
person's own (YYYY-MM-DD from the browser); private, no history (Mongo
`my_days`).

API: myDay(day), addToMyDay, removeFromMyDay; GET /api/me/day,
PUT/DELETE /api/me/day/{issue}. MCP: my_day.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 20:18:10 +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.