4a47ad8c5fb537548829de243d8427a5d4179906
[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 _0x1ad9=['lodash','moment','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','isNil','interaction','UserId','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','out','sms','channel','whatsapp','phone','chat','ChatWebsiteId','account','upperFirst','InteractionId','created','isEmpty','body','getMustacheRender','create','then','info','[%s][AMAZONLEX]\x20%s','catch','error','finally','[%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','next','providerName','providerResponse','stringify','Message','dialogState','Failed'];(function(_0x4154a6,_0x2c0b8e){var _0x3b2786=function(_0x2f5936){while(--_0x2f5936){_0x4154a6['push'](_0x4154a6['shift']());}};_0x3b2786(++_0x2c0b8e);}(_0x1ad9,0x188));var _0x91ad=function(_0x236d24,_0x29e80a){_0x236d24=_0x236d24-0x0;var _0x1574cf=_0x1ad9[_0x236d24];return _0x1574cf;};'use strict';var _=require(_0x91ad('0x0'));var moment=require(_0x91ad('0x1'));var AWS=require('aws-sdk');var utils=require(_0x91ad('0x2'));var logger=require(_0x91ad('0x3'))('routing');var rpc={'chatMessage':require(_0x91ad('0x4')),'openchannelMessage':require(_0x91ad('0x5')),'mailMessage':require(_0x91ad('0x6')),'smsMessage':require(_0x91ad('0x7')),'faxMessage':require(_0x91ad('0x8')),'whatsappMessage':require(_0x91ad('0x9'))};exports[_0x91ad('0xa')]=function(_0x1560a1,_0x454e26){return function(_0x55e37a){try{if(!_[_0x91ad('0xb')](this[_0x91ad('0xc')][_0x91ad('0xd')])){logger['info']('[%s][AMAZONLEX]\x20%s',_0x1560a1,_0x91ad('0xe'));return _0x55e37a['next']();}var _0x111740={'ContactId':this['contact']['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0x91ad('0xf')};if(this['channel']===_0x91ad('0x10')||this[_0x91ad('0x11')]===_0x91ad('0x12')){_0x111740['phone']=this[_0x91ad('0xc')][_0x91ad('0x13')];}var _0x4eb215=this[_0x91ad('0x11')];if(_0x4eb215===_0x91ad('0x14')){_0x111740[_0x91ad('0x15')]=this[_0x91ad('0x16')]['id'];}else{_0x111740[_[_0x91ad('0x17')](_0x4eb215)+'AccountId']=this['account']['id'];}_0x111740[_[_0x91ad('0x17')](_0x4eb215)+_0x91ad('0x18')]=this[_0x91ad('0xc')]['id'];if(this[_0x91ad('0xc')][_0x91ad('0x19')]){var _0xa97588=_0x454e26[0x4];if(!_[_0x91ad('0x1a')](_0xa97588)){_0x111740[_0x91ad('0x1b')]=utils[_0x91ad('0x1c')](_0xa97588,this);return rpc[_0x4eb215+'Message'][_0x91ad('0x1d')](_0x111740)[_0x91ad('0x1e')](function(_0xd43442){logger[_0x91ad('0x1f')](_0x91ad('0x20'),_0x1560a1,_0x111740[_0x91ad('0x1b')]);})[_0x91ad('0x21')](function(_0x2854bd){logger[_0x91ad('0x22')](_0x91ad('0x20'),_0x1560a1,JSON['stringify'](_0x2854bd));})[_0x91ad('0x23')](function(){logger[_0x91ad('0x1f')](_0x91ad('0x24'),_0x1560a1);_0x55e37a[_0x91ad('0x25')]();});}else{logger['info'](_0x91ad('0x26'),_0x1560a1);_0x55e37a[_0x91ad('0x25')]();}}else{var _0x234d50=this;var _0x2c0a1e=new AWS[(_0x91ad('0x27'))]({'accessKeyId':_0x454e26[0x0],'secretAccessKey':_0x454e26[0x1],'region':_0x454e26[0x2]});var _0x57c100={'botAlias':_0x91ad('0x28'),'botName':_0x454e26[0x3],'inputText':this['message'][_0x91ad('0x1b')],'userId':this['channel']+':'+this[_0x91ad('0xc')]['id']['toString']()};_0x2c0a1e['postText'](_0x57c100,function(_0x1d74d2,_0x132cac){if(_0x1d74d2){logger[_0x91ad('0x22')](_0x91ad('0x20'),_0x1560a1,_0x1d74d2[_0x91ad('0x29')]);_0x55e37a[_0x91ad('0x2a')]();}else if(_0x132cac&&_0x132cac[_0x91ad('0x29')]){_0x234d50[_0x91ad('0x1b')]['amazonlex']=_0x132cac;_0x111740[_0x91ad('0x1b')]=_0x132cac[_0x91ad('0x29')];_0x111740[_0x91ad('0x2b')]='amazonlex';_0x111740[_0x91ad('0x2c')]=JSON[_0x91ad('0x2d')](_0x132cac);return rpc[_0x4eb215+_0x91ad('0x2e')]['create'](_0x111740)[_0x91ad('0x1e')](function(_0xacdf0e){logger['info'](_0x91ad('0x20'),_0x1560a1,_0x111740['body']);if(_0x132cac[_0x91ad('0x2f')]==_0x91ad('0x30')){_0x55e37a['next']();}else{_0x55e37a['stop']();}})['catch'](function(_0x3c8797){logger[_0x91ad('0x22')](_0x91ad('0x20'),_0x1560a1,JSON[_0x91ad('0x2d')](_0x3c8797));_0x55e37a[_0x91ad('0x2a')]();});}else{_0x55e37a['next']();}});}}catch(_0x345519){logger[_0x91ad('0x22')](_0x91ad('0x20'),_0x1560a1,JSON[_0x91ad('0x2d')](_0x345519));_0x55e37a[_0x91ad('0x25')]();}};};