# 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 ```sh npx nx lint api-identity-presenters npx nx test api-identity-presenters # Jest ``` Reglas de dependencia entre capas: [Arquitectura](../../../../docs/02-arquitectura.md#21-capas-hexagonales).