in website-creator/js/connectflows.js [433:522]
async function handlePushFlowWindow(flowId, flowName){
$('#updateFlowName').val(flowName);
handleWindow(true, '');
let cfDetails = await getFlow(dlgSourceAccessKey, dlgSourceSecretKey, dlgSourceRegion, dlgSourceInstance, flowId);
console.log(JSON.stringify(cfDetails));
handleWindow(false, '');
$( "#updateFlowDialog" ).dialog( "open" );
updatedContactFlow = cfDetails.ContactFlow.Content;
//updatedContactFlow = JSON.stringify(updatedContactFlow);
var content = JSON.parse(JSON.parse(JSON.stringify(cfDetails.ContactFlow.Content)));
$("#tblARNMapping").empty();
var tbody = $('#tblARNMapping').children('tbody');
var table = tbody.length ? tbody : $('#tblARNMapping');
table.append("<tr><th>Source ARN</th><th>Target ARN</th><th>Type</th></tr>");
for(var i=0; i < content.Actions.length; i++){
var params;
var objName = '';
objName = getNameFromFlow(content, content.Actions[i].Identifier);
if(objName ===undefined)
objName = "";
try{
if(content.Actions[i].Parameters.hasOwnProperty('PromptId')){
params = {
TableName: dlgSourceARNMapDDB,
Key: {"sourceARN" : content.Actions[i].Parameters.PromptId}
};
}
}catch(e){}
try{
if(content.Actions[i].Parameters.hasOwnProperty('LambdaFunctionARN')){
var lambdaARN = content.Actions[i].Parameters.LambdaFunctionARN;
if(lambdaARN.startsWith("arn:aws:lambda")){
params = {
TableName: dlgSourceARNMapDDB,
Key: {"sourceARN" : content.Actions[i].Parameters.LambdaFunctionARN}
};
}
}
}catch(e){}
try{
if(content.Actions[i].Parameters.hasOwnProperty('QueueId')){
params = {
TableName: dlgSourceARNMapDDB,
Key: {"sourceARN" : content.Actions[i].Parameters.QueueId}
};
}
}catch(e){}
try{
if(content.Actions[i].Parameters.hasOwnProperty('ContactFlowId')){
var flow;
flow = content.Actions[i].Parameters.ContactFlowId;
if(flow){
params = {
TableName: dlgSourceARNMapDDB,
Key: {"sourceARN" : flow}
};
}
}
if(content.Actions[i].Parameters.hasOwnProperty('EventHooks')){
var flow;
if(content.Actions[i].Parameters.EventHooks.hasOwnProperty('CustomerRemaining'))
flow = content.Actions[i].Parameters.EventHooks.CustomerRemaining;
else if(content.Actions[i].Parameters.EventHooks.hasOwnProperty('AgentWhisper'))
flow = content.Actions[i].Parameters.EventHooks.AgentWhisper;
else if(content.Actions[i].Parameters.EventHooks.hasOwnProperty('CustomerQueue'))
flow = content.Actions[i].Parameters.EventHooks.CustomerQueue;
else if(content.Actions[i].Parameters.EventHooks.hasOwnProperty('AgentHold'))
flow = content.Actions[i].Parameters.EventHooks.AgentHold;
if(flow){
params = {
TableName: dlgSourceARNMapDDB,
Key: {"sourceARN" : flow}
};
}
}
}catch(e){}
if(params){
let a = await getARNInfoFromDynamoDB(params);
console.log(a);
if(a){
table.append("<tr><td>" + a.sourceARN + "</td><td>" + a.targetARN + "</td><td>" + objName + "</td></tr>");
updatedContactFlow = updatedContactFlow.replace(new RegExp((a.sourceARN), 'g'), a.targetARN);
}
}
params = null;
//$("#tblARNMapping > tbody").append("<tr><td></td>" + a.Item.sourceARN + "<td>" + a.Item.targetARN + "</td><td>" + a.Item.ARNType + "</td></tr>");
}
}