Built motion from commit da617fac.|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 _0x779e=['account','upperFirst','AccountId','InteractionId','created','isEmpty','body','Message','create','then','info','catch','error','finally','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','$LATEST','message','[%s][AMAZONLEX]\x20%s','amazonlex','providerResponse','stringify','dialogState','lodash','aws-sdk','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','consequence','interaction','UserId','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','ChatWebsiteId'];(function(_0x498580,_0x784ee2){var _0x4ab3ee=function(_0x1be591){while(--_0x1be591){_0x498580['push'](_0x498580['shift']());}};_0x4ab3ee(++_0x784ee2);}(_0x779e,0x170));var _0xe779=function(_0x18a16d,_0x199976){_0x18a16d=_0x18a16d-0x0;var _0x21cf0c=_0x779e[_0x18a16d];return _0x21cf0c;};'use strict';var _=require(_0xe779('0x0'));var moment=require('moment');var AWS=require(_0xe779('0x1'));var utils=require(_0xe779('0x2'));var logger=require(_0xe779('0x3'))(_0xe779('0x4'));var rpc={'chatMessage':require(_0xe779('0x5')),'openchannelMessage':require(_0xe779('0x6')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require('../../rpc/smsMessage'),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0xe779('0x7')]=function(_0x402f4b,_0x2beec0){return function(_0x4679e8){try{if(!_['isNil'](this[_0xe779('0x8')][_0xe779('0x9')])){logger['info']('[%s][AMAZONLEX]\x20%s',_0x402f4b,_0xe779('0xa'));return _0x4679e8[_0xe779('0xb')]();}var _0x5e15eb={'ContactId':this['contact']['id'],'sentAt':moment()['format'](_0xe779('0xc')),'direction':_0xe779('0xd')};if(this[_0xe779('0xe')]===_0xe779('0xf')||this[_0xe779('0xe')]===_0xe779('0x10')){_0x5e15eb[_0xe779('0x11')]=this[_0xe779('0x8')][_0xe779('0x11')];}var _0x191586=this[_0xe779('0xe')];if(_0x191586==='chat'){_0x5e15eb[_0xe779('0x12')]=this[_0xe779('0x13')]['id'];}else{_0x5e15eb[_[_0xe779('0x14')](_0x191586)+_0xe779('0x15')]=this[_0xe779('0x13')]['id'];}_0x5e15eb[_[_0xe779('0x14')](_0x191586)+_0xe779('0x16')]=this[_0xe779('0x8')]['id'];if(this['interaction'][_0xe779('0x17')]){var _0x18f780=_0x2beec0[0x4];if(!_[_0xe779('0x18')](_0x18f780)){_0x5e15eb[_0xe779('0x19')]=utils['getMustacheRender'](_0x18f780,this);return rpc[_0x191586+_0xe779('0x1a')][_0xe779('0x1b')](_0x5e15eb)[_0xe779('0x1c')](function(_0x23ba48){logger[_0xe779('0x1d')]('[%s][AMAZONLEX]\x20%s',_0x402f4b,_0x5e15eb[_0xe779('0x19')]);})[_0xe779('0x1e')](function(_0xf23bb3){logger[_0xe779('0x1f')]('[%s][AMAZONLEX]\x20%s',_0x402f4b,JSON['stringify'](_0xf23bb3));})[_0xe779('0x20')](function(){logger[_0xe779('0x1d')]('[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x402f4b);_0x4679e8[_0xe779('0x21')]();});}else{logger['info'](_0xe779('0x22'),_0x402f4b);_0x4679e8[_0xe779('0x21')]();}}else{var _0x3a8d0b=this;var _0x3fc2a0=new AWS[(_0xe779('0x23'))]({'accessKeyId':_0x2beec0[0x0],'secretAccessKey':_0x2beec0[0x1],'region':_0x2beec0[0x2]});var _0x5e7abb={'botAlias':_0xe779('0x24'),'botName':_0x2beec0[0x3],'inputText':this[_0xe779('0x25')][_0xe779('0x19')],'userId':this[_0xe779('0xe')]+':'+this['interaction']['id']['toString']()};_0x3fc2a0['postText'](_0x5e7abb,function(_0x3daf35,_0x109d38){if(_0x3daf35){logger['error'](_0xe779('0x26'),_0x402f4b,_0x3daf35[_0xe779('0x25')]);_0x4679e8[_0xe779('0xb')]();}else if(_0x109d38&&_0x109d38[_0xe779('0x25')]){_0x3a8d0b[_0xe779('0x19')][_0xe779('0x27')]=_0x109d38;_0x5e15eb['body']=_0x109d38[_0xe779('0x25')];_0x5e15eb['providerName']=_0xe779('0x27');_0x5e15eb[_0xe779('0x28')]=JSON[_0xe779('0x29')](_0x109d38);return rpc[_0x191586+_0xe779('0x1a')][_0xe779('0x1b')](_0x5e15eb)[_0xe779('0x1c')](function(_0x109b12){logger[_0xe779('0x1d')](_0xe779('0x26'),_0x402f4b,_0x5e15eb[_0xe779('0x19')]);if(_0x109d38[_0xe779('0x2a')]=='Failed'){_0x4679e8[_0xe779('0xb')]();}else{_0x4679e8[_0xe779('0x21')]();}})['catch'](function(_0x231a4f){logger['error'](_0xe779('0x26'),_0x402f4b,JSON[_0xe779('0x29')](_0x231a4f));_0x4679e8[_0xe779('0xb')]();});}else{_0x4679e8['next']();}});}}catch(_0x58a2af){logger[_0xe779('0x1f')](_0xe779('0x26'),_0x402f4b,JSON[_0xe779('0x29')](_0x58a2af));_0x4679e8['stop']();}};};