cb299b077f522f9c48c75360ec636591fc386cee
[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 _0x416c=['body','getMustacheRender','Message','create','then','stringify','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','result','fulfillment','speech','error','catch','moment','apiai-promise','md5','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/mailMessage','../../rpc/smsMessage','consequence','isNil','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','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','interaction','created'];(function(_0x138a1a,_0x3c662){var _0x2eff1d=function(_0x3e692a){while(--_0x3e692a){_0x138a1a['push'](_0x138a1a['shift']());}};_0x2eff1d(++_0x3c662);}(_0x416c,0x1d2));var _0xc416=function(_0x1fcbd7,_0x30d39b){_0x1fcbd7=_0x1fcbd7-0x0;var _0x4b206f=_0x416c[_0x1fcbd7];return _0x4b206f;};'use strict';var _=require('lodash');var moment=require(_0xc416('0x0'));var apiai=require(_0xc416('0x1'));var md5=require(_0xc416('0x2'));var utils=require(_0xc416('0x3'));var logger=require(_0xc416('0x4'))(_0xc416('0x5'));var rpc={'chatMessage':require(_0xc416('0x6')),'openchannelMessage':require(_0xc416('0x7')),'mailMessage':require(_0xc416('0x8')),'smsMessage':require(_0xc416('0x9')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require('../../rpc/whatsappMessage')};exports[_0xc416('0xa')]=function(_0x582878,_0x19f6ff){return function(_0xb0c042){try{if(!_[_0xc416('0xb')](this['interaction'][_0xc416('0xc')])){logger[_0xc416('0xd')](_0xc416('0xe'),_0x582878,_0xc416('0xf'));return _0xb0c042[_0xc416('0x10')]();}var _0x816031={'ContactId':this[_0xc416('0x11')]['id'],'sentAt':moment()['format'](_0xc416('0x12')),'direction':_0xc416('0x13')};var _0x130610=this[_0xc416('0x14')];if(_0x130610===_0xc416('0x15')){_0x816031[_0xc416('0x16')]=this['account']['id'];}else{_0x816031[_[_0xc416('0x17')](_0x130610)+_0xc416('0x18')]=this[_0xc416('0x19')]['id'];}_0x816031[_[_0xc416('0x17')](_0x130610)+_0xc416('0x1a')]=this[_0xc416('0x1b')]['id'];if(this[_0xc416('0x1b')][_0xc416('0x1c')]){var _0x12387e=_0x19f6ff[0x2];if(!_['isEmpty'](_0x12387e)){_0x816031[_0xc416('0x1d')]=utils[_0xc416('0x1e')](_0x12387e,this);return rpc[_0x130610+_0xc416('0x1f')][_0xc416('0x20')](_0x816031)[_0xc416('0x21')](function(_0x2af327){logger[_0xc416('0xd')](_0xc416('0xe'),_0x582878,_0x816031['body']);})['catch'](function(_0x1502a4){logger['error']('[%s][DIALOGFLOW]\x20%s',_0x582878,JSON[_0xc416('0x22')](_0x1502a4));})['finally'](function(){logger['info'](_0xc416('0x23'),_0x582878);_0xb0c042[_0xc416('0x24')]();});}else{logger[_0xc416('0xd')](_0xc416('0x25'),_0x582878);_0xb0c042[_0xc416('0x24')]();}}else{var _0x2a5f3e=this;var _0x149d20=apiai(_0x19f6ff[0x0],{'language':_0x19f6ff[0x1]||'en'});return _0x149d20[_0xc416('0x26')](this[_0xc416('0x27')][_0xc416('0x1d')],{'sessionId':md5(this['interaction']['id'])})[_0xc416('0x21')](function(_0x25ed30){_0x2a5f3e[_0xc416('0x1d')]['dialogflow']=_0x25ed30;_0x816031[_0xc416('0x1d')]=_0x25ed30[_0xc416('0x28')][_0xc416('0x29')][_0xc416('0x2a')];return rpc[_0x130610+_0xc416('0x1f')][_0xc416('0x20')](_0x816031)['then'](function(_0x4b97f5){logger['info'](_0xc416('0xe'),_0x582878,_0x816031[_0xc416('0x1d')]);if(_0x25ed30[_0xc416('0x28')]['metadata']['endConversation']){_0xb0c042[_0xc416('0x10')]();}else{_0xb0c042[_0xc416('0x24')]();}})['catch'](function(_0x2c6eb7){logger[_0xc416('0x2b')](_0xc416('0xe'),_0x582878,JSON[_0xc416('0x22')](_0x2c6eb7));_0xb0c042[_0xc416('0x10')]();});})[_0xc416('0x2c')](function(_0x1281e6){logger[_0xc416('0x2b')](_0xc416('0xe'),_0x582878,_0x1281e6['message']);_0xb0c042[_0xc416('0x10')]();});}}catch(_0x1f6c39){logger[_0xc416('0x2b')](_0xc416('0xe'),_0x582878,JSON[_0xc416('0x22')](_0x1f6c39));_0xb0c042['stop']();}};};