Built motion from commit e8da49ee.|2.6.33
[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 _0x4f85=['moment','aws-sdk','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','isNil','interaction','UserId','info','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','contact','YYYY-MM-DD\x20HH:mm:ss','sms','whatsapp','phone','channel','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','created','body','getMustacheRender','Message','create','then','catch','error','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','$LATEST','message','postText','amazonlex','providerName','dialogState','Failed','stringify','next','lodash'];(function(_0x59daf9,_0x539360){var _0x186b62=function(_0x421499){while(--_0x421499){_0x59daf9['push'](_0x59daf9['shift']());}};_0x186b62(++_0x539360);}(_0x4f85,0x187));var _0x54f8=function(_0x3ad1ab,_0x3c8799){_0x3ad1ab=_0x3ad1ab-0x0;var _0x26d4c9=_0x4f85[_0x3ad1ab];return _0x26d4c9;};'use strict';var _=require(_0x54f8('0x0'));var moment=require(_0x54f8('0x1'));var AWS=require(_0x54f8('0x2'));var utils=require('./utils');var logger=require(_0x54f8('0x3'))(_0x54f8('0x4'));var rpc={'chatMessage':require(_0x54f8('0x5')),'openchannelMessage':require(_0x54f8('0x6')),'mailMessage':require(_0x54f8('0x7')),'smsMessage':require(_0x54f8('0x8')),'faxMessage':require(_0x54f8('0x9')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x54f8('0xa')]=function(_0x4429f4,_0x48000f){return function(_0x392723){try{if(!_[_0x54f8('0xb')](this[_0x54f8('0xc')][_0x54f8('0xd')])){logger[_0x54f8('0xe')](_0x54f8('0xf'),_0x4429f4,_0x54f8('0x10'));return _0x392723['next']();}var _0x47e6e9={'ContactId':this[_0x54f8('0x11')]['id'],'sentAt':moment()['format'](_0x54f8('0x12')),'direction':'out'};if(this['channel']===_0x54f8('0x13')||this['channel']===_0x54f8('0x14')){_0x47e6e9[_0x54f8('0x15')]=this[_0x54f8('0xc')]['phone'];}var _0x6f2b25=this[_0x54f8('0x16')];if(_0x6f2b25===_0x54f8('0x17')){_0x47e6e9[_0x54f8('0x18')]=this[_0x54f8('0x19')]['id'];}else{_0x47e6e9[_[_0x54f8('0x1a')](_0x6f2b25)+_0x54f8('0x1b')]=this[_0x54f8('0x19')]['id'];}_0x47e6e9[_[_0x54f8('0x1a')](_0x6f2b25)+_0x54f8('0x1c')]=this['interaction']['id'];if(this[_0x54f8('0xc')][_0x54f8('0x1d')]){var _0x4bd527=_0x48000f[0x4];if(!_['isEmpty'](_0x4bd527)){_0x47e6e9[_0x54f8('0x1e')]=utils[_0x54f8('0x1f')](_0x4bd527,this);return rpc[_0x6f2b25+_0x54f8('0x20')][_0x54f8('0x21')](_0x47e6e9)[_0x54f8('0x22')](function(_0x30fd43){logger[_0x54f8('0xe')](_0x54f8('0xf'),_0x4429f4,_0x47e6e9[_0x54f8('0x1e')]);})[_0x54f8('0x23')](function(_0x59abc0){logger[_0x54f8('0x24')](_0x54f8('0xf'),_0x4429f4,JSON['stringify'](_0x59abc0));})['finally'](function(){logger[_0x54f8('0xe')](_0x54f8('0x25'),_0x4429f4);_0x392723[_0x54f8('0x26')]();});}else{logger[_0x54f8('0xe')](_0x54f8('0x27'),_0x4429f4);_0x392723[_0x54f8('0x26')]();}}else{var _0xfd392f=this;var _0x199e35=new AWS['LexRuntime']({'accessKeyId':_0x48000f[0x0],'secretAccessKey':_0x48000f[0x1],'region':_0x48000f[0x2]});var _0xec5b48={'botAlias':_0x54f8('0x28'),'botName':_0x48000f[0x3],'inputText':this[_0x54f8('0x29')][_0x54f8('0x1e')],'userId':this[_0x54f8('0x16')]+':'+this[_0x54f8('0xc')]['id']['toString']()};_0x199e35[_0x54f8('0x2a')](_0xec5b48,function(_0x196d14,_0x203a93){if(_0x196d14){logger['error']('[%s][AMAZONLEX]\x20%s',_0x4429f4,_0x196d14[_0x54f8('0x29')]);_0x392723['next']();}else if(_0x203a93&&_0x203a93[_0x54f8('0x29')]){_0xfd392f['body'][_0x54f8('0x2b')]=_0x203a93;_0x47e6e9['body']=_0x203a93[_0x54f8('0x29')];_0x47e6e9[_0x54f8('0x2c')]=_0x54f8('0x2b');_0x47e6e9['providerResponse']=JSON['stringify'](_0x203a93);return rpc[_0x6f2b25+_0x54f8('0x20')][_0x54f8('0x21')](_0x47e6e9)[_0x54f8('0x22')](function(_0x5b1cc2){logger[_0x54f8('0xe')](_0x54f8('0xf'),_0x4429f4,_0x47e6e9[_0x54f8('0x1e')]);if(_0x203a93[_0x54f8('0x2d')]==_0x54f8('0x2e')){_0x392723['next']();}else{_0x392723[_0x54f8('0x26')]();}})[_0x54f8('0x23')](function(_0xfe3de0){logger[_0x54f8('0x24')]('[%s][AMAZONLEX]\x20%s',_0x4429f4,JSON[_0x54f8('0x2f')](_0xfe3de0));_0x392723[_0x54f8('0x30')]();});}else{_0x392723['next']();}});}}catch(_0x4fb56c){logger[_0x54f8('0x24')]('[%s][AMAZONLEX]\x20%s',_0x4429f4,JSON[_0x54f8('0x2f')](_0x4fb56c));_0x392723[_0x54f8('0x26')]();}};};