Built motion from commit 9d1906d1.|2.5.40
[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 _0x262b=['../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','isNil','interaction','info','[%s][AMAZONLEX]\x20%s','next','contact','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','chat','ChatWebsiteId','account','AccountId','InteractionId','created','isEmpty','body','getMustacheRender','Message','create','then','catch','error','stringify','[%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','amazonlex','providerResponse','dialogState','lodash','moment','aws-sdk','../../../../config/logger','routing'];(function(_0x3a23e7,_0x5a7478){var _0x438c8c=function(_0x3e9d1e){while(--_0x3e9d1e){_0x3a23e7['push'](_0x3a23e7['shift']());}};_0x438c8c(++_0x5a7478);}(_0x262b,0x199));var _0xb262=function(_0x20a584,_0xe384a5){_0x20a584=_0x20a584-0x0;var _0x4b41a8=_0x262b[_0x20a584];return _0x4b41a8;};'use strict';var _=require(_0xb262('0x0'));var moment=require(_0xb262('0x1'));var AWS=require(_0xb262('0x2'));var utils=require('./utils');var logger=require(_0xb262('0x3'))(_0xb262('0x4'));var rpc={'chatMessage':require(_0xb262('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0xb262('0x6')),'smsMessage':require(_0xb262('0x7')),'faxMessage':require(_0xb262('0x8')),'whatsappMessage':require(_0xb262('0x9'))};exports['consequence']=function(_0x4f3789,_0x5e0de9){return function(_0x14ba37){try{if(!_[_0xb262('0xa')](this[_0xb262('0xb')]['UserId'])){logger[_0xb262('0xc')](_0xb262('0xd'),_0x4f3789,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x14ba37[_0xb262('0xe')]();}var _0x1e7165={'ContactId':this[_0xb262('0xf')]['id'],'sentAt':moment()['format'](_0xb262('0x10')),'direction':_0xb262('0x11')};if(this[_0xb262('0x12')]===_0xb262('0x13')||this[_0xb262('0x12')]===_0xb262('0x14')){_0x1e7165[_0xb262('0x15')]=this[_0xb262('0xb')][_0xb262('0x15')];}var _0x504b37=this['channel'];if(_0x504b37===_0xb262('0x16')){_0x1e7165[_0xb262('0x17')]=this[_0xb262('0x18')]['id'];}else{_0x1e7165[_['upperFirst'](_0x504b37)+_0xb262('0x19')]=this[_0xb262('0x18')]['id'];}_0x1e7165[_['upperFirst'](_0x504b37)+_0xb262('0x1a')]=this[_0xb262('0xb')]['id'];if(this[_0xb262('0xb')][_0xb262('0x1b')]){var _0x1297eb=_0x5e0de9[0x4];if(!_[_0xb262('0x1c')](_0x1297eb)){_0x1e7165[_0xb262('0x1d')]=utils[_0xb262('0x1e')](_0x1297eb,this);return rpc[_0x504b37+_0xb262('0x1f')][_0xb262('0x20')](_0x1e7165)[_0xb262('0x21')](function(_0x2ae1bd){logger['info'](_0xb262('0xd'),_0x4f3789,_0x1e7165[_0xb262('0x1d')]);})[_0xb262('0x22')](function(_0x5ef840){logger[_0xb262('0x23')](_0xb262('0xd'),_0x4f3789,JSON[_0xb262('0x24')](_0x5ef840));})['finally'](function(){logger[_0xb262('0xc')](_0xb262('0x25'),_0x4f3789);_0x14ba37[_0xb262('0x26')]();});}else{logger[_0xb262('0xc')](_0xb262('0x27'),_0x4f3789);_0x14ba37['stop']();}}else{var _0x4f1920=this;var _0x41dcf8=new AWS[(_0xb262('0x28'))]({'accessKeyId':_0x5e0de9[0x0],'secretAccessKey':_0x5e0de9[0x1],'region':_0x5e0de9[0x2]});var _0x1f5457={'botAlias':_0xb262('0x29'),'botName':_0x5e0de9[0x3],'inputText':this[_0xb262('0x2a')][_0xb262('0x1d')],'userId':this['channel']+':'+this[_0xb262('0xb')]['id']['toString']()};_0x41dcf8['postText'](_0x1f5457,function(_0x4bc9e8,_0x35011f){if(_0x4bc9e8){logger[_0xb262('0x23')](_0xb262('0xd'),_0x4f3789,_0x4bc9e8[_0xb262('0x2a')]);_0x14ba37['next']();}else if(_0x35011f&&_0x35011f[_0xb262('0x2a')]){_0x4f1920['body']['amazonlex']=_0x35011f;_0x1e7165[_0xb262('0x1d')]=_0x35011f[_0xb262('0x2a')];_0x1e7165['providerName']=_0xb262('0x2b');_0x1e7165[_0xb262('0x2c')]=JSON[_0xb262('0x24')](_0x35011f);return rpc[_0x504b37+_0xb262('0x1f')][_0xb262('0x20')](_0x1e7165)['then'](function(_0x3699b8){logger[_0xb262('0xc')]('[%s][AMAZONLEX]\x20%s',_0x4f3789,_0x1e7165[_0xb262('0x1d')]);if(_0x35011f[_0xb262('0x2d')]=='Failed'){_0x14ba37['next']();}else{_0x14ba37[_0xb262('0x26')]();}})[_0xb262('0x22')](function(_0x4bdc0e){logger['error'](_0xb262('0xd'),_0x4f3789,JSON[_0xb262('0x24')](_0x4bdc0e));_0x14ba37[_0xb262('0xe')]();});}else{_0x14ba37[_0xb262('0xe')]();}});}}catch(_0x1dfd2f){logger['error'](_0xb262('0xd'),_0x4f3789,JSON['stringify'](_0x1dfd2f));_0x14ba37[_0xb262('0x26')]();}};};