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) { ... }