UNPKG

lexica-dialog-core

Version:
29 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const lodash_1 = require("lodash"); const immutable_1 = require("immutable"); const Api_1 = require("../Api"); const Utils_1 = require("../Utils"); const fileRequestMiddleware = async (context, next) => { const { uni, request, uniConfigs, intentRepository } = context; if (!lodash_1.isNil(request) && !lodash_1.isNil(request.fileUrl) && request.message === undefined && uniConfigs.has(Api_1.RunTimeConfig.FILE_REQUEST_COMMAND_NAME)) { const { locale } = request; const command = uniConfigs.get(Api_1.RunTimeConfig.FILE_REQUEST_COMMAND_NAME).value; const intent = await intentRepository.findByUniCommandName(uni, command); if (!lodash_1.isNil(intent)) { const responses = immutable_1.List(intent.responses.map(response => Utils_1.intentResponseToBotResponse(response, immutable_1.Map(), locale))); context.responses = immutable_1.List(responses.toArray().reduce((a, b) => a.concat(b), immutable_1.List())); } else { throw new Api_1.BotError(Api_1.BotErrorCode.INTENT_NOT_FOUND, 'Command not found: ' + command); } } else { await next(); } }; exports.default = fileRequestMiddleware; //# sourceMappingURL=FileRequestResponseMiddleware.js.map