UNPKG

@botonic/plugin-flow-builder

Version:

Use Flow Builder to show your contents

62 lines 2.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isKnowledgeBasesAllowed = exports.isSmartIntentsAllowed = exports.isKeywordsAllowed = exports.inputHasTextData = exports.getValueFromKeyPath = exports.resolveGetAccessToken = void 0; const core_1 = require("@botonic/core"); const helpers_1 = require("./helpers"); const types_1 = require("./types"); function getAccessTokenFromSession(session) { if (!session._access_token) { throw new Error('No access token found in session'); } return session._access_token; } function resolveGetAccessToken(getAccessToken) { switch (process.env.NODE_ENV) { case types_1.ProcessEnvNodeEnvs.PRODUCTION: return getAccessTokenFromSession; case types_1.ProcessEnvNodeEnvs.DEVELOPMENT: return getAccessToken; default: throw new Error('No method defined for getting access token'); } } exports.resolveGetAccessToken = resolveGetAccessToken; function getValueFromKeyPath(request, keyPath) { if (keyPath.startsWith('input.') || keyPath.startsWith('session.')) { return keyPath .split('.') .reduce((object, key) => resolveObjectKey(object, key), request); } return keyPath .split('.') .reduce((object, key) => resolveObjectKey(object, key), request.session.user.extra_data); } exports.getValueFromKeyPath = getValueFromKeyPath; function resolveObjectKey(object, key) { if (object && object[key] !== undefined) { return object[key]; } return undefined; } function inputHasTextData(input) { return input.data !== undefined && input.type === core_1.INPUT.TEXT; } exports.inputHasTextData = inputHasTextData; function isNluAllowed(request, nluFlag) { const shadowing = Boolean(request.session._shadowing); const flowBuilderPlugin = (0, helpers_1.getFlowBuilderPlugin)(request.plugins); return !shadowing || (shadowing && flowBuilderPlugin.inShadowing[nluFlag]); } function isKeywordsAllowed(request) { return isNluAllowed(request, 'allowKeywords'); } exports.isKeywordsAllowed = isKeywordsAllowed; function isSmartIntentsAllowed(request) { return isNluAllowed(request, 'allowSmartIntents'); } exports.isSmartIntentsAllowed = isSmartIntentsAllowed; function isKnowledgeBasesAllowed(request) { return isNluAllowed(request, 'allowKnowledgeBases'); } exports.isKnowledgeBasesAllowed = isKnowledgeBasesAllowed; //# sourceMappingURL=utils.js.map