Built motion from commit (unavailable).|2.5.5
[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 _0x687b=['LexRuntime','$LATEST','channel','postText','message','amazonlex','Failed','stringify','lodash','moment','aws-sdk','./utils','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','interaction','UserId','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','chat','ChatWebsiteId','account','upperFirst','InteractionId','created','isEmpty','body','getMustacheRender','Message','create','then','info','catch','error','finally','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop'];(function(_0x5691bb,_0x252708){var _0x4a063d=function(_0x34077a){while(--_0x34077a){_0x5691bb['push'](_0x5691bb['shift']());}};_0x4a063d(++_0x252708);}(_0x687b,0x14a));var _0xb687=function(_0x587845,_0x3115b9){_0x587845=_0x587845-0x0;var _0x1c2292=_0x687b[_0x587845];return _0x1c2292;};'use strict';var _=require(_0xb687('0x0'));var moment=require(_0xb687('0x1'));var AWS=require(_0xb687('0x2'));var utils=require(_0xb687('0x3'));var logger=require('../../../../config/logger')('routing');var rpc={'chatMessage':require(_0xb687('0x4')),'openchannelMessage':require(_0xb687('0x5')),'mailMessage':require(_0xb687('0x6')),'smsMessage':require(_0xb687('0x7')),'faxMessage':require(_0xb687('0x8')),'whatsappMessage':require(_0xb687('0x9'))};exports[_0xb687('0xa')]=function(_0xf43a1f,_0x47ffea){return function(_0x27b750){try{if(!_['isNil'](this[_0xb687('0xb')][_0xb687('0xc')])){logger['info'](_0xb687('0xd'),_0xf43a1f,_0xb687('0xe'));return _0x27b750[_0xb687('0xf')]();}var _0x15dc9a={'ContactId':this[_0xb687('0x10')]['id'],'sentAt':moment()[_0xb687('0x11')](_0xb687('0x12')),'direction':_0xb687('0x13')};var _0x5e61e=this['channel'];if(_0x5e61e===_0xb687('0x14')){_0x15dc9a[_0xb687('0x15')]=this[_0xb687('0x16')]['id'];}else{_0x15dc9a[_[_0xb687('0x17')](_0x5e61e)+'AccountId']=this['account']['id'];}_0x15dc9a[_[_0xb687('0x17')](_0x5e61e)+_0xb687('0x18')]=this['interaction']['id'];if(this[_0xb687('0xb')][_0xb687('0x19')]){var _0x1f1f35=_0x47ffea[0x4];if(!_[_0xb687('0x1a')](_0x1f1f35)){_0x15dc9a[_0xb687('0x1b')]=utils[_0xb687('0x1c')](_0x1f1f35,this);return rpc[_0x5e61e+_0xb687('0x1d')][_0xb687('0x1e')](_0x15dc9a)[_0xb687('0x1f')](function(_0x2c7a18){logger[_0xb687('0x20')](_0xb687('0xd'),_0xf43a1f,_0x15dc9a['body']);})[_0xb687('0x21')](function(_0x328301){logger[_0xb687('0x22')]('[%s][AMAZONLEX]\x20%s',_0xf43a1f,JSON['stringify'](_0x328301));})[_0xb687('0x23')](function(){logger[_0xb687('0x20')](_0xb687('0x24'),_0xf43a1f);_0x27b750['stop']();});}else{logger[_0xb687('0x20')]('[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!',_0xf43a1f);_0x27b750[_0xb687('0x25')]();}}else{var _0x243236=this;var _0x170dc0=new AWS[(_0xb687('0x26'))]({'accessKeyId':_0x47ffea[0x0],'secretAccessKey':_0x47ffea[0x1],'region':_0x47ffea[0x2]});var _0x49d5a1={'botAlias':_0xb687('0x27'),'botName':_0x47ffea[0x3],'inputText':this['message'][_0xb687('0x1b')],'userId':this[_0xb687('0x28')]+':'+this[_0xb687('0xb')]['id']['toString']()};_0x170dc0[_0xb687('0x29')](_0x49d5a1,function(_0x491623,_0xa95e91){if(_0x491623){logger[_0xb687('0x22')](_0xb687('0xd'),_0xf43a1f,_0x491623[_0xb687('0x2a')]);_0x27b750[_0xb687('0xf')]();}else if(_0xa95e91&&_0xa95e91[_0xb687('0x2a')]){_0x243236['body'][_0xb687('0x2b')]=_0xa95e91;_0x15dc9a[_0xb687('0x1b')]=_0xa95e91[_0xb687('0x2a')];return rpc[_0x5e61e+_0xb687('0x1d')][_0xb687('0x1e')](_0x15dc9a)[_0xb687('0x1f')](function(_0x17ff2b){logger[_0xb687('0x20')](_0xb687('0xd'),_0xf43a1f,_0x15dc9a[_0xb687('0x1b')]);if(_0xa95e91['dialogState']==_0xb687('0x2c')){_0x27b750[_0xb687('0xf')]();}else{_0x27b750[_0xb687('0x25')]();}})[_0xb687('0x21')](function(_0x2e5c8d){logger[_0xb687('0x22')]('[%s][AMAZONLEX]\x20%s',_0xf43a1f,JSON[_0xb687('0x2d')](_0x2e5c8d));_0x27b750['next']();});}else{_0x27b750[_0xb687('0xf')]();}});}}catch(_0x40f35c){logger[_0xb687('0x22')](_0xb687('0xd'),_0xf43a1f,JSON[_0xb687('0x2d')](_0x40f35c));_0x27b750[_0xb687('0x25')]();}};};