@botonic/plugin-flow-builder 0.24.2-alpha.1 → 0.24.3-alpha.0

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.
@@ -1,6 +1,7 @@
1
1
  import { HtBaseNode, HtNodeLink } from './common';
2
2
  import { HtNodeWithContentType } from './node-types';
3
3
  export declare enum HtArgumentType {
4
+ BOOLEAN = "boolean",
4
5
  NUMBER = "number",
5
6
  STRING = "string",
6
7
  JSON = "json"
@@ -18,11 +19,12 @@ export interface HtFunctionResult {
18
19
  result: string;
19
20
  target?: HtNodeLink;
20
21
  }
22
+ export type HtFunctionArguments = HtFunctionArgumentLocale | HtFunctionArgument;
21
23
  export interface HtFunctionNode extends HtBaseNode {
22
24
  type: HtNodeWithContentType.FUNCTION;
23
25
  content: {
24
26
  action: string;
25
- arguments: HtFunctionArgumentLocale[];
27
+ arguments: HtFunctionArguments[];
26
28
  result_mapping: HtFunctionResult[];
27
29
  };
28
30
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HtArgumentType = void 0;
4
4
  var HtArgumentType;
5
5
  (function (HtArgumentType) {
6
+ HtArgumentType["BOOLEAN"] = "boolean";
6
7
  HtArgumentType["NUMBER"] = "number";
7
8
  HtArgumentType["STRING"] = "string";
8
9
  HtArgumentType["JSON"] = "json";
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/function.ts"],"names":[],"mappings":";;;AAGA,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/function.ts"],"names":[],"mappings":";;;AAGA,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
@@ -3,8 +3,14 @@ type ConditionalQueueStatusArgs = {
3
3
  request: ActionRequest;
4
4
  queue_id: string;
5
5
  queue_name: string;
6
+ check_available_agents: boolean;
6
7
  };
7
- export declare function conditionalQueueStatus({ queue_id, }: ConditionalQueueStatusArgs): Promise<string>;
8
+ declare enum QueueStatusResult {
9
+ open = "open",
10
+ closed = "closed",
11
+ openWithoutAgents = "open-without-agents"
12
+ }
13
+ export declare function conditionalQueueStatus({ queue_id, check_available_agents, }: ConditionalQueueStatusArgs): Promise<QueueStatusResult>;
8
14
  interface AvailabilityData {
9
15
  available: boolean;
10
16
  waiting_cases: number;
@@ -13,5 +19,5 @@ interface AvailabilityData {
13
19
  name: string;
14
20
  available_agents: number;
15
21
  }
16
- export declare function getQueueAvailability(queueId: string): Promise<AvailabilityData>;
22
+ export declare function getQueueAvailability(queueId: string, check_available_agents?: boolean): Promise<AvailabilityData>;
17
23
  export {};
@@ -4,20 +4,28 @@ exports.getQueueAvailability = exports.conditionalQueueStatus = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const axios_1 = tslib_1.__importDefault(require("axios"));
6
6
  const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
7
- async function conditionalQueueStatus({ queue_id, }) {
8
- const data = await getQueueAvailability(queue_id);
9
- const isAvailable = data.available;
10
- return isAvailable ? 'open' : 'closed';
7
+ var QueueStatusResult;
8
+ (function (QueueStatusResult) {
9
+ QueueStatusResult["open"] = "open";
10
+ QueueStatusResult["closed"] = "closed";
11
+ QueueStatusResult["openWithoutAgents"] = "open-without-agents";
12
+ })(QueueStatusResult || (QueueStatusResult = {}));
13
+ async function conditionalQueueStatus({ queue_id, check_available_agents, }) {
14
+ const data = await getQueueAvailability(queue_id, check_available_agents);
15
+ if (check_available_agents && data.open && data.available_agents === 0) {
16
+ return QueueStatusResult.openWithoutAgents;
17
+ }
18
+ return data.open ? QueueStatusResult.open : QueueStatusResult.closed;
11
19
  }
12
20
  exports.conditionalQueueStatus = conditionalQueueStatus;
13
- async function getQueueAvailability(queueId) {
21
+ async function getQueueAvailability(queueId, check_available_agents = false) {
14
22
  const response = await axios_1.default.get(`${HUBTYPE_API_URL}/public/v1/queues/${queueId}/availability/`,
15
23
  // TODO: Make it configurable in the future
16
24
  {
17
25
  params: {
18
26
  check_queue_schedule: true,
19
27
  check_waiting_cases: false,
20
- check_available_agents: false,
28
+ check_available_agents: check_available_agents,
21
29
  },
22
30
  });
23
31
  return response.data;
@@ -1 +1 @@
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;AAQzE,KAAK,UAAU,sBAAsB,CAAC,EAC3C,QAAQ,GACmB;IAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAA;IAClC,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxC,CAAC;AAND,wDAMC;AAWM,KAAK,UAAU,oBAAoB,CACxC,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,OAAO,gBAAgB;IAC9D,2CAA2C;IAC3C;QACE,MAAM,EAAE;YACN,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,sBAAsB,EAAE,KAAK;SAC9B;KACF,CACF,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAA;AACtB,CAAC;AAfD,oDAeC"}
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;AAShF,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,8DAAyC,CAAA;AAC3C,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAEM,KAAK,UAAU,sBAAsB,CAAC,EAC3C,QAAQ,EACR,sBAAsB,GACK;IAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAA;IACzE,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;QACtE,OAAO,iBAAiB,CAAC,iBAAiB,CAAA;KAC3C;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAA;AACtE,CAAC;AATD,wDASC;AAWM,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,sBAAsB,GAAG,KAAK;IAE9B,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,OAAO,gBAAgB;IAC9D,2CAA2C;IAC3C;QACE,MAAM,EAAE;YACN,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,sBAAsB,EAAE,sBAAsB;SAC/C;KACF,CACF,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAA;AACtB,CAAC;AAhBD,oDAgBC"}
@@ -23,6 +23,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
23
23
  getContentsByNode(node: HtNodeWithContent, locale: string, prevContents?: FlowContent[]): Promise<FlowContent[]>;
24
24
  private getFlowContent;
25
25
  callFunction(functionNode: HtFunctionNode, locale: string): Promise<string>;
26
+ private getArgumentsByLocale;
26
27
  getPayloadParams<T extends PayloadParamsBase>(payload: string): T;
27
28
  }
28
29
  export * from './action';
package/lib/cjs/index.js CHANGED
@@ -87,10 +87,12 @@ class BotonicPluginFlowBuilder {
87
87
  }
88
88
  }
89
89
  async callFunction(functionNode, locale) {
90
- var _a;
91
90
  const functionNodeId = functionNode.id;
92
- const nameValues = ((_a = functionNode.content.arguments
93
- .find(arg => arg.locale === locale)) === null || _a === void 0 ? void 0 : _a.values.map(value => ({ [value.name]: value.value }))) || [];
91
+ const functionArguments = this.getArgumentsByLocale(functionNode.content.arguments, locale);
92
+ const nameValues = functionArguments.map(arg => {
93
+ return { [arg.name]: arg.value };
94
+ });
95
+ console.log('callFunction', { functionArguments, nameValues });
94
96
  const args = Object.assign({
95
97
  request: this.currentRequest,
96
98
  results: functionNode.content.result_mapping.map(r => r.result),
@@ -103,6 +105,19 @@ class BotonicPluginFlowBuilder {
103
105
  }
104
106
  return result.target.id;
105
107
  }
108
+ getArgumentsByLocale(args, locale) {
109
+ console.log('getArgumentsByLocale', args);
110
+ let resultArguments = [];
111
+ for (const arg of args) {
112
+ if ('locale' in arg && arg.locale === locale) {
113
+ resultArguments = [...resultArguments, ...arg.values];
114
+ }
115
+ if ('type' in arg) {
116
+ resultArguments = [...resultArguments, arg];
117
+ }
118
+ }
119
+ return resultArguments;
120
+ }
106
121
  getPayloadParams(payload) {
107
122
  const payloadParams = JSON.parse(payload.split(constants_1.SEPARATOR)[1] || '{}');
108
123
  return payloadParams;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { HtBaseNode, HtNodeLink } from './common';
2
2
  import { HtNodeWithContentType } from './node-types';
3
3
  export declare enum HtArgumentType {
4
+ BOOLEAN = "boolean",
4
5
  NUMBER = "number",
5
6
  STRING = "string",
6
7
  JSON = "json"
@@ -18,11 +19,12 @@ export interface HtFunctionResult {
18
19
  result: string;
19
20
  target?: HtNodeLink;
20
21
  }
22
+ export type HtFunctionArguments = HtFunctionArgumentLocale | HtFunctionArgument;
21
23
  export interface HtFunctionNode extends HtBaseNode {
22
24
  type: HtNodeWithContentType.FUNCTION;
23
25
  content: {
24
26
  action: string;
25
- arguments: HtFunctionArgumentLocale[];
27
+ arguments: HtFunctionArguments[];
26
28
  result_mapping: HtFunctionResult[];
27
29
  };
28
30
  }
@@ -1,5 +1,6 @@
1
1
  export var HtArgumentType;
2
2
  (function (HtArgumentType) {
3
+ HtArgumentType["BOOLEAN"] = "boolean";
3
4
  HtArgumentType["NUMBER"] = "number";
4
5
  HtArgumentType["STRING"] = "string";
5
6
  HtArgumentType["JSON"] = "json";
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/function.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../../../src/content-fields/hubtype-fields/function.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,mCAAiB,CAAA;IACjB,mCAAiB,CAAA;IACjB,+BAAa,CAAA;AACf,CAAC,EALW,cAAc,KAAd,cAAc,QAKzB"}
@@ -3,8 +3,14 @@ type ConditionalQueueStatusArgs = {
3
3
  request: ActionRequest;
4
4
  queue_id: string;
5
5
  queue_name: string;
6
+ check_available_agents: boolean;
6
7
  };
7
- export declare function conditionalQueueStatus({ queue_id, }: ConditionalQueueStatusArgs): Promise<string>;
8
+ declare enum QueueStatusResult {
9
+ open = "open",
10
+ closed = "closed",
11
+ openWithoutAgents = "open-without-agents"
12
+ }
13
+ export declare function conditionalQueueStatus({ queue_id, check_available_agents, }: ConditionalQueueStatusArgs): Promise<QueueStatusResult>;
8
14
  interface AvailabilityData {
9
15
  available: boolean;
10
16
  waiting_cases: number;
@@ -13,5 +19,5 @@ interface AvailabilityData {
13
19
  name: string;
14
20
  available_agents: number;
15
21
  }
16
- export declare function getQueueAvailability(queueId: string): Promise<AvailabilityData>;
22
+ export declare function getQueueAvailability(queueId: string, check_available_agents?: boolean): Promise<AvailabilityData>;
17
23
  export {};
@@ -1,18 +1,26 @@
1
1
  import axios from 'axios';
2
2
  const HUBTYPE_API_URL = process.env.HUBTYPE_API_URL || 'https://api.hubtype.com';
3
- export async function conditionalQueueStatus({ queue_id, }) {
4
- const data = await getQueueAvailability(queue_id);
5
- const isAvailable = data.available;
6
- return isAvailable ? 'open' : 'closed';
3
+ var QueueStatusResult;
4
+ (function (QueueStatusResult) {
5
+ QueueStatusResult["open"] = "open";
6
+ QueueStatusResult["closed"] = "closed";
7
+ QueueStatusResult["openWithoutAgents"] = "open-without-agents";
8
+ })(QueueStatusResult || (QueueStatusResult = {}));
9
+ export async function conditionalQueueStatus({ queue_id, check_available_agents, }) {
10
+ const data = await getQueueAvailability(queue_id, check_available_agents);
11
+ if (check_available_agents && data.open && data.available_agents === 0) {
12
+ return QueueStatusResult.openWithoutAgents;
13
+ }
14
+ return data.open ? QueueStatusResult.open : QueueStatusResult.closed;
7
15
  }
8
- export async function getQueueAvailability(queueId) {
16
+ export async function getQueueAvailability(queueId, check_available_agents = false) {
9
17
  const response = await axios.get(`${HUBTYPE_API_URL}/public/v1/queues/${queueId}/availability/`,
10
18
  // TODO: Make it configurable in the future
11
19
  {
12
20
  params: {
13
21
  check_queue_schedule: true,
14
22
  check_waiting_cases: false,
15
- check_available_agents: false,
23
+ check_available_agents: check_available_agents,
16
24
  },
17
25
  });
18
26
  return response.data;
@@ -1 +1 @@
1
- {"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAQhF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,QAAQ,GACmB;IAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAA;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAA;IAClC,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAA;AACxC,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe;IAEf,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,OAAO,gBAAgB;IAC9D,2CAA2C;IAC3C;QACE,MAAM,EAAE;YACN,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,sBAAsB,EAAE,KAAK;SAC9B;KACF,CACF,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAA;AACtB,CAAC"}
1
+ {"version":3,"file":"conditional-queue-status.js","sourceRoot":"","sources":["../../../src/functions/conditional-queue-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAA;AAShF,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IACpB,kCAAa,CAAA;IACb,sCAAiB,CAAA;IACjB,8DAAyC,CAAA;AAC3C,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAC3C,QAAQ,EACR,sBAAsB,GACK;IAC3B,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAA;IACzE,IAAI,sBAAsB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,gBAAgB,KAAK,CAAC,EAAE;QACtE,OAAO,iBAAiB,CAAC,iBAAiB,CAAA;KAC3C;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAA;AACtE,CAAC;AAWD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAe,EACf,sBAAsB,GAAG,KAAK;IAE9B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAC9B,GAAG,eAAe,qBAAqB,OAAO,gBAAgB;IAC9D,2CAA2C;IAC3C;QACE,MAAM,EAAE;YACN,oBAAoB,EAAE,IAAI;YAC1B,mBAAmB,EAAE,KAAK;YAC1B,sBAAsB,EAAE,sBAAsB;SAC/C;KACF,CACF,CAAA;IACD,OAAO,QAAQ,CAAC,IAAI,CAAA;AACtB,CAAC"}
@@ -23,6 +23,7 @@ export default class BotonicPluginFlowBuilder implements Plugin {
23
23
  getContentsByNode(node: HtNodeWithContent, locale: string, prevContents?: FlowContent[]): Promise<FlowContent[]>;
24
24
  private getFlowContent;
25
25
  callFunction(functionNode: HtFunctionNode, locale: string): Promise<string>;
26
+ private getArgumentsByLocale;
26
27
  getPayloadParams<T extends PayloadParamsBase>(payload: string): T;
27
28
  }
28
29
  export * from './action';
package/lib/esm/index.js CHANGED
@@ -84,10 +84,12 @@ export default class BotonicPluginFlowBuilder {
84
84
  }
85
85
  }
86
86
  async callFunction(functionNode, locale) {
87
- var _a;
88
87
  const functionNodeId = functionNode.id;
89
- const nameValues = ((_a = functionNode.content.arguments
90
- .find(arg => arg.locale === locale)) === null || _a === void 0 ? void 0 : _a.values.map(value => ({ [value.name]: value.value }))) || [];
88
+ const functionArguments = this.getArgumentsByLocale(functionNode.content.arguments, locale);
89
+ const nameValues = functionArguments.map(arg => {
90
+ return { [arg.name]: arg.value };
91
+ });
92
+ console.log('callFunction', { functionArguments, nameValues });
91
93
  const args = Object.assign({
92
94
  request: this.currentRequest,
93
95
  results: functionNode.content.result_mapping.map(r => r.result),
@@ -100,6 +102,19 @@ export default class BotonicPluginFlowBuilder {
100
102
  }
101
103
  return result.target.id;
102
104
  }
105
+ getArgumentsByLocale(args, locale) {
106
+ console.log('getArgumentsByLocale', args);
107
+ let resultArguments = [];
108
+ for (const arg of args) {
109
+ if ('locale' in arg && arg.locale === locale) {
110
+ resultArguments = [...resultArguments, ...arg.values];
111
+ }
112
+ if ('type' in arg) {
113
+ resultArguments = [...resultArguments, arg];
114
+ }
115
+ }
116
+ return resultArguments;
117
+ }
103
118
  getPayloadParams(payload) {
104
119
  const payloadParams = JSON.parse(payload.split(SEPARATOR)[1] || '{}');
105
120
  return payloadParams;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botonic/plugin-flow-builder",
3
- "version": "0.24.2-alpha.1",
3
+ "version": "0.24.3-alpha.0",
4
4
  "main": "./lib/cjs/index.js",
5
5
  "module": "./lib/esm/index.js",
6
6
  "description": "Use Flow Builder to show your contents",
@@ -2,6 +2,7 @@ import { HtBaseNode, HtNodeLink } from './common'
2
2
  import { HtNodeWithContentType } from './node-types'
3
3
 
4
4
  export enum HtArgumentType {
5
+ BOOLEAN = 'boolean',
5
6
  NUMBER = 'number',
6
7
  STRING = 'string',
7
8
  JSON = 'json',
@@ -23,11 +24,13 @@ export interface HtFunctionResult {
23
24
  target?: HtNodeLink
24
25
  }
25
26
 
27
+ export type HtFunctionArguments = HtFunctionArgumentLocale | HtFunctionArgument
28
+
26
29
  export interface HtFunctionNode extends HtBaseNode {
27
30
  type: HtNodeWithContentType.FUNCTION
28
31
  content: {
29
32
  action: string
30
- arguments: HtFunctionArgumentLocale[]
33
+ arguments: HtFunctionArguments[]
31
34
  result_mapping: HtFunctionResult[]
32
35
  }
33
36
  }
@@ -7,14 +7,24 @@ type ConditionalQueueStatusArgs = {
7
7
  request: ActionRequest
8
8
  queue_id: string
9
9
  queue_name: string
10
+ check_available_agents: boolean
11
+ }
12
+
13
+ enum QueueStatusResult {
14
+ open = 'open',
15
+ closed = 'closed',
16
+ openWithoutAgents = 'open-without-agents',
10
17
  }
11
18
 
12
19
  export async function conditionalQueueStatus({
13
20
  queue_id,
14
- }: ConditionalQueueStatusArgs): Promise<string> {
15
- const data = await getQueueAvailability(queue_id)
16
- const isAvailable = data.available
17
- return isAvailable ? 'open' : 'closed'
21
+ check_available_agents,
22
+ }: ConditionalQueueStatusArgs): Promise<QueueStatusResult> {
23
+ const data = await getQueueAvailability(queue_id, check_available_agents)
24
+ if (check_available_agents && data.open && data.available_agents === 0) {
25
+ return QueueStatusResult.openWithoutAgents
26
+ }
27
+ return data.open ? QueueStatusResult.open : QueueStatusResult.closed
18
28
  }
19
29
 
20
30
  interface AvailabilityData {
@@ -27,7 +37,8 @@ interface AvailabilityData {
27
37
  }
28
38
 
29
39
  export async function getQueueAvailability(
30
- queueId: string
40
+ queueId: string,
41
+ check_available_agents = false
31
42
  ): Promise<AvailabilityData> {
32
43
  const response = await axios.get(
33
44
  `${HUBTYPE_API_URL}/public/v1/queues/${queueId}/availability/`,
@@ -36,7 +47,7 @@ export async function getQueueAvailability(
36
47
  params: {
37
48
  check_queue_schedule: true,
38
49
  check_waiting_cases: false,
39
- check_available_agents: false,
50
+ check_available_agents: check_available_agents,
40
51
  },
41
52
  }
42
53
  )
package/src/index.ts CHANGED
@@ -15,6 +15,8 @@ import {
15
15
  } from './content-fields'
16
16
  import {
17
17
  HtFlowBuilderData,
18
+ HtFunctionArgument,
19
+ HtFunctionArguments,
18
20
  HtFunctionNode,
19
21
  HtNodeComponent,
20
22
  HtNodeWithContent,
@@ -159,10 +161,15 @@ export default class BotonicPluginFlowBuilder implements Plugin {
159
161
  locale: string
160
162
  ): Promise<string> {
161
163
  const functionNodeId = functionNode.id
162
- const nameValues =
163
- functionNode.content.arguments
164
- .find(arg => arg.locale === locale)
165
- ?.values.map(value => ({ [value.name]: value.value })) || []
164
+ const functionArguments = this.getArgumentsByLocale(
165
+ functionNode.content.arguments,
166
+ locale
167
+ )
168
+ const nameValues = functionArguments.map(arg => {
169
+ return { [arg.name]: arg.value }
170
+ })
171
+
172
+ console.log('callFunction', { functionArguments, nameValues })
166
173
 
167
174
  const args = Object.assign(
168
175
  {
@@ -186,6 +193,24 @@ export default class BotonicPluginFlowBuilder implements Plugin {
186
193
  return result.target.id
187
194
  }
188
195
 
196
+ private getArgumentsByLocale(
197
+ args: HtFunctionArguments[],
198
+ locale: string
199
+ ): HtFunctionArgument[] {
200
+ console.log('getArgumentsByLocale', args)
201
+ let resultArguments: HtFunctionArgument[] = []
202
+ for (const arg of args) {
203
+ if ('locale' in arg && arg.locale === locale) {
204
+ resultArguments = [...resultArguments, ...arg.values]
205
+ }
206
+ if ('type' in arg) {
207
+ resultArguments = [...resultArguments, arg]
208
+ }
209
+ }
210
+
211
+ return resultArguments
212
+ }
213
+
189
214
  getPayloadParams<T extends PayloadParamsBase>(payload: string): T {
190
215
  const payloadParams = JSON.parse(payload.split(SEPARATOR)[1] || '{}')
191
216
  return payloadParams