UNPKG

lexica-dialog-core

Version:
42 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const Message_1 = require("lexica-dialog-model/dist/Message"); const requestMessageLoggingMiddleware = async (context, next) => { const { uni, messenger, request, sessionService, messageRepository, issueRepository, logger, rawRequest, commands, issue, } = context; if (!lodash_1.isNil(request) && !lodash_1.isNil(sessionService)) { const date = new Date(); let logRequest; if (request.type === Message_1.RequestType.TEXT) { logRequest = { message: lodash_1.defaultTo(request.message, ''), type: Message_1.RequestType.TEXT, }; } else { logRequest = { contentType: lodash_1.defaultTo(request.fileContentType, ''), path: lodash_1.defaultTo(request.fileStoredPath, ''), type: request.type, }; } context.requestMessage = (await messageRepository.create({ date, issueId: !lodash_1.isNil(issue) ? issue.id : undefined, messenger: messenger.name, rawRequest, request: logRequest, senderId: request.senderId, sessionId: sessionService.getSessionId(), type: Message_1.MessageType.REQUEST, uni, })); if (!lodash_1.isNil(issue)) { issue.lastUpdatedDate = date; context.issue = await issueRepository.save(issue); } } await next(); }; exports.default = requestMessageLoggingMiddleware; //# sourceMappingURL=RequestMessageLoggingMiddleware.js.map