Built motion from commit (unavailable).|2.5.30
[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 _0x4fd4=['message','toString','postText','next','amazonlex','providerName','providerResponse','dialogState','lodash','./utils','../../../../config/logger','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','isNil','interaction','info','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','contact','format','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','chat','ChatWebsiteId','upperFirst','AccountId','body','getMustacheRender','Message','create','then','catch','error','stringify','finally','stop','$LATEST'];(function(_0x2ff0cd,_0x3c8521){var _0x1eb611=function(_0x562040){while(--_0x562040){_0x2ff0cd['push'](_0x2ff0cd['shift']());}};_0x1eb611(++_0x3c8521);}(_0x4fd4,0xe4));var _0x44fd=function(_0x397e5f,_0x454c8f){_0x397e5f=_0x397e5f-0x0;var _0x5302b8=_0x4fd4[_0x397e5f];return _0x5302b8;};'use strict';var _=require(_0x44fd('0x0'));var moment=require('moment');var AWS=require('aws-sdk');var utils=require(_0x44fd('0x1'));var logger=require(_0x44fd('0x2'))('routing');var rpc={'chatMessage':require(_0x44fd('0x3')),'openchannelMessage':require(_0x44fd('0x4')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0x44fd('0x5')),'faxMessage':require(_0x44fd('0x6')),'whatsappMessage':require(_0x44fd('0x7'))};exports['consequence']=function(_0x552501,_0x4e487b){return function(_0x96c83a){try{if(!_[_0x44fd('0x8')](this[_0x44fd('0x9')]['UserId'])){logger[_0x44fd('0xa')](_0x44fd('0xb'),_0x552501,_0x44fd('0xc'));return _0x96c83a['next']();}var _0x596f76={'ContactId':this[_0x44fd('0xd')]['id'],'sentAt':moment()[_0x44fd('0xe')](_0x44fd('0xf')),'direction':_0x44fd('0x10')};if(this[_0x44fd('0x11')]===_0x44fd('0x12')||this[_0x44fd('0x11')]===_0x44fd('0x13')){_0x596f76[_0x44fd('0x14')]=this[_0x44fd('0x9')][_0x44fd('0x14')];}var _0x36feaa=this[_0x44fd('0x11')];if(_0x36feaa===_0x44fd('0x15')){_0x596f76[_0x44fd('0x16')]=this['account']['id'];}else{_0x596f76[_[_0x44fd('0x17')](_0x36feaa)+_0x44fd('0x18')]=this['account']['id'];}_0x596f76[_[_0x44fd('0x17')](_0x36feaa)+'InteractionId']=this[_0x44fd('0x9')]['id'];if(this[_0x44fd('0x9')]['created']){var _0xb4962f=_0x4e487b[0x4];if(!_['isEmpty'](_0xb4962f)){_0x596f76[_0x44fd('0x19')]=utils[_0x44fd('0x1a')](_0xb4962f,this);return rpc[_0x36feaa+_0x44fd('0x1b')][_0x44fd('0x1c')](_0x596f76)[_0x44fd('0x1d')](function(_0x26df99){logger[_0x44fd('0xa')](_0x44fd('0xb'),_0x552501,_0x596f76[_0x44fd('0x19')]);})[_0x44fd('0x1e')](function(_0x3a5492){logger[_0x44fd('0x1f')](_0x44fd('0xb'),_0x552501,JSON[_0x44fd('0x20')](_0x3a5492));})[_0x44fd('0x21')](function(){logger[_0x44fd('0xa')]('[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x552501);_0x96c83a[_0x44fd('0x22')]();});}else{logger[_0x44fd('0xa')]('[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!',_0x552501);_0x96c83a[_0x44fd('0x22')]();}}else{var _0x1c07f7=this;var _0x34797a=new AWS['LexRuntime']({'accessKeyId':_0x4e487b[0x0],'secretAccessKey':_0x4e487b[0x1],'region':_0x4e487b[0x2]});var _0x4c002a={'botAlias':_0x44fd('0x23'),'botName':_0x4e487b[0x3],'inputText':this[_0x44fd('0x24')]['body'],'userId':this['channel']+':'+this['interaction']['id'][_0x44fd('0x25')]()};_0x34797a[_0x44fd('0x26')](_0x4c002a,function(_0x44a3b4,_0x497538){if(_0x44a3b4){logger[_0x44fd('0x1f')]('[%s][AMAZONLEX]\x20%s',_0x552501,_0x44a3b4['message']);_0x96c83a[_0x44fd('0x27')]();}else if(_0x497538&&_0x497538['message']){_0x1c07f7[_0x44fd('0x19')][_0x44fd('0x28')]=_0x497538;_0x596f76['body']=_0x497538[_0x44fd('0x24')];_0x596f76[_0x44fd('0x29')]='amazonlex';_0x596f76[_0x44fd('0x2a')]=JSON[_0x44fd('0x20')](_0x497538);return rpc[_0x36feaa+_0x44fd('0x1b')][_0x44fd('0x1c')](_0x596f76)[_0x44fd('0x1d')](function(_0x526658){logger[_0x44fd('0xa')](_0x44fd('0xb'),_0x552501,_0x596f76['body']);if(_0x497538[_0x44fd('0x2b')]=='Failed'){_0x96c83a['next']();}else{_0x96c83a['stop']();}})[_0x44fd('0x1e')](function(_0x2dc116){logger[_0x44fd('0x1f')](_0x44fd('0xb'),_0x552501,JSON[_0x44fd('0x20')](_0x2dc116));_0x96c83a[_0x44fd('0x27')]();});}else{_0x96c83a[_0x44fd('0x27')]();}});}}catch(_0x3da081){logger[_0x44fd('0x1f')](_0x44fd('0xb'),_0x552501,JSON['stringify'](_0x3da081));_0x96c83a[_0x44fd('0x22')]();}};};