@botonic/plugin-flow-builder 0.25.0-alpha.3 → 0.25.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/action/index.js +26 -21
- package/lib/cjs/action/index.js.map +1 -1
- package/lib/cjs/action/intent.js +10 -6
- package/lib/cjs/action/intent.js.map +1 -1
- package/lib/cjs/action/keyword.js +9 -5
- package/lib/cjs/action/keyword.js.map +1 -1
- package/lib/cjs/action/knowledge-bases.js +15 -11
- package/lib/cjs/action/knowledge-bases.js.map +1 -1
- package/lib/cjs/action/tracking.js +11 -7
- package/lib/cjs/action/tracking.js.map +1 -1
- package/lib/cjs/action/user-input.js +11 -7
- package/lib/cjs/action/user-input.js.map +1 -1
- package/lib/cjs/api.js +19 -15
- package/lib/cjs/api.js.map +1 -1
- package/lib/cjs/constants.js +6 -3
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/content-fields/content-fields-base.js +5 -1
- package/lib/cjs/content-fields/content-fields-base.js.map +1 -1
- package/lib/cjs/content-fields/flow-button.js +14 -10
- package/lib/cjs/content-fields/flow-button.js.map +1 -1
- package/lib/cjs/content-fields/flow-carousel.js +11 -7
- package/lib/cjs/content-fields/flow-carousel.js.map +1 -1
- package/lib/cjs/content-fields/flow-element.js +11 -7
- package/lib/cjs/content-fields/flow-element.js.map +1 -1
- package/lib/cjs/content-fields/flow-handoff.js +17 -13
- package/lib/cjs/content-fields/flow-handoff.js.map +1 -1
- package/lib/cjs/content-fields/flow-image.js +9 -5
- package/lib/cjs/content-fields/flow-image.js.map +1 -1
- package/lib/cjs/content-fields/flow-text.js +16 -12
- package/lib/cjs/content-fields/flow-text.js.map +1 -1
- package/lib/cjs/content-fields/flow-video.js +9 -5
- package/lib/cjs/content-fields/flow-video.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/bot-action.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/button.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/carousel.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/common.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/fallback.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/function.js +5 -2
- package/lib/cjs/content-fields/hubtype-fields/function.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/go-to-flow.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/handoff.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/image.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/index.js +21 -18
- package/lib/cjs/content-fields/hubtype-fields/index.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/intent.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/keyword.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/node-types.js +9 -6
- package/lib/cjs/content-fields/hubtype-fields/node-types.js.map +1 -1
- package/lib/cjs/content-fields/hubtype-fields/nodes.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/payload.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/text.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/url.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/video.js +2 -1
- package/lib/cjs/content-fields/hubtype-fields/whatsapp-button-list.js +2 -1
- package/lib/cjs/content-fields/index.js +21 -10
- package/lib/cjs/content-fields/index.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js +8 -4
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-row.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js +8 -4
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list-section.js.map +1 -1
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js +11 -7
- package/lib/cjs/content-fields/whatsapp-button-list/flow-whatsapp-button-list.js.map +1 -1
- package/lib/cjs/functions/conditional-provider.js +5 -1
- package/lib/cjs/functions/conditional-provider.js.map +1 -1
- package/lib/cjs/functions/conditional-queue-status.js +12 -7
- package/lib/cjs/functions/conditional-queue-status.js.map +1 -1
- package/lib/cjs/functions/index.js +8 -5
- package/lib/cjs/functions/index.js.map +1 -1
- package/lib/cjs/helpers.js +5 -1
- package/lib/cjs/helpers.js.map +1 -1
- package/lib/cjs/index.js +39 -36
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.js +5 -2
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/utils.js +8 -4
- package/lib/cjs/utils.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FlowWhatsappButtonList = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const react_1 = require("@botonic/react");
|
|
6
|
+
const content_fields_base_1 = require("./../content-fields-base");
|
|
7
|
+
const flow_whatsapp_button_list_section_1 = require("./flow-whatsapp-button-list-section");
|
|
8
|
+
class FlowWhatsappButtonList extends content_fields_base_1.ContentFieldsBase {
|
|
6
9
|
constructor() {
|
|
7
10
|
super(...arguments);
|
|
8
11
|
this.code = '';
|
|
@@ -15,11 +18,12 @@ export class FlowWhatsappButtonList extends ContentFieldsBase {
|
|
|
15
18
|
newWhatsappButtonList.code = component.code;
|
|
16
19
|
newWhatsappButtonList.text = this.getTextByLocale(locale, component.content.text);
|
|
17
20
|
newWhatsappButtonList.listButtonText = this.getTextByLocale(locale, component.content.button_text);
|
|
18
|
-
newWhatsappButtonList.sections = component.content.sections.map(section => FlowWhatsappButtonListSection.fromHubtypeCMS(section, locale));
|
|
21
|
+
newWhatsappButtonList.sections = component.content.sections.map(section => flow_whatsapp_button_list_section_1.FlowWhatsappButtonListSection.fromHubtypeCMS(section, locale));
|
|
19
22
|
return newWhatsappButtonList;
|
|
20
23
|
}
|
|
21
24
|
toBotonic(id) {
|
|
22
|
-
return (
|
|
25
|
+
return ((0, jsx_runtime_1.jsx)(react_1.WhatsappButtonList, { body: this.text, button: this.listButtonText, sections: this.sections.map((section, sectionIndex) => section.toBotonic(sectionIndex)) }, id));
|
|
23
26
|
}
|
|
24
27
|
}
|
|
28
|
+
exports.FlowWhatsappButtonList = FlowWhatsappButtonList;
|
|
25
29
|
//# sourceMappingURL=flow-whatsapp-button-list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-whatsapp-button-list.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flow-whatsapp-button-list.js","sourceRoot":"","sources":["../../../../src/content-fields/whatsapp-button-list/flow-whatsapp-button-list.tsx"],"names":[],"mappings":";;;;AAAA,0CAAmD;AAInD,kEAA4D;AAC5D,2FAAmF;AAEnF,MAAa,sBAAuB,SAAQ,uCAAiB;IAA7D;;QACS,SAAI,GAAG,EAAE,CAAA;QACT,SAAI,GAAG,EAAE,CAAA;QACT,mBAAc,GAAG,EAAE,CAAA;QACnB,aAAQ,GAAoC,EAAE,CAAA;IAkCvD,CAAC;IAhCC,MAAM,CAAC,cAAc,CACnB,SAAmC,EACnC,MAAc;QAEd,MAAM,qBAAqB,GAAG,IAAI,sBAAsB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QACtE,qBAAqB,CAAC,IAAI,GAAG,SAAS,CAAC,IAAI,CAAA;QAC3C,qBAAqB,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAC/C,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,IAAI,CACvB,CAAA;QACD,qBAAqB,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CACzD,MAAM,EACN,SAAS,CAAC,OAAO,CAAC,WAAW,CAC9B,CAAA;QACD,qBAAqB,CAAC,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxE,iEAA6B,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAC9D,CAAA;QACD,OAAO,qBAAqB,CAAA;IAC9B,CAAC;IAED,SAAS,CAAC,EAAU;QAClB,OAAO,CACL,uBAAC,0BAAkB,IAEjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,cAAc,EAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,CACpD,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,CAChC,IALI,EAAE,CAMa,CACvB,CAAA;IACH,CAAC;CACF;AAtCD,wDAsCC"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.conditionalProvider = void 0;
|
|
4
|
+
function conditionalProvider({ request, results, }) {
|
|
2
5
|
const provider = request.session.user.provider;
|
|
3
6
|
if (results.includes(provider))
|
|
4
7
|
return provider;
|
|
5
8
|
return 'default';
|
|
6
9
|
}
|
|
10
|
+
exports.conditionalProvider = conditionalProvider;
|
|
7
11
|
//# sourceMappingURL=conditional-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-provider.js","sourceRoot":"","sources":["../../../src/functions/conditional-provider.ts"],"names":[],"mappings":"AAOA,
|
|
1
|
+
{"version":3,"file":"conditional-provider.js","sourceRoot":"","sources":["../../../src/functions/conditional-provider.ts"],"names":[],"mappings":";;;AAOA,SAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,GACiB;IACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAA;IAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAA;IAC/C,OAAO,SAAS,CAAA;AAClB,CAAC;AAPD,kDAOC"}
|
|
@@ -1,16 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getQueueAvailability = exports.conditionalQueueStatus = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
3
6
|
const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
|
|
4
|
-
|
|
5
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
7
|
+
function conditionalQueueStatus({ queue_id, }) {
|
|
8
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
6
9
|
const data = yield getQueueAvailability(queue_id);
|
|
7
10
|
const isAvailable = data.available;
|
|
8
11
|
return isAvailable ? 'open' : 'closed';
|
|
9
12
|
});
|
|
10
13
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
exports.conditionalQueueStatus = conditionalQueueStatus;
|
|
15
|
+
function getQueueAvailability(queueId) {
|
|
16
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const response = yield axios_1.default.get(`${HUBTYPE_API_URL}/public/v1/queues/${queueId}/availability/`,
|
|
14
18
|
// TODO: Make it configurable in the future
|
|
15
19
|
{
|
|
16
20
|
params: {
|
|
@@ -22,4 +26,5 @@ export function getQueueAvailability(queueId) {
|
|
|
22
26
|
return response.data;
|
|
23
27
|
});
|
|
24
28
|
}
|
|
29
|
+
exports.getQueueAvailability = getQueueAvailability;
|
|
25
30
|
//# sourceMappingURL=conditional-queue-status.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":";;;;AACA,0DAAyB;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAQhF,SAAsB,sBAAsB,CAAC,EAC3C,QAAQ,GACmB;;QAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAA;QAClC,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;IACxC,CAAC;CAAA;AAND,wDAMC;AAWD,SAAsB,oBAAoB,CACxC,OAAe;;QAEf,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,OAAO,gBAAgB;QAC9D,2CAA2C;QAC3C;YACE,MAAM,EAAE;gBACN,oBAAoB,EAAE,IAAI;gBAC1B,mBAAmB,EAAE,KAAK;gBAC1B,sBAAsB,EAAE,KAAK;aAC9B;SACF,CACF,CAAA;QACD,OAAO,QAAQ,CAAC,IAAI,CAAA;IACtB,CAAC;CAAA;AAfD,oDAeC"}
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_FUNCTIONS = void 0;
|
|
4
|
+
const conditional_provider_1 = require("./conditional-provider");
|
|
5
|
+
const conditional_queue_status_1 = require("./conditional-queue-status");
|
|
6
|
+
exports.DEFAULT_FUNCTIONS = {
|
|
4
7
|
// TODO: Rename api action name
|
|
5
|
-
'check-queue-status': conditionalQueueStatus,
|
|
6
|
-
'get-channel-type': conditionalProvider,
|
|
8
|
+
'check-queue-status': conditional_queue_status_1.conditionalQueueStatus,
|
|
9
|
+
'get-channel-type': conditional_provider_1.conditionalProvider,
|
|
7
10
|
};
|
|
8
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/functions/index.ts"],"names":[],"mappings":";;;AAAA,iEAA4D;AAC5D,yEAAmE;AAEtD,QAAA,iBAAiB,GAAG;IAC/B,+BAA+B;IAC/B,oBAAoB,EAAE,iDAAsB;IAC5C,kBAAkB,EAAE,0CAAmB;CACxC,CAAA"}
|
package/lib/cjs/helpers.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFlowBuilderPlugin = void 0;
|
|
1
4
|
const FLOW_BUILDER_PLUGIN_NAME = 'BotonicPluginFlowBuilder';
|
|
2
|
-
|
|
5
|
+
function getFlowBuilderPlugin(plugins) {
|
|
3
6
|
const flowBuilderPlugin = Object.values(plugins).find(
|
|
4
7
|
// @ts-ignore
|
|
5
8
|
plugin => plugin.name.includes(FLOW_BUILDER_PLUGIN_NAME));
|
|
@@ -7,4 +10,5 @@ export function getFlowBuilderPlugin(plugins) {
|
|
|
7
10
|
throw new Error(`You must include '@botonic/plugin-flow-builder' in your plugins file.`);
|
|
8
11
|
return flowBuilderPlugin;
|
|
9
12
|
}
|
|
13
|
+
exports.getFlowBuilderPlugin = getFlowBuilderPlugin;
|
|
10
14
|
//# sourceMappingURL=helpers.js.map
|
package/lib/cjs/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAIA,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAE3D,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAIA,MAAM,wBAAwB,GAAG,0BAA0B,CAAA;AAE3D,SAAgB,oBAAoB,CAAC,OAEpC;IACC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI;IACnD,aAAa;IACb,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAC7B,CAAA;IAC7B,IAAI,CAAC,iBAAiB;QACpB,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAA;IACH,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAZD,oDAYC"}
|
package/lib/cjs/index.js
CHANGED
|
@@ -1,28 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const user_input_1 = require("./action/user-input");
|
|
5
|
+
const api_1 = require("./api");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
7
|
+
const content_fields_1 = require("./content-fields");
|
|
8
|
+
const hubtype_fields_1 = require("./content-fields/hubtype-fields");
|
|
9
|
+
const functions_1 = require("./functions");
|
|
10
|
+
const utils_1 = require("./utils");
|
|
11
|
+
class BotonicPluginFlowBuilder {
|
|
10
12
|
constructor(options) {
|
|
11
13
|
this.options = options;
|
|
12
14
|
this.flowUrl = options.flowUrl;
|
|
13
15
|
this.flow = options.flow;
|
|
14
16
|
this.getLocale = options.getLocale;
|
|
15
|
-
this.getAccessToken = resolveGetAccessToken(options);
|
|
17
|
+
this.getAccessToken = (0, utils_1.resolveGetAccessToken)(options);
|
|
16
18
|
this.trackEvent = options.trackEvent;
|
|
17
19
|
this.getKnowledgeBaseResponse = options.getKnowledgeBaseResponse;
|
|
18
20
|
const customFunctions = options.customFunctions || {};
|
|
19
|
-
this.functions = Object.assign(Object.assign({}, DEFAULT_FUNCTIONS), customFunctions);
|
|
21
|
+
this.functions = Object.assign(Object.assign({}, functions_1.DEFAULT_FUNCTIONS), customFunctions);
|
|
20
22
|
}
|
|
21
23
|
pre(request) {
|
|
22
24
|
var _a;
|
|
23
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
24
26
|
this.currentRequest = request;
|
|
25
|
-
this.cmsApi = yield FlowBuilderApi.create({
|
|
27
|
+
this.cmsApi = yield api_1.FlowBuilderApi.create({
|
|
26
28
|
url: this.flowUrl,
|
|
27
29
|
flow: this.flow,
|
|
28
30
|
accessToken: this.getAccessToken(request.session),
|
|
@@ -32,37 +34,37 @@ export default class BotonicPluginFlowBuilder {
|
|
|
32
34
|
!request.input.payload &&
|
|
33
35
|
!request.session.is_first_interaction;
|
|
34
36
|
if (checkUserTextInput) {
|
|
35
|
-
const nodeByUserInput = yield getNodeByUserInput(this.cmsApi, this.getLocale(request.session), request);
|
|
37
|
+
const nodeByUserInput = yield (0, user_input_1.getNodeByUserInput)(this.cmsApi, this.getLocale(request.session), request);
|
|
36
38
|
request.input.payload = this.cmsApi.getPayload(nodeByUserInput === null || nodeByUserInput === void 0 ? void 0 : nodeByUserInput.target);
|
|
37
39
|
}
|
|
38
40
|
if (request.input.payload) {
|
|
39
|
-
request.input.payload = (_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.split(SOURCE_INFO_SEPARATOR)[0];
|
|
41
|
+
request.input.payload = (_a = request.input.payload) === null || _a === void 0 ? void 0 : _a.split(constants_1.SOURCE_INFO_SEPARATOR)[0];
|
|
40
42
|
}
|
|
41
43
|
});
|
|
42
44
|
}
|
|
43
45
|
getContentsByCode(code, locale, prevContents) {
|
|
44
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
45
47
|
const node = this.cmsApi.getNodeByCode(code);
|
|
46
48
|
return yield this.getContentsByNode(node, locale, prevContents);
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
51
|
getContentsById(id, locale, prevContents) {
|
|
50
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
52
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
51
53
|
const node = this.cmsApi.getNodeById(id);
|
|
52
54
|
return yield this.getContentsByNode(node, locale, prevContents);
|
|
53
55
|
});
|
|
54
56
|
}
|
|
55
57
|
getStartContents(locale) {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
58
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
57
59
|
const startNode = this.cmsApi.getStartNode();
|
|
58
60
|
return yield this.getContentsByNode(startNode, locale);
|
|
59
61
|
});
|
|
60
62
|
}
|
|
61
63
|
getContentsByNode(node, locale, prevContents) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
63
65
|
const contents = prevContents || [];
|
|
64
66
|
const content = this.getFlowContent(node, locale);
|
|
65
|
-
if (node.type === HtNodeWithContentType.FUNCTION) {
|
|
67
|
+
if (node.type === hubtype_fields_1.HtNodeWithContentType.FUNCTION) {
|
|
66
68
|
const targetId = yield this.callFunction(node, locale);
|
|
67
69
|
return this.getContentsById(targetId, locale, contents);
|
|
68
70
|
}
|
|
@@ -78,25 +80,25 @@ export default class BotonicPluginFlowBuilder {
|
|
|
78
80
|
}
|
|
79
81
|
getFlowContent(hubtypeContent, locale) {
|
|
80
82
|
switch (hubtypeContent.type) {
|
|
81
|
-
case HtNodeWithContentType.TEXT:
|
|
82
|
-
return FlowText.fromHubtypeCMS(hubtypeContent, locale, this.cmsApi);
|
|
83
|
-
case HtNodeWithContentType.IMAGE:
|
|
84
|
-
return FlowImage.fromHubtypeCMS(hubtypeContent, locale);
|
|
85
|
-
case HtNodeWithContentType.CAROUSEL:
|
|
86
|
-
return FlowCarousel.fromHubtypeCMS(hubtypeContent, locale, this.cmsApi);
|
|
87
|
-
case HtNodeWithContentType.VIDEO:
|
|
88
|
-
return FlowVideo.fromHubtypeCMS(hubtypeContent, locale);
|
|
89
|
-
case HtNodeWithContentType.WHATSAPP_BUTTON_LIST:
|
|
90
|
-
return FlowWhatsappButtonList.fromHubtypeCMS(hubtypeContent, locale);
|
|
91
|
-
case HtNodeWithContentType.HANDOFF:
|
|
92
|
-
return FlowHandoff.fromHubtypeCMS(hubtypeContent, locale, this.cmsApi);
|
|
83
|
+
case hubtype_fields_1.HtNodeWithContentType.TEXT:
|
|
84
|
+
return content_fields_1.FlowText.fromHubtypeCMS(hubtypeContent, locale, this.cmsApi);
|
|
85
|
+
case hubtype_fields_1.HtNodeWithContentType.IMAGE:
|
|
86
|
+
return content_fields_1.FlowImage.fromHubtypeCMS(hubtypeContent, locale);
|
|
87
|
+
case hubtype_fields_1.HtNodeWithContentType.CAROUSEL:
|
|
88
|
+
return content_fields_1.FlowCarousel.fromHubtypeCMS(hubtypeContent, locale, this.cmsApi);
|
|
89
|
+
case hubtype_fields_1.HtNodeWithContentType.VIDEO:
|
|
90
|
+
return content_fields_1.FlowVideo.fromHubtypeCMS(hubtypeContent, locale);
|
|
91
|
+
case hubtype_fields_1.HtNodeWithContentType.WHATSAPP_BUTTON_LIST:
|
|
92
|
+
return content_fields_1.FlowWhatsappButtonList.fromHubtypeCMS(hubtypeContent, locale);
|
|
93
|
+
case hubtype_fields_1.HtNodeWithContentType.HANDOFF:
|
|
94
|
+
return content_fields_1.FlowHandoff.fromHubtypeCMS(hubtypeContent, locale, this.cmsApi);
|
|
93
95
|
default:
|
|
94
96
|
return undefined;
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
callFunction(functionNode, locale) {
|
|
98
100
|
var _a;
|
|
99
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
100
102
|
const functionNodeId = functionNode.id;
|
|
101
103
|
const nameValues = ((_a = functionNode.content.arguments
|
|
102
104
|
.find(arg => arg.locale === locale)) === null || _a === void 0 ? void 0 : _a.values.map(value => ({ [value.name]: value.value }))) || [];
|
|
@@ -114,10 +116,11 @@ export default class BotonicPluginFlowBuilder {
|
|
|
114
116
|
});
|
|
115
117
|
}
|
|
116
118
|
getPayloadParams(payload) {
|
|
117
|
-
const payloadParams = JSON.parse(payload.split(SEPARATOR)[1] || '{}');
|
|
119
|
+
const payloadParams = JSON.parse(payload.split(constants_1.SEPARATOR)[1] || '{}');
|
|
118
120
|
return payloadParams;
|
|
119
121
|
}
|
|
120
122
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
+
exports.default = BotonicPluginFlowBuilder;
|
|
124
|
+
tslib_1.__exportStar(require("./action"), exports);
|
|
125
|
+
tslib_1.__exportStar(require("./content-fields"), exports);
|
|
123
126
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/types.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ProcessEnvNodeEnvs = void 0;
|
|
4
|
+
var ProcessEnvNodeEnvs;
|
|
2
5
|
(function (ProcessEnvNodeEnvs) {
|
|
3
6
|
ProcessEnvNodeEnvs["PRODUCTION"] = "production";
|
|
4
7
|
ProcessEnvNodeEnvs["DEVELOPMENT"] = "development";
|
|
5
|
-
})(ProcessEnvNodeEnvs || (ProcessEnvNodeEnvs = {}));
|
|
8
|
+
})(ProcessEnvNodeEnvs = exports.ProcessEnvNodeEnvs || (exports.ProcessEnvNodeEnvs = {}));
|
|
6
9
|
//# sourceMappingURL=types.js.map
|
package/lib/cjs/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AA4BA,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";;;AA4BA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,+CAAyB,CAAA;IACzB,iDAA2B,CAAA;AAC7B,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B"}
|
package/lib/cjs/utils.js
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveGetAccessToken = void 0;
|
|
4
|
+
const types_1 = require("./types");
|
|
2
5
|
function getAccessTokenFromSession(session) {
|
|
3
6
|
if (!session._access_token) {
|
|
4
7
|
throw new Error('No access token found in session');
|
|
5
8
|
}
|
|
6
9
|
return session._access_token;
|
|
7
10
|
}
|
|
8
|
-
|
|
11
|
+
function resolveGetAccessToken(options) {
|
|
9
12
|
switch (process.env.NODE_ENV) {
|
|
10
|
-
case ProcessEnvNodeEnvs.PRODUCTION:
|
|
13
|
+
case types_1.ProcessEnvNodeEnvs.PRODUCTION:
|
|
11
14
|
return getAccessTokenFromSession;
|
|
12
|
-
case ProcessEnvNodeEnvs.DEVELOPMENT:
|
|
15
|
+
case types_1.ProcessEnvNodeEnvs.DEVELOPMENT:
|
|
13
16
|
return options.getAccessToken;
|
|
14
17
|
default:
|
|
15
18
|
throw new Error('No method defined for getting access token');
|
|
16
19
|
}
|
|
17
20
|
}
|
|
21
|
+
exports.resolveGetAccessToken = resolveGetAccessToken;
|
|
18
22
|
//# sourceMappingURL=utils.js.map
|
package/lib/cjs/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAEA,mCAA6E;AAE7E,SAAS,yBAAyB,CAAC,OAAgB;IACjD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;KACpD;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAAwC;IAExC,QAAQ,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE;QAC5B,KAAK,0BAAkB,CAAC,UAAU;YAChC,OAAO,yBAAyB,CAAA;QAClC,KAAK,0BAAkB,CAAC,WAAW;YACjC,OAAO,OAAO,CAAC,cAAc,CAAA;QAC/B;YACE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;KAChE;AACH,CAAC;AAXD,sDAWC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botonic/plugin-flow-builder",
|
|
3
|
-
"version": "0.25.0-alpha.
|
|
3
|
+
"version": "0.25.0-alpha.4",
|
|
4
4
|
"main": "./lib/cjs/index.js",
|
|
5
5
|
"module": "./lib/esm/index.js",
|
|
6
6
|
"description": "Use Flow Builder to show your contents",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"lint_core": "../../node_modules/.bin/eslint_d --cache --quiet 'src/**/*.ts*'"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@botonic/react": "0.25.0-alpha.
|
|
19
|
+
"@botonic/react": "0.25.0-alpha.4",
|
|
20
20
|
"axios": "^1.6.7"
|
|
21
21
|
},
|
|
22
22
|
"repository": {
|