@cognigy/rest-api-client
Version:
Cognigy REST-Client
101 lines • 3.43 kB
JavaScript
import { __awaiter } from "tslib";
/** Custom Modules */
import { createNodeDescriptor } from "../../../createNodeDescriptor";
/** Helper Modules */
import { transfer } from "../../voice/mappers/transfer.mapper";
import { nodeColor } from '../utils/design';
export const referNode = createNodeDescriptor({
type: "refer",
defaultLabel: "Refer",
summary: "UI__NODE_EDITOR__VOICEGATEWAY2__REFER__SUMMARY",
preview: {
key: "referTo",
type: "text"
},
appearance: {
color: nodeColor
},
tags: ["voice"],
constraints: {
placement: {},
creatable: false,
},
fields: [
{
key: "referTo",
label: "UI__NODE_EDITOR__VOICEGATEWAY2__FIELDS__REFER_TO__LABEL",
type: "text",
params: {
required: true
},
description: "UI__NODE_EDITOR__VOICEGATEWAY2__FIELDS__REFER_TO__DESCRIPTION",
defaultValue: "+49176123456789"
},
{
key: "useTransferSipHeaders",
label: "UI__NODE_EDITOR__VOICEGATEWAY2__FIELDS__USE_TRANSFER_SIP_HEADERS__LABEL",
type: "toggle",
description: "UI__NODE_EDITOR__VOICEGATEWAY2__FIELDS__USE_TRANSFER_SIP_HEADERS__DESCRIPTION",
defaultValue: false
},
{
key: "transferSipHeaders",
label: "UI__NODE_EDITOR__VOICEGATEWAY2__FIELDS__TRANSFER_SIP_HEADERS__LABEL",
type: "json",
description: "UI__NODE_EDITOR__VOICEGATEWAY2__FIELDS__TRANSFER_SIP_HEADERS__DESCRIPTION",
defaultValue: {
"X-Custom-Header": "YourValue"
},
condition: {
key: "useTransferSipHeaders",
value: true
}
},
],
sections: [
{
key: "advanced",
label: "UI__NODE_EDITOR__VOICEGATEWAY2__REFER__SECTIONS__ADVANCED__LABEL",
defaultCollapsed: true,
fields: [
"useTransferSipHeaders",
"transferSipHeaders",
]
}
],
form: [
{
type: "field",
key: "referTo"
},
{
type: "section",
key: "advanced"
}
],
function: ({ cognigy, config }) => __awaiter(void 0, void 0, void 0, function* () {
const { api, input } = cognigy;
const { referTo, useTransferSipHeaders, transferSipHeaders } = config;
const transferParams = {
transferReason: '',
transferTarget: referTo,
useTransferSipHeaders,
transferSipHeaders,
transferType: "refer",
};
try {
const payload = transfer.handleInput("voiceGateway2", transferParams, false);
if (input.channel === "adminconsole") {
yield api.output('You are using the deprecated Refer Node. Please replace it with new Transfer Node in the Node Selection Menu.', null);
}
api.log('error', 'You are using the deprecated Refer Node. Please replace it with new Transfer Node in the Node Selection Menu.');
yield api.say(null, {
_cognigy: payload
});
}
catch (error) {
throw new Error(`Error on Refer node. Error message: ${error.message}`);
}
})
});
//# sourceMappingURL=refer.js.map