06cb64926b20a180eaf8d7cd7bac86c2064e7d0c
[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 _0x52aa=['dialogflow','fulfillment','speech','providerName','providerResponse','result','metadata','endConversation','error','message','moment','apiai-promise','md5','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','isNil','interaction','UserId','info','[%s][DIALOGFLOW]\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','AccountId','account','InteractionId','created','isEmpty','body','getMustacheRender','Message','create','catch','stringify','finally','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','then'];(function(_0x3a1e1c,_0xeb4a1){var _0x3cc920=function(_0xa7ce92){while(--_0xa7ce92){_0x3a1e1c['push'](_0x3a1e1c['shift']());}};_0x3cc920(++_0xeb4a1);}(_0x52aa,0x113));var _0xa52a=function(_0x15a02f,_0x3a2a14){_0x15a02f=_0x15a02f-0x0;var _0x5b5e7a=_0x52aa[_0x15a02f];return _0x5b5e7a;};'use strict';var _=require('lodash');var moment=require(_0xa52a('0x0'));var apiai=require(_0xa52a('0x1'));var md5=require(_0xa52a('0x2'));var utils=require(_0xa52a('0x3'));var logger=require(_0xa52a('0x4'))(_0xa52a('0x5'));var rpc={'chatMessage':require(_0xa52a('0x6')),'openchannelMessage':require(_0xa52a('0x7')),'mailMessage':require(_0xa52a('0x8')),'smsMessage':require(_0xa52a('0x9')),'faxMessage':require(_0xa52a('0xa')),'whatsappMessage':require('../../rpc/whatsappMessage')};exports['consequence']=function(_0x8609ec,_0x14bc85){return function(_0x289bb0){try{if(!_[_0xa52a('0xb')](this[_0xa52a('0xc')][_0xa52a('0xd')])){logger[_0xa52a('0xe')](_0xa52a('0xf'),_0x8609ec,_0xa52a('0x10'));return _0x289bb0[_0xa52a('0x11')]();}var _0x57b153={'ContactId':this[_0xa52a('0x12')]['id'],'sentAt':moment()['format'](_0xa52a('0x13')),'direction':_0xa52a('0x14')};if(this[_0xa52a('0x15')]===_0xa52a('0x16')||this[_0xa52a('0x15')]===_0xa52a('0x17')){_0x57b153[_0xa52a('0x18')]=this[_0xa52a('0xc')][_0xa52a('0x18')];}var _0x10342c=this[_0xa52a('0x15')];if(_0x10342c===_0xa52a('0x19')){_0x57b153[_0xa52a('0x1a')]=this['account']['id'];}else{_0x57b153[_['upperFirst'](_0x10342c)+_0xa52a('0x1b')]=this[_0xa52a('0x1c')]['id'];}_0x57b153[_['upperFirst'](_0x10342c)+_0xa52a('0x1d')]=this[_0xa52a('0xc')]['id'];if(this[_0xa52a('0xc')][_0xa52a('0x1e')]){var _0xa0faac=_0x14bc85[0x2];if(!_[_0xa52a('0x1f')](_0xa0faac)){_0x57b153[_0xa52a('0x20')]=utils[_0xa52a('0x21')](_0xa0faac,this);return rpc[_0x10342c+_0xa52a('0x22')][_0xa52a('0x23')](_0x57b153)['then'](function(_0x1e2cc8){logger[_0xa52a('0xe')](_0xa52a('0xf'),_0x8609ec,_0x57b153[_0xa52a('0x20')]);})[_0xa52a('0x24')](function(_0xa0fd2d){logger['error'](_0xa52a('0xf'),_0x8609ec,JSON[_0xa52a('0x25')](_0xa0fd2d));})[_0xa52a('0x26')](function(){logger[_0xa52a('0xe')]('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x8609ec);_0x289bb0[_0xa52a('0x27')]();});}else{logger[_0xa52a('0xe')](_0xa52a('0x28'),_0x8609ec);_0x289bb0[_0xa52a('0x27')]();}}else{var _0x13ef38=this;var _0x4c8361=apiai(_0x14bc85[0x0],{'language':_0x14bc85[0x1]||'en'});return _0x4c8361[_0xa52a('0x29')](this['message']['body'],{'sessionId':md5(this[_0xa52a('0xc')]['id'])})[_0xa52a('0x2a')](function(_0x598849){_0x13ef38['body'][_0xa52a('0x2b')]=_0x598849;_0x57b153[_0xa52a('0x20')]=_0x598849['result'][_0xa52a('0x2c')][_0xa52a('0x2d')];_0x57b153[_0xa52a('0x2e')]=_0xa52a('0x2b');_0x57b153[_0xa52a('0x2f')]=JSON[_0xa52a('0x25')](_0x598849);return rpc[_0x10342c+_0xa52a('0x22')][_0xa52a('0x23')](_0x57b153)[_0xa52a('0x2a')](function(_0x1e8ff6){logger[_0xa52a('0xe')](_0xa52a('0xf'),_0x8609ec,_0x57b153[_0xa52a('0x20')]);if(_0x598849[_0xa52a('0x30')][_0xa52a('0x31')][_0xa52a('0x32')]){_0x289bb0[_0xa52a('0x11')]();}else{_0x289bb0[_0xa52a('0x27')]();}})['catch'](function(_0x1903fb){logger[_0xa52a('0x33')](_0xa52a('0xf'),_0x8609ec,JSON['stringify'](_0x1903fb));_0x289bb0['next']();});})[_0xa52a('0x24')](function(_0x2d2180){logger[_0xa52a('0x33')]('[%s][DIALOGFLOW]\x20%s',_0x8609ec,_0x2d2180[_0xa52a('0x34')]);_0x289bb0[_0xa52a('0x11')]();});}}catch(_0x552fc5){logger[_0xa52a('0x33')](_0xa52a('0xf'),_0x8609ec,JSON[_0xa52a('0x25')](_0x552fc5));_0x289bb0[_0xa52a('0x27')]();}};};