UNPKG

coffee-core

Version:

Coffee IT API core library

34 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConsumeHandler = void 0; const class_transformer_1 = require("class-transformer"); const common_1 = require("@nestjs/common"); class ConsumeHandler { bindingKey; onConsume; messageClass; enableLogging; validationMiddleware; logger = new common_1.Logger(ConsumeHandler.name); constructor(bindingKey, onConsume, messageClass, enableLogging = true) { this.bindingKey = bindingKey; this.onConsume = onConsume; this.messageClass = messageClass; this.enableLogging = enableLogging; } async consume(message) { const transformedMessage = await (0, class_transformer_1.plainToClass)(this.messageClass, message); if (this.validationMiddleware) { await this.validationMiddleware.handle(transformedMessage, this.bindingKey); } if (this.enableLogging) { this.logger.debug(`Got an event on ${this.bindingKey} with payload: ${JSON.stringify(message, null, 2)}`); } await this.onConsume(transformedMessage); } setValidationMiddleware(middleware) { this.validationMiddleware = middleware; } } exports.ConsumeHandler = ConsumeHandler; //# sourceMappingURL=consume-handler.js.map