Built motion from commit 9c91e9f5.|2.6.29
[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 _0x332a=['account','AccountId','upperFirst','InteractionId','isEmpty','getMustacheRender','Message','create','[%s][AMAZONLEX]\x20%s','body','catch','stringify','finally','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','toString','message','providerName','amazonlex','then','dialogState','Failed','error','aws-sdk','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','consequence','isNil','UserId','info','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','whatsapp','phone','interaction','chat'];(function(_0x30d30e,_0x54bd18){var _0x59155b=function(_0x139604){while(--_0x139604){_0x30d30e['push'](_0x30d30e['shift']());}};_0x59155b(++_0x54bd18);}(_0x332a,0x1c0));var _0xa332=function(_0x2d78c6,_0x1b5010){_0x2d78c6=_0x2d78c6-0x0;var _0x43b12a=_0x332a[_0x2d78c6];return _0x43b12a;};'use strict';var _=require('lodash');var moment=require('moment');var AWS=require(_0xa332('0x0'));var utils=require(_0xa332('0x1'));var logger=require(_0xa332('0x2'))(_0xa332('0x3'));var rpc={'chatMessage':require(_0xa332('0x4')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0xa332('0x5')),'smsMessage':require(_0xa332('0x6')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0xa332('0x7'))};exports[_0xa332('0x8')]=function(_0x33b9e8,_0xf701ce){return function(_0x158e2c){try{if(!_[_0xa332('0x9')](this['interaction'][_0xa332('0xa')])){logger[_0xa332('0xb')]('[%s][AMAZONLEX]\x20%s',_0x33b9e8,_0xa332('0xc'));return _0x158e2c[_0xa332('0xd')]();}var _0x2d897f={'ContactId':this['contact']['id'],'sentAt':moment()[_0xa332('0xe')](_0xa332('0xf')),'direction':_0xa332('0x10')};if(this['channel']==='sms'||this[_0xa332('0x11')]===_0xa332('0x12')){_0x2d897f[_0xa332('0x13')]=this[_0xa332('0x14')][_0xa332('0x13')];}var _0x595693=this[_0xa332('0x11')];if(_0x595693===_0xa332('0x15')){_0x2d897f['ChatWebsiteId']=this[_0xa332('0x16')]['id'];}else{_0x2d897f[_['upperFirst'](_0x595693)+_0xa332('0x17')]=this['account']['id'];}_0x2d897f[_[_0xa332('0x18')](_0x595693)+_0xa332('0x19')]=this[_0xa332('0x14')]['id'];if(this[_0xa332('0x14')]['created']){var _0xe43311=_0xf701ce[0x4];if(!_[_0xa332('0x1a')](_0xe43311)){_0x2d897f['body']=utils[_0xa332('0x1b')](_0xe43311,this);return rpc[_0x595693+_0xa332('0x1c')][_0xa332('0x1d')](_0x2d897f)['then'](function(_0x46e163){logger[_0xa332('0xb')](_0xa332('0x1e'),_0x33b9e8,_0x2d897f[_0xa332('0x1f')]);})[_0xa332('0x20')](function(_0x5b9486){logger['error'](_0xa332('0x1e'),_0x33b9e8,JSON[_0xa332('0x21')](_0x5b9486));})[_0xa332('0x22')](function(){logger[_0xa332('0xb')](_0xa332('0x23'),_0x33b9e8);_0x158e2c[_0xa332('0x24')]();});}else{logger[_0xa332('0xb')](_0xa332('0x25'),_0x33b9e8);_0x158e2c[_0xa332('0x24')]();}}else{var _0x3dc0c4=this;var _0x19ce5d=new AWS[(_0xa332('0x26'))]({'accessKeyId':_0xf701ce[0x0],'secretAccessKey':_0xf701ce[0x1],'region':_0xf701ce[0x2]});var _0x461618={'botAlias':'$LATEST','botName':_0xf701ce[0x3],'inputText':this['message'][_0xa332('0x1f')],'userId':this['channel']+':'+this[_0xa332('0x14')]['id'][_0xa332('0x27')]()};_0x19ce5d['postText'](_0x461618,function(_0x4abe16,_0x17aa63){if(_0x4abe16){logger['error'](_0xa332('0x1e'),_0x33b9e8,_0x4abe16[_0xa332('0x28')]);_0x158e2c['next']();}else if(_0x17aa63&&_0x17aa63[_0xa332('0x28')]){_0x3dc0c4['body']['amazonlex']=_0x17aa63;_0x2d897f['body']=_0x17aa63['message'];_0x2d897f[_0xa332('0x29')]=_0xa332('0x2a');_0x2d897f['providerResponse']=JSON[_0xa332('0x21')](_0x17aa63);return rpc[_0x595693+'Message'][_0xa332('0x1d')](_0x2d897f)[_0xa332('0x2b')](function(_0x49e03a){logger[_0xa332('0xb')](_0xa332('0x1e'),_0x33b9e8,_0x2d897f[_0xa332('0x1f')]);if(_0x17aa63[_0xa332('0x2c')]==_0xa332('0x2d')){_0x158e2c['next']();}else{_0x158e2c[_0xa332('0x24')]();}})[_0xa332('0x20')](function(_0x8c15b9){logger['error']('[%s][AMAZONLEX]\x20%s',_0x33b9e8,JSON[_0xa332('0x21')](_0x8c15b9));_0x158e2c['next']();});}else{_0x158e2c[_0xa332('0xd')]();}});}}catch(_0x2e622a){logger[_0xa332('0x2e')](_0xa332('0x1e'),_0x33b9e8,JSON[_0xa332('0x21')](_0x2e622a));_0x158e2c[_0xa332('0x24')]();}};};