@tresdoce-nestjs-toolkit/aws-sqs
Version:
Tresdoce NestJS Toolkit - Módulo de cola de mensajes de AWS Simple Queue Service
21 lines (20 loc) • 871 B
JavaScript
import { SetMetadata } from '@nestjs/common';
import { AWS_SQS_MESSAGE_HANDLER } from '../constants/aws-sqs.constant';
/**
* A decorator to mark a method as an AWS SQS message handler for a specific queue.
* The decorated method will be invoked whenever a message is received from the specified queue.
*
* @param queueName The logical name of the queue to handle messages from.
* @returns A method decorator that registers the queue name as metadata.
*
* @example
* import { AwsSqsMessageHandler } from './decorators/aws-sqs-message-handler.decorator';
*
* class OrdersController {
* @AwsSqsMessageHandler('orders')
* async handleOrderMessage(message: any): Promise<void> {
* console.log(`Processing order message: ${message.Body}`);
* }
* }
*/
export const AwsSqsMessageHandler = (queueName) => SetMetadata(AWS_SQS_MESSAGE_HANDLER, queueName);