@cleardu/rmq
Version:
Nest - modern, fast, powerful node.js web framework (@rmq)
37 lines (36 loc) • 1.28 kB
JavaScript
;
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);