Built motion from commit 3c2ce842.|2.6.31
[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 _0xa66f=['isEmpty','Message','create','then','[%s][AMAZONLEX]\x20%s','catch','error','finally','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','$LATEST','message','body','postText','providerName','providerResponse','stringify','dialogState','Failed','moment','aws-sdk','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','consequence','isNil','UserId','info','next','contact','YYYY-MM-DD\x20HH:mm:ss','channel','whatsapp','interaction','phone','chat','account','upperFirst','InteractionId','created'];(function(_0x56cf36,_0xd22434){var _0x48d6b7=function(_0x15c19a){while(--_0x15c19a){_0x56cf36['push'](_0x56cf36['shift']());}};_0x48d6b7(++_0xd22434);}(_0xa66f,0x1a8));var _0xfa66=function(_0x25d0f0,_0x470f42){_0x25d0f0=_0x25d0f0-0x0;var _0x1d5c30=_0xa66f[_0x25d0f0];return _0x1d5c30;};'use strict';var _=require('lodash');var moment=require(_0xfa66('0x0'));var AWS=require(_0xfa66('0x1'));var utils=require(_0xfa66('0x2'));var logger=require(_0xfa66('0x3'))('routing');var rpc={'chatMessage':require(_0xfa66('0x4')),'openchannelMessage':require(_0xfa66('0x5')),'mailMessage':require(_0xfa66('0x6')),'smsMessage':require(_0xfa66('0x7')),'faxMessage':require(_0xfa66('0x8')),'whatsappMessage':require(_0xfa66('0x9'))};exports[_0xfa66('0xa')]=function(_0x21cb23,_0x5670db){return function(_0x2417d2){try{if(!_[_0xfa66('0xb')](this['interaction'][_0xfa66('0xc')])){logger[_0xfa66('0xd')]('[%s][AMAZONLEX]\x20%s',_0x21cb23,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x2417d2[_0xfa66('0xe')]();}var _0x1802fe={'ContactId':this[_0xfa66('0xf')]['id'],'sentAt':moment()['format'](_0xfa66('0x10')),'direction':'out'};if(this['channel']==='sms'||this[_0xfa66('0x11')]===_0xfa66('0x12')){_0x1802fe['phone']=this[_0xfa66('0x13')][_0xfa66('0x14')];}var _0x3d28aa=this['channel'];if(_0x3d28aa===_0xfa66('0x15')){_0x1802fe['ChatWebsiteId']=this[_0xfa66('0x16')]['id'];}else{_0x1802fe[_[_0xfa66('0x17')](_0x3d28aa)+'AccountId']=this[_0xfa66('0x16')]['id'];}_0x1802fe[_[_0xfa66('0x17')](_0x3d28aa)+_0xfa66('0x18')]=this[_0xfa66('0x13')]['id'];if(this[_0xfa66('0x13')][_0xfa66('0x19')]){var _0x20790e=_0x5670db[0x4];if(!_[_0xfa66('0x1a')](_0x20790e)){_0x1802fe['body']=utils['getMustacheRender'](_0x20790e,this);return rpc[_0x3d28aa+_0xfa66('0x1b')][_0xfa66('0x1c')](_0x1802fe)[_0xfa66('0x1d')](function(_0x279fe1){logger[_0xfa66('0xd')](_0xfa66('0x1e'),_0x21cb23,_0x1802fe['body']);})[_0xfa66('0x1f')](function(_0xbea519){logger[_0xfa66('0x20')](_0xfa66('0x1e'),_0x21cb23,JSON['stringify'](_0xbea519));})[_0xfa66('0x21')](function(){logger['info'](_0xfa66('0x22'),_0x21cb23);_0x2417d2['stop']();});}else{logger[_0xfa66('0xd')]('[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!',_0x21cb23);_0x2417d2[_0xfa66('0x23')]();}}else{var _0x5a933d=this;var _0x342df8=new AWS['LexRuntime']({'accessKeyId':_0x5670db[0x0],'secretAccessKey':_0x5670db[0x1],'region':_0x5670db[0x2]});var _0x41cb65={'botAlias':_0xfa66('0x24'),'botName':_0x5670db[0x3],'inputText':this[_0xfa66('0x25')][_0xfa66('0x26')],'userId':this['channel']+':'+this[_0xfa66('0x13')]['id']['toString']()};_0x342df8[_0xfa66('0x27')](_0x41cb65,function(_0x43614a,_0x18e4cc){if(_0x43614a){logger[_0xfa66('0x20')](_0xfa66('0x1e'),_0x21cb23,_0x43614a[_0xfa66('0x25')]);_0x2417d2[_0xfa66('0xe')]();}else if(_0x18e4cc&&_0x18e4cc[_0xfa66('0x25')]){_0x5a933d['body']['amazonlex']=_0x18e4cc;_0x1802fe[_0xfa66('0x26')]=_0x18e4cc[_0xfa66('0x25')];_0x1802fe[_0xfa66('0x28')]='amazonlex';_0x1802fe[_0xfa66('0x29')]=JSON[_0xfa66('0x2a')](_0x18e4cc);return rpc[_0x3d28aa+'Message'][_0xfa66('0x1c')](_0x1802fe)[_0xfa66('0x1d')](function(_0x3e2e39){logger[_0xfa66('0xd')](_0xfa66('0x1e'),_0x21cb23,_0x1802fe[_0xfa66('0x26')]);if(_0x18e4cc[_0xfa66('0x2b')]==_0xfa66('0x2c')){_0x2417d2['next']();}else{_0x2417d2[_0xfa66('0x23')]();}})[_0xfa66('0x1f')](function(_0x1e9ea4){logger[_0xfa66('0x20')](_0xfa66('0x1e'),_0x21cb23,JSON[_0xfa66('0x2a')](_0x1e9ea4));_0x2417d2[_0xfa66('0xe')]();});}else{_0x2417d2[_0xfa66('0xe')]();}});}}catch(_0x2ed043){logger[_0xfa66('0x20')](_0xfa66('0x1e'),_0x21cb23,JSON['stringify'](_0x2ed043));_0x2417d2['stop']();}};};