Built motion from commit (unavailable).|2.4.18
[motion2.git] / server / services / routing / server / applications / amazonlex.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xdd16=['consequence','isNil','interaction','UserId','info','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','out','channel','ChatWebsiteId','upperFirst','account','created','body','getMustacheRender','create','catch','error','stringify','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','$LATEST','message','toString','postText','amazonlex','then','dialogState','Failed','lodash','moment','./utils','../../../../config/logger','routing','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage'];(function(_0x4cdf4b,_0x15d9cd){var _0x30d4bc=function(_0x4be368){while(--_0x4be368){_0x4cdf4b['push'](_0x4cdf4b['shift']());}};_0x30d4bc(++_0x15d9cd);}(_0xdd16,0x1e4));var _0x6dd1=function(_0x343f4b,_0x5c67b3){_0x343f4b=_0x343f4b-0x0;var _0x5326f0=_0xdd16[_0x343f4b];return _0x5326f0;};'use strict';var _=require(_0x6dd1('0x0'));var moment=require(_0x6dd1('0x1'));var AWS=require('aws-sdk');var utils=require(_0x6dd1('0x2'));var logger=require(_0x6dd1('0x3'))(_0x6dd1('0x4'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x6dd1('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x6dd1('0x6')),'faxMessage':require(_0x6dd1('0x7'))};exports[_0x6dd1('0x8')]=function(_0x27c812,_0x1ad096){return function(_0x363a8f){try{if(!_[_0x6dd1('0x9')](this[_0x6dd1('0xa')][_0x6dd1('0xb')])){logger[_0x6dd1('0xc')](_0x6dd1('0xd'),_0x27c812,_0x6dd1('0xe'));return _0x363a8f[_0x6dd1('0xf')]();}var _0x53671e={'ContactId':this[_0x6dd1('0x10')]['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x6dd1('0x11')};var _0x1473e7=this[_0x6dd1('0x12')];if(_0x1473e7==='chat'){_0x53671e[_0x6dd1('0x13')]=this['account']['id'];}else{_0x53671e[_[_0x6dd1('0x14')](_0x1473e7)+'AccountId']=this[_0x6dd1('0x15')]['id'];}_0x53671e[_[_0x6dd1('0x14')](_0x1473e7)+'InteractionId']=this[_0x6dd1('0xa')]['id'];if(this[_0x6dd1('0xa')][_0x6dd1('0x16')]){var _0x1f1765=_0x1ad096[0x4];if(!_['isEmpty'](_0x1f1765)){_0x53671e[_0x6dd1('0x17')]=utils[_0x6dd1('0x18')](_0x1f1765,this);return rpc[_0x1473e7+'Message'][_0x6dd1('0x19')](_0x53671e)['then'](function(_0x2f1592){logger[_0x6dd1('0xc')]('[%s][AMAZONLEX]\x20%s',_0x27c812,_0x53671e[_0x6dd1('0x17')]);})[_0x6dd1('0x1a')](function(_0x2aaf18){logger[_0x6dd1('0x1b')]('[%s][AMAZONLEX]\x20%s',_0x27c812,JSON[_0x6dd1('0x1c')](_0x2aaf18));})['finally'](function(){logger[_0x6dd1('0xc')](_0x6dd1('0x1d'),_0x27c812);_0x363a8f[_0x6dd1('0x1e')]();});}else{logger['info'](_0x6dd1('0x1f'),_0x27c812);_0x363a8f[_0x6dd1('0x1e')]();}}else{var _0x138c73=this;var _0x57242d=new AWS[(_0x6dd1('0x20'))]({'accessKeyId':_0x1ad096[0x0],'secretAccessKey':_0x1ad096[0x1],'region':_0x1ad096[0x2]});var _0x5582b2={'botAlias':_0x6dd1('0x21'),'botName':_0x1ad096[0x3],'inputText':this[_0x6dd1('0x22')][_0x6dd1('0x17')],'userId':this[_0x6dd1('0xa')]['id'][_0x6dd1('0x23')]()};_0x57242d[_0x6dd1('0x24')](_0x5582b2,function(_0x338dff,_0x4d55e8){if(_0x338dff){logger[_0x6dd1('0x1b')](_0x6dd1('0xd'),_0x27c812,_0x338dff[_0x6dd1('0x22')]);_0x363a8f[_0x6dd1('0xf')]();}else if(_0x4d55e8&&_0x4d55e8[_0x6dd1('0x22')]){_0x138c73[_0x6dd1('0x17')][_0x6dd1('0x25')]=_0x4d55e8;_0x53671e['body']=_0x4d55e8['message'];return rpc[_0x1473e7+'Message'][_0x6dd1('0x19')](_0x53671e)[_0x6dd1('0x26')](function(_0x3cdba9){logger[_0x6dd1('0xc')](_0x6dd1('0xd'),_0x27c812,_0x53671e[_0x6dd1('0x17')]);if(_0x4d55e8[_0x6dd1('0x27')]==_0x6dd1('0x28')){_0x363a8f[_0x6dd1('0xf')]();}else{_0x363a8f[_0x6dd1('0x1e')]();}})[_0x6dd1('0x1a')](function(_0x34e37b){logger[_0x6dd1('0x1b')](_0x6dd1('0xd'),_0x27c812,JSON['stringify'](_0x34e37b));_0x363a8f['next']();});}else{_0x363a8f[_0x6dd1('0xf')]();}});}}catch(_0x4a50b8){logger[_0x6dd1('0x1b')]('[%s][AMAZONLEX]\x20%s',_0x27c812,JSON['stringify'](_0x4a50b8));_0x363a8f[_0x6dd1('0x1e')]();}};};