33116551d48d900f1d165e00df25553af216a778
[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 _0xe695=['[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','YYYY-MM-DD\x20HH:mm:ss','channel','sms','phone','chat','ChatWebsiteId','account','upperFirst','InteractionId','created','isEmpty','create','then','body','catch','error','stringify','finally','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','message','toString','postText','amazonlex','providerResponse','Message','dialogState','Failed','moment','aws-sdk','./utils','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/faxMessage','consequence','isNil','interaction','info'];(function(_0x4fe49a,_0x34a483){var _0xef65d8=function(_0x27c554){while(--_0x27c554){_0x4fe49a['push'](_0x4fe49a['shift']());}};_0xef65d8(++_0x34a483);}(_0xe695,0x76));var _0x5e69=function(_0x419d92,_0x378073){_0x419d92=_0x419d92-0x0;var _0xd97a9=_0xe695[_0x419d92];return _0xd97a9;};'use strict';var _=require('lodash');var moment=require(_0x5e69('0x0'));var AWS=require(_0x5e69('0x1'));var utils=require(_0x5e69('0x2'));var logger=require('../../../../config/logger')(_0x5e69('0x3'));var rpc={'chatMessage':require(_0x5e69('0x4')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0x5e69('0x5')),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0x5e69('0x6')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0x5e69('0x7')]=function(_0x2e8ee9,_0x5ada2d){return function(_0x13d4ed){try{if(!_[_0x5e69('0x8')](this[_0x5e69('0x9')]['UserId'])){logger[_0x5e69('0xa')](_0x5e69('0xb'),_0x2e8ee9,_0x5e69('0xc'));return _0x13d4ed[_0x5e69('0xd')]();}var _0x2b09c={'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0x5e69('0xe')),'direction':'out'};if(this[_0x5e69('0xf')]===_0x5e69('0x10')||this[_0x5e69('0xf')]==='whatsapp'){_0x2b09c['phone']=this['interaction'][_0x5e69('0x11')];}var _0x364c95=this[_0x5e69('0xf')];if(_0x364c95===_0x5e69('0x12')){_0x2b09c[_0x5e69('0x13')]=this['account']['id'];}else{_0x2b09c[_['upperFirst'](_0x364c95)+'AccountId']=this[_0x5e69('0x14')]['id'];}_0x2b09c[_[_0x5e69('0x15')](_0x364c95)+_0x5e69('0x16')]=this[_0x5e69('0x9')]['id'];if(this[_0x5e69('0x9')][_0x5e69('0x17')]){var _0x19c71e=_0x5ada2d[0x4];if(!_[_0x5e69('0x18')](_0x19c71e)){_0x2b09c['body']=utils['getMustacheRender'](_0x19c71e,this);return rpc[_0x364c95+'Message'][_0x5e69('0x19')](_0x2b09c)[_0x5e69('0x1a')](function(_0x11a3bf){logger[_0x5e69('0xa')](_0x5e69('0xb'),_0x2e8ee9,_0x2b09c[_0x5e69('0x1b')]);})[_0x5e69('0x1c')](function(_0x752ed5){logger[_0x5e69('0x1d')]('[%s][AMAZONLEX]\x20%s',_0x2e8ee9,JSON[_0x5e69('0x1e')](_0x752ed5));})[_0x5e69('0x1f')](function(){logger[_0x5e69('0xa')]('[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x2e8ee9);_0x13d4ed[_0x5e69('0x20')]();});}else{logger[_0x5e69('0xa')](_0x5e69('0x21'),_0x2e8ee9);_0x13d4ed[_0x5e69('0x20')]();}}else{var _0x352612=this;var _0x16edb7=new AWS[(_0x5e69('0x22'))]({'accessKeyId':_0x5ada2d[0x0],'secretAccessKey':_0x5ada2d[0x1],'region':_0x5ada2d[0x2]});var _0x15dee7={'botAlias':'$LATEST','botName':_0x5ada2d[0x3],'inputText':this[_0x5e69('0x23')]['body'],'userId':this[_0x5e69('0xf')]+':'+this[_0x5e69('0x9')]['id'][_0x5e69('0x24')]()};_0x16edb7[_0x5e69('0x25')](_0x15dee7,function(_0x549f7d,_0x4b1fed){if(_0x549f7d){logger['error'](_0x5e69('0xb'),_0x2e8ee9,_0x549f7d[_0x5e69('0x23')]);_0x13d4ed['next']();}else if(_0x4b1fed&&_0x4b1fed['message']){_0x352612[_0x5e69('0x1b')][_0x5e69('0x26')]=_0x4b1fed;_0x2b09c[_0x5e69('0x1b')]=_0x4b1fed[_0x5e69('0x23')];_0x2b09c['providerName']=_0x5e69('0x26');_0x2b09c[_0x5e69('0x27')]=JSON[_0x5e69('0x1e')](_0x4b1fed);return rpc[_0x364c95+_0x5e69('0x28')][_0x5e69('0x19')](_0x2b09c)[_0x5e69('0x1a')](function(_0x217cc4){logger[_0x5e69('0xa')](_0x5e69('0xb'),_0x2e8ee9,_0x2b09c[_0x5e69('0x1b')]);if(_0x4b1fed[_0x5e69('0x29')]==_0x5e69('0x2a')){_0x13d4ed[_0x5e69('0xd')]();}else{_0x13d4ed['stop']();}})[_0x5e69('0x1c')](function(_0x406670){logger[_0x5e69('0x1d')]('[%s][AMAZONLEX]\x20%s',_0x2e8ee9,JSON[_0x5e69('0x1e')](_0x406670));_0x13d4ed[_0x5e69('0xd')]();});}else{_0x13d4ed['next']();}});}}catch(_0x3060dc){logger[_0x5e69('0x1d')](_0x5e69('0xb'),_0x2e8ee9,JSON[_0x5e69('0x1e')](_0x3060dc));_0x13d4ed[_0x5e69('0x20')]();}};};