Built motion from commit 85328c08.|2.5.50
[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 _0x43e9=['AccountId','isEmpty','body','getMustacheRender','Message','then','[%s][AMAZONLEX]\x20%s','catch','error','info','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','message','toString','postText','providerName','amazonlex','providerResponse','stringify','dialogState','Failed','next','lodash','./utils','../../../../config/logger','../../rpc/openchannelMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','isNil','UserId','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','contact','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','interaction','chat','ChatWebsiteId','account','upperFirst'];(function(_0x3bd4ec,_0x4cb5ce){var _0x5062dc=function(_0x1e14a3){while(--_0x1e14a3){_0x3bd4ec['push'](_0x3bd4ec['shift']());}};_0x5062dc(++_0x4cb5ce);}(_0x43e9,0x126));var _0x943e=function(_0x5103ee,_0x56b8e2){_0x5103ee=_0x5103ee-0x0;var _0x347366=_0x43e9[_0x5103ee];return _0x347366;};'use strict';var _=require(_0x943e('0x0'));var moment=require('moment');var AWS=require('aws-sdk');var utils=require(_0x943e('0x1'));var logger=require(_0x943e('0x2'))('routing');var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0x943e('0x3')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x943e('0x4')),'whatsappMessage':require(_0x943e('0x5'))};exports['consequence']=function(_0x561352,_0x20561f){return function(_0x5448a5){try{if(!_[_0x943e('0x6')](this['interaction'][_0x943e('0x7')])){logger['info']('[%s][AMAZONLEX]\x20%s',_0x561352,_0x943e('0x8'));return _0x5448a5['next']();}var _0x2ecb9b={'ContactId':this[_0x943e('0x9')]['id'],'sentAt':moment()['format'](_0x943e('0xa')),'direction':_0x943e('0xb')};if(this[_0x943e('0xc')]===_0x943e('0xd')||this[_0x943e('0xc')]===_0x943e('0xe')){_0x2ecb9b[_0x943e('0xf')]=this[_0x943e('0x10')][_0x943e('0xf')];}var _0xa94469=this[_0x943e('0xc')];if(_0xa94469===_0x943e('0x11')){_0x2ecb9b[_0x943e('0x12')]=this[_0x943e('0x13')]['id'];}else{_0x2ecb9b[_[_0x943e('0x14')](_0xa94469)+_0x943e('0x15')]=this[_0x943e('0x13')]['id'];}_0x2ecb9b[_['upperFirst'](_0xa94469)+'InteractionId']=this['interaction']['id'];if(this[_0x943e('0x10')]['created']){var _0x2dfea0=_0x20561f[0x4];if(!_[_0x943e('0x16')](_0x2dfea0)){_0x2ecb9b[_0x943e('0x17')]=utils[_0x943e('0x18')](_0x2dfea0,this);return rpc[_0xa94469+_0x943e('0x19')]['create'](_0x2ecb9b)[_0x943e('0x1a')](function(_0x28da00){logger['info'](_0x943e('0x1b'),_0x561352,_0x2ecb9b[_0x943e('0x17')]);})[_0x943e('0x1c')](function(_0x20f318){logger[_0x943e('0x1d')]('[%s][AMAZONLEX]\x20%s',_0x561352,JSON['stringify'](_0x20f318));})['finally'](function(){logger[_0x943e('0x1e')](_0x943e('0x1f'),_0x561352);_0x5448a5[_0x943e('0x20')]();});}else{logger[_0x943e('0x1e')](_0x943e('0x21'),_0x561352);_0x5448a5[_0x943e('0x20')]();}}else{var _0x405181=this;var _0x4289a8=new AWS[(_0x943e('0x22'))]({'accessKeyId':_0x20561f[0x0],'secretAccessKey':_0x20561f[0x1],'region':_0x20561f[0x2]});var _0xb904c1={'botAlias':'$LATEST','botName':_0x20561f[0x3],'inputText':this[_0x943e('0x23')][_0x943e('0x17')],'userId':this[_0x943e('0xc')]+':'+this[_0x943e('0x10')]['id'][_0x943e('0x24')]()};_0x4289a8[_0x943e('0x25')](_0xb904c1,function(_0x5e91da,_0x3ba792){if(_0x5e91da){logger['error']('[%s][AMAZONLEX]\x20%s',_0x561352,_0x5e91da[_0x943e('0x23')]);_0x5448a5['next']();}else if(_0x3ba792&&_0x3ba792[_0x943e('0x23')]){_0x405181['body']['amazonlex']=_0x3ba792;_0x2ecb9b[_0x943e('0x17')]=_0x3ba792[_0x943e('0x23')];_0x2ecb9b[_0x943e('0x26')]=_0x943e('0x27');_0x2ecb9b[_0x943e('0x28')]=JSON[_0x943e('0x29')](_0x3ba792);return rpc[_0xa94469+'Message']['create'](_0x2ecb9b)[_0x943e('0x1a')](function(_0x514d2f){logger[_0x943e('0x1e')]('[%s][AMAZONLEX]\x20%s',_0x561352,_0x2ecb9b[_0x943e('0x17')]);if(_0x3ba792[_0x943e('0x2a')]==_0x943e('0x2b')){_0x5448a5['next']();}else{_0x5448a5[_0x943e('0x20')]();}})[_0x943e('0x1c')](function(_0x43f2d7){logger[_0x943e('0x1d')](_0x943e('0x1b'),_0x561352,JSON[_0x943e('0x29')](_0x43f2d7));_0x5448a5[_0x943e('0x2c')]();});}else{_0x5448a5[_0x943e('0x2c')]();}});}}catch(_0x487fc0){logger[_0x943e('0x1d')]('[%s][AMAZONLEX]\x20%s',_0x561352,JSON['stringify'](_0x487fc0));_0x5448a5[_0x943e('0x20')]();}};};