Built motion from commit (unavailable).|2.3.4
[motion2.git] / server / services / routing / server / applications / dialogflow.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 _0x984a=['apiai-promise','md5','./utils','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','interaction','UserId','next','format','YYYY-MM-DD\x20HH:mm:ss','channel','chat','account','upperFirst','created','body','getMustacheRender','Message','create','then','info','error','[%s][DIALOGFLOW]\x20%s','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','message','dialogflow','result','fulfillment','speech','metadata','endConversation','catch','moment'];(function(_0x2216ef,_0x38c333){var _0x311a25=function(_0x584eb3){while(--_0x584eb3){_0x2216ef['push'](_0x2216ef['shift']());}};_0x311a25(++_0x38c333);}(_0x984a,0x1df));var _0xa984=function(_0x49432b,_0x23f4e3){_0x49432b=_0x49432b-0x0;var _0x4ad662=_0x984a[_0x49432b];return _0x4ad662;};'use strict';var _=require('lodash');var moment=require(_0xa984('0x0'));var apiai=require(_0xa984('0x1'));var md5=require(_0xa984('0x2'));var utils=require(_0xa984('0x3'));var logger=require('../../../../config/logger')(_0xa984('0x4'));var rpc={'chatMessage':require(_0xa984('0x5')),'openchannelMessage':require(_0xa984('0x6')),'mailMessage':require(_0xa984('0x7')),'smsMessage':require(_0xa984('0x8')),'faxMessage':require(_0xa984('0x9'))};exports['consequence']=function(_0x3b27b2,_0x47b7a4){return function(_0x52678b){try{if(!_['isNil'](this[_0xa984('0xa')][_0xa984('0xb')])){logger['info']('[%s][DIALOGFLOW]\x20%s',_0x3b27b2,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x52678b[_0xa984('0xc')]();}var _0x1a0d9b={'ContactId':this['contact']['id'],'sentAt':moment()[_0xa984('0xd')](_0xa984('0xe')),'direction':'out'};var _0x5d1929=this[_0xa984('0xf')];if(_0x5d1929===_0xa984('0x10')){_0x1a0d9b['ChatWebsiteId']=this[_0xa984('0x11')]['id'];}else{_0x1a0d9b[_[_0xa984('0x12')](_0x5d1929)+'AccountId']=this[_0xa984('0x11')]['id'];}_0x1a0d9b[_['upperFirst'](_0x5d1929)+'InteractionId']=this[_0xa984('0xa')]['id'];if(this['interaction'][_0xa984('0x13')]){var _0x21d572=_0x47b7a4[0x2];if(!_['isEmpty'](_0x21d572)){_0x1a0d9b[_0xa984('0x14')]=utils[_0xa984('0x15')](_0x21d572,this);return rpc[_0x5d1929+_0xa984('0x16')][_0xa984('0x17')](_0x1a0d9b)[_0xa984('0x18')](function(_0x4e116f){logger[_0xa984('0x19')]('[%s][DIALOGFLOW]\x20%s',_0x3b27b2,_0x1a0d9b[_0xa984('0x14')]);})['catch'](function(_0xed18cf){logger[_0xa984('0x1a')](_0xa984('0x1b'),_0x3b27b2,JSON['stringify'](_0xed18cf));})[_0xa984('0x1c')](function(){logger[_0xa984('0x19')](_0xa984('0x1d'),_0x3b27b2);_0x52678b[_0xa984('0x1e')]();});}else{logger[_0xa984('0x19')](_0xa984('0x1f'),_0x3b27b2);_0x52678b[_0xa984('0x1e')]();}}else{var _0x983ef2=this;var _0x57eafe=apiai(_0x47b7a4[0x0],{'language':_0x47b7a4[0x1]||'en'});return _0x57eafe['textRequest'](this[_0xa984('0x20')][_0xa984('0x14')],{'sessionId':md5(this[_0xa984('0xa')]['id'])})[_0xa984('0x18')](function(_0x102f9a){_0x983ef2[_0xa984('0x14')][_0xa984('0x21')]=_0x102f9a;_0x1a0d9b[_0xa984('0x14')]=_0x102f9a[_0xa984('0x22')][_0xa984('0x23')][_0xa984('0x24')];return rpc[_0x5d1929+_0xa984('0x16')][_0xa984('0x17')](_0x1a0d9b)[_0xa984('0x18')](function(_0x18f7f7){logger['info'](_0xa984('0x1b'),_0x3b27b2,_0x1a0d9b[_0xa984('0x14')]);if(_0x102f9a[_0xa984('0x22')][_0xa984('0x25')][_0xa984('0x26')]){_0x52678b[_0xa984('0xc')]();}else{_0x52678b['stop']();}})['catch'](function(_0x341d33){logger[_0xa984('0x1a')](_0xa984('0x1b'),_0x3b27b2,JSON['stringify'](_0x341d33));_0x52678b[_0xa984('0xc')]();});})[_0xa984('0x27')](function(_0xd38319){logger['error']('[%s][DIALOGFLOW]\x20%s',_0x3b27b2,_0xd38319[_0xa984('0x20')]);_0x52678b['next']();});}}catch(_0x10fd46){logger[_0xa984('0x1a')]('[%s][DIALOGFLOW]\x20%s',_0x3b27b2,JSON['stringify'](_0x10fd46));_0x52678b['stop']();}};};