wingbot
Version:
Enterprise Messaging Bot Conversation Engine
43 lines (37 loc) • 1.09 kB
JavaScript
/**
* @author Vojtech Jedlicka
*/
;
const customCondition = require('./customCondition');
const customFn = require('./customFn');
/** @typedef {import('../BuildRouter').BotContext} BotContext */
/**
*
* @param {object} params
* @param {BotContext} context
* @param {string} description
* @returns {Function}
*/
module.exports = function getCondition (params, context, description = '') {
const {
allowForbiddenSnippetWords = false,
configuration
} = context;
const {
hasCondition = false,
conditionFn = '() => true',
hasEditableCondition = false,
editableCondition = []
} = params;
let condition = null;
if (hasCondition) {
if (hasEditableCondition) {
condition = customCondition(editableCondition, configuration, description);
} else {
condition = customFn(conditionFn, description, allowForbiddenSnippetWords);
}
} else {
condition = customFn('(req,res)=>true', description, allowForbiddenSnippetWords);
}
return condition;
};