async function handlePushFlowWindow()

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>");
    }
}