9d708a155e7d176fcbb492dceeb65edcc2176eb8
[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 _0x347f=['finally','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','body','toString','postText','message','amazonlex','providerResponse','stringify','Failed','error','aws-sdk','./utils','../../../../config/logger','routing','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','isNil','UserId','info','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','out','sms','channel','whatsapp','phone','interaction','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','created','getMustacheRender','Message','create','then','[%s][AMAZONLEX]\x20%s','catch'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0x347f,0x17e));var _0xf347=function(_0x21a9d9,_0x4d5ac8){_0x21a9d9=_0x21a9d9-0x0;var _0x46adce=_0x347f[_0x21a9d9];return _0x46adce;};'use strict';var _=require('lodash');var moment=require('moment');var AWS=require(_0xf347('0x0'));var utils=require(_0xf347('0x1'));var logger=require(_0xf347('0x2'))(_0xf347('0x3'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require(_0xf347('0x4')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0xf347('0x5')),'faxMessage':require(_0xf347('0x6')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0xf347('0x7')]=function(_0x1018d2,_0xfdea7f){return function(_0x57e9d5){try{if(!_[_0xf347('0x8')](this['interaction'][_0xf347('0x9')])){logger[_0xf347('0xa')]('[%s][AMAZONLEX]\x20%s',_0x1018d2,_0xf347('0xb'));return _0x57e9d5[_0xf347('0xc')]();}var _0x5aaf8d={'ContactId':this[_0xf347('0xd')]['id'],'sentAt':moment()['format']('YYYY-MM-DD\x20HH:mm:ss'),'direction':_0xf347('0xe')};if(this['channel']===_0xf347('0xf')||this[_0xf347('0x10')]===_0xf347('0x11')){_0x5aaf8d[_0xf347('0x12')]=this[_0xf347('0x13')][_0xf347('0x12')];}var _0x265dd7=this['channel'];if(_0x265dd7==='chat'){_0x5aaf8d[_0xf347('0x14')]=this[_0xf347('0x15')]['id'];}else{_0x5aaf8d[_[_0xf347('0x16')](_0x265dd7)+_0xf347('0x17')]=this[_0xf347('0x15')]['id'];}_0x5aaf8d[_[_0xf347('0x16')](_0x265dd7)+_0xf347('0x18')]=this[_0xf347('0x13')]['id'];if(this[_0xf347('0x13')][_0xf347('0x19')]){var _0x2d5dbc=_0xfdea7f[0x4];if(!_['isEmpty'](_0x2d5dbc)){_0x5aaf8d['body']=utils[_0xf347('0x1a')](_0x2d5dbc,this);return rpc[_0x265dd7+_0xf347('0x1b')][_0xf347('0x1c')](_0x5aaf8d)[_0xf347('0x1d')](function(_0x148570){logger[_0xf347('0xa')](_0xf347('0x1e'),_0x1018d2,_0x5aaf8d['body']);})[_0xf347('0x1f')](function(_0x1b537c){logger['error'](_0xf347('0x1e'),_0x1018d2,JSON['stringify'](_0x1b537c));})[_0xf347('0x20')](function(){logger[_0xf347('0xa')](_0xf347('0x21'),_0x1018d2);_0x57e9d5[_0xf347('0x22')]();});}else{logger[_0xf347('0xa')](_0xf347('0x23'),_0x1018d2);_0x57e9d5['stop']();}}else{var _0x343ff7=this;var _0x3e5b88=new AWS[(_0xf347('0x24'))]({'accessKeyId':_0xfdea7f[0x0],'secretAccessKey':_0xfdea7f[0x1],'region':_0xfdea7f[0x2]});var _0x4c1c22={'botAlias':'$LATEST','botName':_0xfdea7f[0x3],'inputText':this['message'][_0xf347('0x25')],'userId':this[_0xf347('0x10')]+':'+this['interaction']['id'][_0xf347('0x26')]()};_0x3e5b88[_0xf347('0x27')](_0x4c1c22,function(_0x2167b9,_0x9aeff3){if(_0x2167b9){logger['error'](_0xf347('0x1e'),_0x1018d2,_0x2167b9['message']);_0x57e9d5[_0xf347('0xc')]();}else if(_0x9aeff3&&_0x9aeff3[_0xf347('0x28')]){_0x343ff7[_0xf347('0x25')][_0xf347('0x29')]=_0x9aeff3;_0x5aaf8d[_0xf347('0x25')]=_0x9aeff3[_0xf347('0x28')];_0x5aaf8d['providerName']=_0xf347('0x29');_0x5aaf8d[_0xf347('0x2a')]=JSON[_0xf347('0x2b')](_0x9aeff3);return rpc[_0x265dd7+_0xf347('0x1b')][_0xf347('0x1c')](_0x5aaf8d)[_0xf347('0x1d')](function(_0x50f627){logger['info'](_0xf347('0x1e'),_0x1018d2,_0x5aaf8d['body']);if(_0x9aeff3['dialogState']==_0xf347('0x2c')){_0x57e9d5['next']();}else{_0x57e9d5[_0xf347('0x22')]();}})[_0xf347('0x1f')](function(_0x466077){logger[_0xf347('0x2d')](_0xf347('0x1e'),_0x1018d2,JSON[_0xf347('0x2b')](_0x466077));_0x57e9d5[_0xf347('0xc')]();});}else{_0x57e9d5[_0xf347('0xc')]();}});}}catch(_0x1c21c9){logger[_0xf347('0x2d')](_0xf347('0x1e'),_0x1018d2,JSON['stringify'](_0x1c21c9));_0x57e9d5[_0xf347('0x22')]();}};};