4d97bccb92c5d097d919c6f09ce110d62511179b
[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 _0x03ab=['aws-sdk','../../../../config/logger','routing','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','../../rpc/whatsappMessage','isNil','interaction','UserId','info','[%s][AMAZONLEX]\x20%s','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','next','contact','YYYY-MM-DD\x20HH:mm:ss','out','channel','sms','whatsapp','phone','chat','ChatWebsiteId','account','upperFirst','AccountId','isEmpty','body','getMustacheRender','Message','create','catch','error','stringify','finally','[%s][AMAZONLEX]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][AMAZONLEX]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','LexRuntime','message','toString','postText','providerName','amazonlex','providerResponse','then','lodash','moment'];(function(_0x4a6ae5,_0x9f6541){var _0x402486=function(_0xa1043c){while(--_0xa1043c){_0x4a6ae5['push'](_0x4a6ae5['shift']());}};_0x402486(++_0x9f6541);}(_0x03ab,0x1ae));var _0xb03a=function(_0x20751f,_0x5ecf00){_0x20751f=_0x20751f-0x0;var _0x135f65=_0x03ab[_0x20751f];return _0x135f65;};'use strict';var _=require(_0xb03a('0x0'));var moment=require(_0xb03a('0x1'));var AWS=require(_0xb03a('0x2'));var utils=require('./utils');var logger=require(_0xb03a('0x3'))(_0xb03a('0x4'));var rpc={'chatMessage':require('../../rpc/chatMessage'),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0xb03a('0x5')),'smsMessage':require(_0xb03a('0x6')),'faxMessage':require(_0xb03a('0x7')),'whatsappMessage':require(_0xb03a('0x8'))};exports['consequence']=function(_0x374e85,_0x37844f){return function(_0x376c26){try{if(!_[_0xb03a('0x9')](this[_0xb03a('0xa')][_0xb03a('0xb')])){logger[_0xb03a('0xc')](_0xb03a('0xd'),_0x374e85,_0xb03a('0xe'));return _0x376c26[_0xb03a('0xf')]();}var _0xbdcc0b={'ContactId':this[_0xb03a('0x10')]['id'],'sentAt':moment()['format'](_0xb03a('0x11')),'direction':_0xb03a('0x12')};if(this[_0xb03a('0x13')]===_0xb03a('0x14')||this[_0xb03a('0x13')]===_0xb03a('0x15')){_0xbdcc0b[_0xb03a('0x16')]=this[_0xb03a('0xa')]['phone'];}var _0x11e3d3=this['channel'];if(_0x11e3d3===_0xb03a('0x17')){_0xbdcc0b[_0xb03a('0x18')]=this[_0xb03a('0x19')]['id'];}else{_0xbdcc0b[_[_0xb03a('0x1a')](_0x11e3d3)+_0xb03a('0x1b')]=this[_0xb03a('0x19')]['id'];}_0xbdcc0b[_[_0xb03a('0x1a')](_0x11e3d3)+'InteractionId']=this[_0xb03a('0xa')]['id'];if(this[_0xb03a('0xa')]['created']){var _0x317b2a=_0x37844f[0x4];if(!_[_0xb03a('0x1c')](_0x317b2a)){_0xbdcc0b[_0xb03a('0x1d')]=utils[_0xb03a('0x1e')](_0x317b2a,this);return rpc[_0x11e3d3+_0xb03a('0x1f')][_0xb03a('0x20')](_0xbdcc0b)['then'](function(_0x497334){logger[_0xb03a('0xc')](_0xb03a('0xd'),_0x374e85,_0xbdcc0b[_0xb03a('0x1d')]);})[_0xb03a('0x21')](function(_0x54a229){logger[_0xb03a('0x22')](_0xb03a('0xd'),_0x374e85,JSON[_0xb03a('0x23')](_0x54a229));})[_0xb03a('0x24')](function(){logger['info'](_0xb03a('0x25'),_0x374e85);_0x376c26[_0xb03a('0x26')]();});}else{logger[_0xb03a('0xc')](_0xb03a('0x27'),_0x374e85);_0x376c26[_0xb03a('0x26')]();}}else{var _0x47a2c6=this;var _0x4ae3fa=new AWS[(_0xb03a('0x28'))]({'accessKeyId':_0x37844f[0x0],'secretAccessKey':_0x37844f[0x1],'region':_0x37844f[0x2]});var _0xf24c23={'botAlias':'$LATEST','botName':_0x37844f[0x3],'inputText':this[_0xb03a('0x29')][_0xb03a('0x1d')],'userId':this[_0xb03a('0x13')]+':'+this[_0xb03a('0xa')]['id'][_0xb03a('0x2a')]()};_0x4ae3fa[_0xb03a('0x2b')](_0xf24c23,function(_0xf275c9,_0x57f58a){if(_0xf275c9){logger[_0xb03a('0x22')](_0xb03a('0xd'),_0x374e85,_0xf275c9['message']);_0x376c26[_0xb03a('0xf')]();}else if(_0x57f58a&&_0x57f58a['message']){_0x47a2c6[_0xb03a('0x1d')]['amazonlex']=_0x57f58a;_0xbdcc0b[_0xb03a('0x1d')]=_0x57f58a[_0xb03a('0x29')];_0xbdcc0b[_0xb03a('0x2c')]=_0xb03a('0x2d');_0xbdcc0b[_0xb03a('0x2e')]=JSON[_0xb03a('0x23')](_0x57f58a);return rpc[_0x11e3d3+'Message'][_0xb03a('0x20')](_0xbdcc0b)[_0xb03a('0x2f')](function(_0x44e99a){logger[_0xb03a('0xc')]('[%s][AMAZONLEX]\x20%s',_0x374e85,_0xbdcc0b[_0xb03a('0x1d')]);if(_0x57f58a['dialogState']=='Failed'){_0x376c26['next']();}else{_0x376c26[_0xb03a('0x26')]();}})[_0xb03a('0x21')](function(_0x29ad77){logger[_0xb03a('0x22')](_0xb03a('0xd'),_0x374e85,JSON[_0xb03a('0x23')](_0x29ad77));_0x376c26[_0xb03a('0xf')]();});}else{_0x376c26[_0xb03a('0xf')]();}});}}catch(_0x3590ef){logger[_0xb03a('0x22')](_0xb03a('0xd'),_0x374e85,JSON[_0xb03a('0x23')](_0x3590ef));_0x376c26['stop']();}};};