Skip to main content

Decoradores

Ubicados en src/app/core/decorators/.

@Auth()

Aplica AuthGuard al endpoint. Equivalente a @UseGuards(AuthGuard) pero más legible.

@Auth()
@Get('profile')
getProfile() { ... }

@ApiKeyAuth()

Aplica ApiKeyGuard. Para endpoints consumidos por clientes externos.

@ApiKeyAuth()
@Post('webhook')
receiveWebhook() { ... }

@CurrentUser()

Extrae el usuario autenticado de request.user. Usado dentro de controladores protegidos por @Auth().

@Auth()
@Get('me')
getMe(@CurrentUser() user: UserInterface) {
return user;
}

@Lang()

Extrae la preferencia de idioma del request (header Accept-Language o query param). Usado para internacionalización de mensajes de respuesta.

@Get('labels')
getLabels(@Lang() lang: string) { ... }

@CatchWebSocket()

Decorador de manejo de errores para eventos WebSocket. Captura excepciones en los handlers del gateway y las convierte al formato de error estándar del WS.

// En ChatGateway
@CatchWebSocket()
@SubscribeMessage('send_message')
handleSendMessage(@MessageBody() dto: SendMessageDto) { ... }