@cognigy/rest-api-client
Version:
Cognigy REST-Client
83 lines • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.hangUp = void 0;
exports.hangUp = {
handleInput(endpointType, hangUpReason, hangupImmediately) {
switch (endpointType) {
case "bandwidth":
return this.handleBandwidthInput(hangUpReason);
case "audioCodes":
return this.handleAudioCodesInput(hangUpReason);
case "voiceGateway2":
default:
return this.handleVGInput(hangupImmediately, hangUpReason);
}
},
handleVGInput(hangupImmediately, hangUpReason) {
const payload = {
_voiceGateway2: {
json: {
hangup: {
headers: {},
hangupImmediately
}
}
}
};
if (hangUpReason) {
payload._voiceGateway2.json.hangup = Object.assign(Object.assign({}, payload._voiceGateway2.json.hangup), { headers: {
"X-Reason": hangUpReason
} });
}
return payload;
},
handleAudioCodesInput(hangupReason) {
const payload = {
_voiceGateway: {
json: {
activities: [{
type: "event",
name: "hangup",
activityParams: {}
}]
}
}
};
if (hangupReason) {
payload._voiceGateway.json.activities[0].activityParams = {
hangupReason
};
}
else {
payload._voiceGateway.json.activities[0].activityParams = {
hangupReason: "Hangup the call"
};
}
return payload;
},
handleBandwidthInput(hangupReason) {
const payload = {
_bandwidth: {
json: {
activities: [{
type: "event",
name: "hangup",
activityParams: {}
}]
}
}
};
if (hangupReason) {
payload._bandwidth.json.activities[0].activityParams = {
hangupReason
};
}
else {
payload._bandwidth.json.activities[0].activityParams = {
hangupReason: "Hangup the call"
};
}
return payload;
}
};
//# sourceMappingURL=hangup.mapper.js.map