UNPKG

@cleardu/rmq

Version:

Nest - modern, fast, powerful node.js web framework (@rmq)

37 lines (36 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.RmqService = void 0; const tslib_1 = require("tslib"); const common_1 = require("@nestjs/common"); const config_1 = require("@nestjs/config"); const microservices_1 = require("@nestjs/microservices"); let RmqService = class RmqService { constructor(configService) { this.configService = configService; } // Method to get RMQ options based on provided parameters getOptions(queue, noAck = false, persistent = true, prefetchCount = 1) { return { transport: microservices_1.Transport.RMQ, options: { urls: [this.configService.get('RABBIT_MQ_URI') ?? ''], queue: `${queue}_QUEUE`, noAck, persistent, prefetchCount, }, }; } // Method to acknowledge an RMQ message ack(context) { const channel = context.getChannelRef(); const originalMessage = context.getMessage(); channel.ack(originalMessage); } }; exports.RmqService = RmqService; exports.RmqService = RmqService = tslib_1.__decorate([ (0, common_1.Injectable)(), tslib_1.__metadata("design:paramtypes", [config_1.ConfigService]) ], RmqService);