@cognigy/rest-api-client
Version:
Cognigy REST-Client
65 lines • 2.01 kB
JavaScript
import { isValidJSON } from "../../voicegateway2/utils/helper";
export const sendMetadata = {
handleInput(endpointType, metadata) {
if (!isValidJSON(metadata)) {
throw new Error("Invalid JSON in Metadata Field");
}
if (JSON.stringify(metadata) === '{}') {
throw new Error("Nothing is set in Metadata Field");
}
switch (endpointType) {
case "bandwidth":
return this.handleBandwidthInput(metadata);
case "audioCodes":
return this.handleAudioCodesInput(metadata);
case "voiceGateway2":
default:
return this.handleVGInput(metadata);
}
},
handleVGInput(metadata) {
const voiceGateway2Payload = {
"sip:request": {
headers: {
"Content-Type": "application/json",
},
body: "",
method: "INFO",
actionHook: "/info",
},
};
voiceGateway2Payload["sip:request"].body = JSON.stringify(metadata);
return {
_voiceGateway2: {
json: Object.assign({}, voiceGateway2Payload)
}
};
},
handleAudioCodesInput(metadata) {
return {
_voiceGateway: {
json: {
activities: [{
type: "event",
name: "sendMetaData",
value: metadata
}]
}
}
};
},
handleBandwidthInput(metadata) {
return {
_bandwidth: {
json: {
activities: [{
type: "event",
name: "sendMetaData",
value: metadata
}]
}
}
};
}
};
//# sourceMappingURL=sendMetadata.mapper.js.map