UNPKG

lexica-dialog-core

Version:
33 lines 1.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const Message_1 = require("lexica-dialog-model/dist/Message"); const responseMessageLoggingMiddleware = async (context, next) => { await next(); const { uni, messenger, request, sessionService, messageRepository, logger, responses, rawResponses, issue, } = context; if (!lodash_1.isNil(request) && !lodash_1.isNil(sessionService) && !lodash_1.isNil(responses) && !lodash_1.isNil(rawResponses)) { let promises; const baseResponseMessage = { date: new Date(), issueId: !lodash_1.isNil(issue) ? issue.id : undefined, messenger: messenger.name, senderId: request.senderId, sessionId: sessionService.getSessionId(), type: Message_1.MessageType.RESPONSE, uni, }; if (responses.size === rawResponses.size) { promises = Promise.all(responses.toArray().map((response, index) => { return messageRepository.create(Object.assign({}, baseResponseMessage, { rawResponse: rawResponses.get(index), response })); })); } else { promises = Promise.all(responses.toArray().map((response, index) => { return messageRepository.create(Object.assign({}, baseResponseMessage, { rawResponse: rawResponses.toObject(), response })); })); } promises.catch(err => logger.error('Create response message with error', err)); } }; exports.default = responseMessageLoggingMiddleware; //# sourceMappingURL=ResponseMessageLoggingMiddleware.js.map