@botonic/plugin-flow-builder
Version:
Use Flow Builder to show your contents
31 lines • 1.59 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getContentsByFallback = void 0;
const tslib_1 = require("tslib");
const tracking_1 = require("../tracking");
function getContentsByFallback({ cmsApi, flowBuilderPlugin, request, }) {
return tslib_1.__awaiter(this, void 0, void 0, function* () {
const fallbackNode = yield getFallbackNode(cmsApi, request);
const fallbackContents = yield flowBuilderPlugin.getContentsByNode(fallbackNode);
return fallbackContents;
});
}
exports.getContentsByFallback = getContentsByFallback;
function getFallbackNode(cmsApi, request) {
var _a;
return tslib_1.__awaiter(this, void 0, void 0, function* () {
if (((_a = request.session.user.extra_data) === null || _a === void 0 ? void 0 : _a.isFirstFallbackOption) === undefined) {
request.session.user.extra_data = Object.assign(Object.assign({}, request.session.user.extra_data), { isFirstFallbackOption: true });
}
const isFirstFallbackOption = !!request.session.user.extra_data.isFirstFallbackOption;
const fallbackNode = cmsApi.getFallbackNode(isFirstFallbackOption);
request.session.user.extra_data.isFirstFallbackOption = !isFirstFallbackOption;
yield (0, tracking_1.trackEvent)(request, tracking_1.EventAction.Fallback, {
userInput: request.input.data,
fallbackOut: isFirstFallbackOption ? 1 : 2,
fallbackMessageId: request.input.message_id,
});
return fallbackNode;
});
}
//# sourceMappingURL=fallback.js.map