Files
task-stream/libs/api/identity/presenters
Josep Piguillem 71dc2d6f2d fix(api): typed OpenAPI query params and not-found messages that hide private projects
- Query DTO properties with a default value (limit, offset, days, perColumn,
  assignedToMe, search, archived, requiresReason, force) were documented as
  `object` in openapi.json, which broke generated clients. They now declare
  their type explicitly.
- Reading a private project, ticket, release or its comments without access
  answered "Project <internal id> not found", confirming the project exists.
  ReadAccess now reports what the caller asked for (e2e covered).

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

Adaptadores de entrada de identidad.

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

Contenido

  • auth/: AuthGuard global, @Public(), @OptionalAuth() / @ApiOptionalPireonAuth() (lecturas de proyectos públicos: sin token, el usuario es undefined), @CurrentUser(), @AccessToken(), @RequireAppRoles(), WsAuthenticator (subscriptions) y @ApiPireonAuth() (esquemas OAuth2 / Bearer de Pireon en OpenAPI).
  • http/: AuthController (GET /api/auth/config, POST /api/auth/token), UsersController (/api/users/me, directorio de Pireon) y PireonWebhookController (firma HMAC). Documentados con @nestjs/swagger.
  • graphql/: queries me, user y users.

Comandos

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

Reglas de dependencia entre capas: Arquitectura.