a8b5a2d7f9eea1a3ff724092af64d6c9aef62bc6
[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 _0xd35f=['getMustacheRender','Message','then','catch','error','stringify','finally','info','[%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','providerName','providerResponse','create','dialogState','lodash','moment','aws-sdk','../../../../config/logger','routing','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','consequence','isNil','UserId','[%s][AMAZONLEX]\x20%s','next','contact','format','YYYY-MM-DD\x20HH:mm:ss','sms','channel','whatsapp','interaction','phone','account','upperFirst','AccountId','created','isEmpty','body'];(function(_0x12f250,_0x5d00cd){var _0x21ef50=function(_0x5c29d2){while(--_0x5c29d2){_0x12f250['push'](_0x12f250['shift']());}};_0x21ef50(++_0x5d00cd);}(_0xd35f,0x183));var _0xfd35=function(_0x135704,_0x539aee){_0x135704=_0x135704-0x0;var _0x24e9fd=_0xd35f[_0x135704];return _0x24e9fd;};'use strict';var _=require(_0xfd35('0x0'));var moment=require(_0xfd35('0x1'));var AWS=require(_0xfd35('0x2'));var utils=require('./utils');var logger=require(_0xfd35('0x3'))(_0xfd35('0x4'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0xfd35('0x5')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0xfd35('0x6')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0xfd35('0x7'))};exports[_0xfd35('0x8')]=function(_0x3644ac,_0x3e3b71){return function(_0x88c74a){try{if(!_[_0xfd35('0x9')](this['interaction'][_0xfd35('0xa')])){logger['info'](_0xfd35('0xb'),_0x3644ac,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x88c74a[_0xfd35('0xc')]();}var _0x52f9d3={'ContactId':this[_0xfd35('0xd')]['id'],'sentAt':moment()[_0xfd35('0xe')](_0xfd35('0xf')),'direction':'out'};if(this['channel']===_0xfd35('0x10')||this[_0xfd35('0x11')]===_0xfd35('0x12')){_0x52f9d3['phone']=this[_0xfd35('0x13')][_0xfd35('0x14')];}var _0x5e574c=this['channel'];if(_0x5e574c==='chat'){_0x52f9d3['ChatWebsiteId']=this[_0xfd35('0x15')]['id'];}else{_0x52f9d3[_[_0xfd35('0x16')](_0x5e574c)+_0xfd35('0x17')]=this['account']['id'];}_0x52f9d3[_['upperFirst'](_0x5e574c)+'InteractionId']=this[_0xfd35('0x13')]['id'];if(this[_0xfd35('0x13')][_0xfd35('0x18')]){var _0x232963=_0x3e3b71[0x4];if(!_[_0xfd35('0x19')](_0x232963)){_0x52f9d3[_0xfd35('0x1a')]=utils[_0xfd35('0x1b')](_0x232963,this);return rpc[_0x5e574c+_0xfd35('0x1c')]['create'](_0x52f9d3)[_0xfd35('0x1d')](function(_0x5a5a19){logger['info'](_0xfd35('0xb'),_0x3644ac,_0x52f9d3['body']);})[_0xfd35('0x1e')](function(_0x783cd3){logger[_0xfd35('0x1f')](_0xfd35('0xb'),_0x3644ac,JSON[_0xfd35('0x20')](_0x783cd3));})[_0xfd35('0x21')](function(){logger[_0xfd35('0x22')](_0xfd35('0x23'),_0x3644ac);_0x88c74a[_0xfd35('0x24')]();});}else{logger[_0xfd35('0x22')](_0xfd35('0x25'),_0x3644ac);_0x88c74a[_0xfd35('0x24')]();}}else{var _0x4865ea=this;var _0x4d7c35=new AWS[(_0xfd35('0x26'))]({'accessKeyId':_0x3e3b71[0x0],'secretAccessKey':_0x3e3b71[0x1],'region':_0x3e3b71[0x2]});var _0x1b2b5e={'botAlias':_0xfd35('0x27'),'botName':_0x3e3b71[0x3],'inputText':this[_0xfd35('0x28')]['body'],'userId':this[_0xfd35('0x11')]+':'+this[_0xfd35('0x13')]['id']['toString']()};_0x4d7c35['postText'](_0x1b2b5e,function(_0x13ac16,_0x15a24f){if(_0x13ac16){logger[_0xfd35('0x1f')](_0xfd35('0xb'),_0x3644ac,_0x13ac16[_0xfd35('0x28')]);_0x88c74a[_0xfd35('0xc')]();}else if(_0x15a24f&&_0x15a24f['message']){_0x4865ea[_0xfd35('0x1a')][_0xfd35('0x29')]=_0x15a24f;_0x52f9d3['body']=_0x15a24f['message'];_0x52f9d3[_0xfd35('0x2a')]=_0xfd35('0x29');_0x52f9d3[_0xfd35('0x2b')]=JSON['stringify'](_0x15a24f);return rpc[_0x5e574c+_0xfd35('0x1c')][_0xfd35('0x2c')](_0x52f9d3)['then'](function(_0x288151){logger['info'](_0xfd35('0xb'),_0x3644ac,_0x52f9d3[_0xfd35('0x1a')]);if(_0x15a24f[_0xfd35('0x2d')]=='Failed'){_0x88c74a[_0xfd35('0xc')]();}else{_0x88c74a[_0xfd35('0x24')]();}})[_0xfd35('0x1e')](function(_0x2e243b){logger[_0xfd35('0x1f')](_0xfd35('0xb'),_0x3644ac,JSON[_0xfd35('0x20')](_0x2e243b));_0x88c74a['next']();});}else{_0x88c74a[_0xfd35('0xc')]();}});}}catch(_0x269ff6){logger[_0xfd35('0x1f')](_0xfd35('0xb'),_0x3644ac,JSON[_0xfd35('0x20')](_0x269ff6));_0x88c74a[_0xfd35('0x24')]();}};};