Built motion from commit f0b1811d.|2.6.6
[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 _0x47d6=['then','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','$LATEST','error','message','amazonlex','providerName','providerResponse','create','Failed','lodash','moment','aws-sdk','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/faxMessage','consequence','isNil','UserId','info','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','format','YYYY-MM-DD\x20HH:mm:ss','sms','channel','whatsapp','phone','interaction','chat','ChatWebsiteId','account','upperFirst','InteractionId','created','body','getMustacheRender','Message'];(function(_0x34bf97,_0xc60f9d){var _0x292719=function(_0x31354e){while(--_0x31354e){_0x34bf97['push'](_0x34bf97['shift']());}};_0x292719(++_0xc60f9d);}(_0x47d6,0x190));var _0x647d=function(_0x1b915e,_0x367c64){_0x1b915e=_0x1b915e-0x0;var _0x2673ff=_0x47d6[_0x1b915e];return _0x2673ff;};'use strict';var _=require(_0x647d('0x0'));var moment=require(_0x647d('0x1'));var AWS=require(_0x647d('0x2'));var utils=require(_0x647d('0x3'));var logger=require('../../../../config/logger')(_0x647d('0x4'));var rpc={'chatMessage':require(_0x647d('0x5')),'openchannelMessage':require(_0x647d('0x6')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x647d('0x7')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x647d('0x8')]=function(_0x357e5d,_0x3d96bc){return function(_0x1ee928){try{if(!_[_0x647d('0x9')](this['interaction'][_0x647d('0xa')])){logger[_0x647d('0xb')](_0x647d('0xc'),_0x357e5d,_0x647d('0xd'));return _0x1ee928[_0x647d('0xe')]();}var _0x359fc7={'ContactId':this[_0x647d('0xf')]['id'],'sentAt':moment()[_0x647d('0x10')](_0x647d('0x11')),'direction':'out'};if(this['channel']===_0x647d('0x12')||this[_0x647d('0x13')]===_0x647d('0x14')){_0x359fc7[_0x647d('0x15')]=this[_0x647d('0x16')]['phone'];}var _0x4a65ce=this[_0x647d('0x13')];if(_0x4a65ce===_0x647d('0x17')){_0x359fc7[_0x647d('0x18')]=this[_0x647d('0x19')]['id'];}else{_0x359fc7[_[_0x647d('0x1a')](_0x4a65ce)+'AccountId']=this[_0x647d('0x19')]['id'];}_0x359fc7[_['upperFirst'](_0x4a65ce)+_0x647d('0x1b')]=this[_0x647d('0x16')]['id'];if(this['interaction'][_0x647d('0x1c')]){var _0x3bef84=_0x3d96bc[0x4];if(!_['isEmpty'](_0x3bef84)){_0x359fc7[_0x647d('0x1d')]=utils[_0x647d('0x1e')](_0x3bef84,this);return rpc[_0x4a65ce+_0x647d('0x1f')]['create'](_0x359fc7)[_0x647d('0x20')](function(_0x539a47){logger[_0x647d('0xb')](_0x647d('0xc'),_0x357e5d,_0x359fc7[_0x647d('0x1d')]);})[_0x647d('0x21')](function(_0x150fd5){logger['error']('[%s][AMAZONLEX]\x20%s',_0x357e5d,JSON[_0x647d('0x22')](_0x150fd5));})[_0x647d('0x23')](function(){logger['info'](_0x647d('0x24'),_0x357e5d);_0x1ee928[_0x647d('0x25')]();});}else{logger[_0x647d('0xb')](_0x647d('0x26'),_0x357e5d);_0x1ee928[_0x647d('0x25')]();}}else{var _0x76f19a=this;var _0x1c4a4b=new AWS[(_0x647d('0x27'))]({'accessKeyId':_0x3d96bc[0x0],'secretAccessKey':_0x3d96bc[0x1],'region':_0x3d96bc[0x2]});var _0x4d0e63={'botAlias':_0x647d('0x28'),'botName':_0x3d96bc[0x3],'inputText':this['message'][_0x647d('0x1d')],'userId':this[_0x647d('0x13')]+':'+this['interaction']['id']['toString']()};_0x1c4a4b['postText'](_0x4d0e63,function(_0x594619,_0x4db156){if(_0x594619){logger[_0x647d('0x29')]('[%s][AMAZONLEX]\x20%s',_0x357e5d,_0x594619[_0x647d('0x2a')]);_0x1ee928[_0x647d('0xe')]();}else if(_0x4db156&&_0x4db156[_0x647d('0x2a')]){_0x76f19a[_0x647d('0x1d')][_0x647d('0x2b')]=_0x4db156;_0x359fc7[_0x647d('0x1d')]=_0x4db156[_0x647d('0x2a')];_0x359fc7[_0x647d('0x2c')]=_0x647d('0x2b');_0x359fc7[_0x647d('0x2d')]=JSON[_0x647d('0x22')](_0x4db156);return rpc[_0x4a65ce+_0x647d('0x1f')][_0x647d('0x2e')](_0x359fc7)[_0x647d('0x20')](function(_0x500be0){logger[_0x647d('0xb')](_0x647d('0xc'),_0x357e5d,_0x359fc7[_0x647d('0x1d')]);if(_0x4db156['dialogState']==_0x647d('0x2f')){_0x1ee928[_0x647d('0xe')]();}else{_0x1ee928[_0x647d('0x25')]();}})[_0x647d('0x21')](function(_0x273e65){logger['error'](_0x647d('0xc'),_0x357e5d,JSON[_0x647d('0x22')](_0x273e65));_0x1ee928[_0x647d('0xe')]();});}else{_0x1ee928[_0x647d('0xe')]();}});}}catch(_0x3897b7){logger['error']('[%s][AMAZONLEX]\x20%s',_0x357e5d,JSON[_0x647d('0x22')](_0x3897b7));_0x1ee928[_0x647d('0x25')]();}};};