a3882f1ca656f2bb740967c43f3d29855e0d6659
[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 _0x06be=['format','YYYY-MM-DD\x20HH:mm:ss','channel','chat','ChatWebsiteId','account','upperFirst','AccountId','InteractionId','created','isEmpty','getMustacheRender','create','then','body','catch','error','finally','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','stop','textRequest','result','fulfillment','speech','Message','metadata','endConversation','stringify','moment','apiai-promise','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/mailMessage','../../rpc/smsMessage','../../rpc/faxMessage','consequence','interaction','info','[%s][DIALOGFLOW]\x20%s','next','contact'];(function(_0x5c0a75,_0x146776){var _0x710f79=function(_0x1caa40){while(--_0x1caa40){_0x5c0a75['push'](_0x5c0a75['shift']());}};_0x710f79(++_0x146776);}(_0x06be,0x1d5));var _0xe06b=function(_0x31fe3e,_0x4fab85){_0x31fe3e=_0x31fe3e-0x0;var _0x1aa2d2=_0x06be[_0x31fe3e];return _0x1aa2d2;};'use strict';var _=require('lodash');var moment=require(_0xe06b('0x0'));var apiai=require(_0xe06b('0x1'));var md5=require('md5');var utils=require(_0xe06b('0x2'));var logger=require(_0xe06b('0x3'))(_0xe06b('0x4'));var rpc={'chatMessage':require(_0xe06b('0x5')),'openchannelMessage':require('../../rpc/openchannelMessage'),'mailMessage':require(_0xe06b('0x6')),'smsMessage':require(_0xe06b('0x7')),'faxMessage':require(_0xe06b('0x8'))};exports[_0xe06b('0x9')]=function(_0x41520a,_0x3080f4){return function(_0x517e39){try{if(!_['isNil'](this[_0xe06b('0xa')]['UserId'])){logger[_0xe06b('0xb')](_0xe06b('0xc'),_0x41520a,'Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.');return _0x517e39[_0xe06b('0xd')]();}var _0x2987ae={'ContactId':this[_0xe06b('0xe')]['id'],'sentAt':moment()[_0xe06b('0xf')](_0xe06b('0x10')),'direction':'out'};var _0x4eb581=this[_0xe06b('0x11')];if(_0x4eb581===_0xe06b('0x12')){_0x2987ae[_0xe06b('0x13')]=this[_0xe06b('0x14')]['id'];}else{_0x2987ae[_[_0xe06b('0x15')](_0x4eb581)+_0xe06b('0x16')]=this['account']['id'];}_0x2987ae[_[_0xe06b('0x15')](_0x4eb581)+_0xe06b('0x17')]=this[_0xe06b('0xa')]['id'];if(this[_0xe06b('0xa')][_0xe06b('0x18')]){var _0x9fea2a=_0x3080f4[0x2];if(!_[_0xe06b('0x19')](_0x9fea2a)){_0x2987ae['body']=utils[_0xe06b('0x1a')](_0x9fea2a,this);return rpc[_0x4eb581+'Message'][_0xe06b('0x1b')](_0x2987ae)[_0xe06b('0x1c')](function(_0xbb670){logger[_0xe06b('0xb')](_0xe06b('0xc'),_0x41520a,_0x2987ae[_0xe06b('0x1d')]);})[_0xe06b('0x1e')](function(_0x525679){logger[_0xe06b('0x1f')]('[%s][DIALOGFLOW]\x20%s',_0x41520a,JSON['stringify'](_0x525679));})[_0xe06b('0x20')](function(){logger[_0xe06b('0xb')](_0xe06b('0x21'),_0x41520a);_0x517e39['stop']();});}else{logger[_0xe06b('0xb')](_0xe06b('0x22'),_0x41520a);_0x517e39[_0xe06b('0x23')]();}}else{var _0x1ba3be=this;var _0x5e8695=apiai(_0x3080f4[0x0],{'language':_0x3080f4[0x1]||'en'});return _0x5e8695[_0xe06b('0x24')](this['message'][_0xe06b('0x1d')],{'sessionId':md5(this['interaction']['id'])})[_0xe06b('0x1c')](function(_0x2c0a62){_0x1ba3be['body']['dialogflow']=_0x2c0a62;_0x2987ae[_0xe06b('0x1d')]=_0x2c0a62[_0xe06b('0x25')][_0xe06b('0x26')][_0xe06b('0x27')];return rpc[_0x4eb581+_0xe06b('0x28')]['create'](_0x2987ae)[_0xe06b('0x1c')](function(_0x509807){logger['info'](_0xe06b('0xc'),_0x41520a,_0x2987ae[_0xe06b('0x1d')]);if(_0x2c0a62[_0xe06b('0x25')][_0xe06b('0x29')][_0xe06b('0x2a')]){_0x517e39['next']();}else{_0x517e39['stop']();}})['catch'](function(_0x5e161d){logger[_0xe06b('0x1f')](_0xe06b('0xc'),_0x41520a,JSON[_0xe06b('0x2b')](_0x5e161d));_0x517e39['next']();});})['catch'](function(_0x2a398b){logger[_0xe06b('0x1f')](_0xe06b('0xc'),_0x41520a,_0x2a398b['message']);_0x517e39[_0xe06b('0xd')]();});}}catch(_0x2759bb){logger[_0xe06b('0x1f')](_0xe06b('0xc'),_0x41520a,JSON[_0xe06b('0x2b')](_0x2759bb));_0x517e39[_0xe06b('0x23')]();}};};