Built motion from commit (unavailable).|2.4.10
[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 _0x29ab=['toString','postText','amazonlex','info','dialogState','Failed','stringify','lodash','moment','aws-sdk','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/faxMessage','consequence','isNil','interaction','UserId','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','YYYY-MM-DD\x20HH:mm:ss','out','account','upperFirst','AccountId','created','body','getMustacheRender','Message','create','then','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'];(function(_0x33cbc2,_0x410146){var _0x95e727=function(_0x203d23){while(--_0x203d23){_0x33cbc2['push'](_0x33cbc2['shift']());}};_0x95e727(++_0x410146);}(_0x29ab,0xd9));var _0xb29a=function(_0x2295ce,_0x3d77f2){_0x2295ce=_0x2295ce-0x0;var _0x2897bc=_0x29ab[_0x2295ce];return _0x2897bc;};'use strict';var _=require(_0xb29a('0x0'));var moment=require(_0xb29a('0x1'));var AWS=require(_0xb29a('0x2'));var utils=require(_0xb29a('0x3'));var logger=require(_0xb29a('0x4'))('routing');var rpc={'chatMessage':require(_0xb29a('0x5')),'openchannelMessage':require(_0xb29a('0x6')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require(_0xb29a('0x7'))};exports[_0xb29a('0x8')]=function(_0x5a2df9,_0x3f2f5){return function(_0x293842){try{if(!_[_0xb29a('0x9')](this[_0xb29a('0xa')][_0xb29a('0xb')])){logger['info'](_0xb29a('0xc'),_0x5a2df9,_0xb29a('0xd'));return _0x293842[_0xb29a('0xe')]();}var _0x52eb5c={'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0xb29a('0xf')),'direction':_0xb29a('0x10')};var _0x5a77c8=this['channel'];if(_0x5a77c8==='chat'){_0x52eb5c['ChatWebsiteId']=this[_0xb29a('0x11')]['id'];}else{_0x52eb5c[_[_0xb29a('0x12')](_0x5a77c8)+_0xb29a('0x13')]=this[_0xb29a('0x11')]['id'];}_0x52eb5c[_[_0xb29a('0x12')](_0x5a77c8)+'InteractionId']=this['interaction']['id'];if(this[_0xb29a('0xa')][_0xb29a('0x14')]){var _0x2beef5=_0x3f2f5[0x4];if(!_['isEmpty'](_0x2beef5)){_0x52eb5c[_0xb29a('0x15')]=utils[_0xb29a('0x16')](_0x2beef5,this);return rpc[_0x5a77c8+_0xb29a('0x17')][_0xb29a('0x18')](_0x52eb5c)[_0xb29a('0x19')](function(_0x1714db){logger['info'](_0xb29a('0xc'),_0x5a2df9,_0x52eb5c['body']);})[_0xb29a('0x1a')](function(_0x46fea7){logger[_0xb29a('0x1b')](_0xb29a('0xc'),_0x5a2df9,JSON['stringify'](_0x46fea7));})[_0xb29a('0x1c')](function(){logger['info'](_0xb29a('0x1d'),_0x5a2df9);_0x293842[_0xb29a('0x1e')]();});}else{logger['info'](_0xb29a('0x1f'),_0x5a2df9);_0x293842[_0xb29a('0x1e')]();}}else{var _0x343100=this;var _0x390802=new AWS[(_0xb29a('0x20'))]({'accessKeyId':_0x3f2f5[0x0],'secretAccessKey':_0x3f2f5[0x1],'region':_0x3f2f5[0x2]});var _0x257cc4={'botAlias':_0xb29a('0x21'),'botName':_0x3f2f5[0x3],'inputText':this[_0xb29a('0x22')]['body'],'userId':this[_0xb29a('0xa')]['id'][_0xb29a('0x23')]()};_0x390802[_0xb29a('0x24')](_0x257cc4,function(_0x49ff47,_0x1e8ae4){if(_0x49ff47){logger['error'](_0xb29a('0xc'),_0x5a2df9,_0x49ff47['message']);_0x293842[_0xb29a('0xe')]();}else if(_0x1e8ae4&&_0x1e8ae4[_0xb29a('0x22')]){_0x343100[_0xb29a('0x15')][_0xb29a('0x25')]=_0x1e8ae4;_0x52eb5c[_0xb29a('0x15')]=_0x1e8ae4[_0xb29a('0x22')];return rpc[_0x5a77c8+_0xb29a('0x17')]['create'](_0x52eb5c)[_0xb29a('0x19')](function(_0x30ce2a){logger[_0xb29a('0x26')](_0xb29a('0xc'),_0x5a2df9,_0x52eb5c[_0xb29a('0x15')]);if(_0x1e8ae4[_0xb29a('0x27')]==_0xb29a('0x28')){_0x293842[_0xb29a('0xe')]();}else{_0x293842['stop']();}})['catch'](function(_0x3b08b4){logger[_0xb29a('0x1b')]('[%s][AMAZONLEX]\x20%s',_0x5a2df9,JSON[_0xb29a('0x29')](_0x3b08b4));_0x293842[_0xb29a('0xe')]();});}else{_0x293842['next']();}});}}catch(_0x20ef2f){logger[_0xb29a('0x1b')]('[%s][AMAZONLEX]\x20%s',_0x5a2df9,JSON[_0xb29a('0x29')](_0x20ef2f));_0x293842[_0xb29a('0x1e')]();}};};