Built motion from commit (unavailable).|2.5.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 _0x04ca=['next','moment','apiai-promise','md5','./utils','../../../../config/logger','routing','../../rpc/chatMessage','../../rpc/openchannelMessage','../../rpc/smsMessage','../../rpc/whatsappMessage','consequence','isNil','UserId','info','Agent\x20is\x20managing\x20the\x20interaction.\x20Go\x20to\x20next\x20application.','format','YYYY-MM-DD\x20HH:mm:ss','chat','ChatWebsiteId','upperFirst','AccountId','account','InteractionId','interaction','created','isEmpty','body','create','then','[%s][DIALOGFLOW]\x20%s','catch','error','stringify','finally','stop','[%s][DIALOGFLOW]\x20Welcome\x20Message\x20is\x20empty.\x20It\x20will\x20wait\x20for\x20a\x20message\x20from\x20customer!','textRequest','message','dialogflow','result','Message','metadata','endConversation'];(function(_0x4565bf,_0x5ad9d6){var _0x5610ba=function(_0x170988){while(--_0x170988){_0x4565bf['push'](_0x4565bf['shift']());}};_0x5610ba(++_0x5ad9d6);}(_0x04ca,0xdd));var _0xa04c=function(_0x42cae2,_0x284ef8){_0x42cae2=_0x42cae2-0x0;var _0x5f256f=_0x04ca[_0x42cae2];return _0x5f256f;};'use strict';var _=require('lodash');var moment=require(_0xa04c('0x0'));var apiai=require(_0xa04c('0x1'));var md5=require(_0xa04c('0x2'));var utils=require(_0xa04c('0x3'));var logger=require(_0xa04c('0x4'))(_0xa04c('0x5'));var rpc={'chatMessage':require(_0xa04c('0x6')),'openchannelMessage':require(_0xa04c('0x7')),'mailMessage':require('../../rpc/mailMessage'),'smsMessage':require(_0xa04c('0x8')),'faxMessage':require('../../rpc/faxMessage'),'whatsappMessage':require(_0xa04c('0x9'))};exports[_0xa04c('0xa')]=function(_0x277cb6,_0x2da5ad){return function(_0xdd667d){try{if(!_[_0xa04c('0xb')](this['interaction'][_0xa04c('0xc')])){logger[_0xa04c('0xd')]('[%s][DIALOGFLOW]\x20%s',_0x277cb6,_0xa04c('0xe'));return _0xdd667d['next']();}var _0x2a4805={'ContactId':this['contact']['id'],'sentAt':moment()[_0xa04c('0xf')](_0xa04c('0x10')),'direction':'out'};var _0xd39a50=this['channel'];if(_0xd39a50===_0xa04c('0x11')){_0x2a4805[_0xa04c('0x12')]=this['account']['id'];}else{_0x2a4805[_[_0xa04c('0x13')](_0xd39a50)+_0xa04c('0x14')]=this[_0xa04c('0x15')]['id'];}_0x2a4805[_[_0xa04c('0x13')](_0xd39a50)+_0xa04c('0x16')]=this[_0xa04c('0x17')]['id'];if(this[_0xa04c('0x17')][_0xa04c('0x18')]){var _0x5420d5=_0x2da5ad[0x2];if(!_[_0xa04c('0x19')](_0x5420d5)){_0x2a4805[_0xa04c('0x1a')]=utils['getMustacheRender'](_0x5420d5,this);return rpc[_0xd39a50+'Message'][_0xa04c('0x1b')](_0x2a4805)[_0xa04c('0x1c')](function(_0x366b47){logger[_0xa04c('0xd')](_0xa04c('0x1d'),_0x277cb6,_0x2a4805[_0xa04c('0x1a')]);})[_0xa04c('0x1e')](function(_0x179d68){logger[_0xa04c('0x1f')](_0xa04c('0x1d'),_0x277cb6,JSON[_0xa04c('0x20')](_0x179d68));})[_0xa04c('0x21')](function(){logger['info']('[%s][DIALOGFLOW]\x20Welcome\x20Message\x20has\x20been\x20sent!',_0x277cb6);_0xdd667d[_0xa04c('0x22')]();});}else{logger['info'](_0xa04c('0x23'),_0x277cb6);_0xdd667d['stop']();}}else{var _0xee8d74=this;var _0x1c87a0=apiai(_0x2da5ad[0x0],{'language':_0x2da5ad[0x1]||'en'});return _0x1c87a0[_0xa04c('0x24')](this[_0xa04c('0x25')]['body'],{'sessionId':md5(this[_0xa04c('0x17')]['id'])})[_0xa04c('0x1c')](function(_0x395a02){_0xee8d74['body'][_0xa04c('0x26')]=_0x395a02;_0x2a4805[_0xa04c('0x1a')]=_0x395a02[_0xa04c('0x27')]['fulfillment']['speech'];return rpc[_0xd39a50+_0xa04c('0x28')][_0xa04c('0x1b')](_0x2a4805)[_0xa04c('0x1c')](function(_0x3597ac){logger[_0xa04c('0xd')](_0xa04c('0x1d'),_0x277cb6,_0x2a4805[_0xa04c('0x1a')]);if(_0x395a02[_0xa04c('0x27')][_0xa04c('0x29')][_0xa04c('0x2a')]){_0xdd667d[_0xa04c('0x2b')]();}else{_0xdd667d[_0xa04c('0x22')]();}})['catch'](function(_0x2ed37a){logger[_0xa04c('0x1f')](_0xa04c('0x1d'),_0x277cb6,JSON[_0xa04c('0x20')](_0x2ed37a));_0xdd667d[_0xa04c('0x2b')]();});})['catch'](function(_0x294ed6){logger[_0xa04c('0x1f')](_0xa04c('0x1d'),_0x277cb6,_0x294ed6[_0xa04c('0x25')]);_0xdd667d[_0xa04c('0x2b')]();});}}catch(_0xd23494){logger[_0xa04c('0x1f')](_0xa04c('0x1d'),_0x277cb6,JSON[_0xa04c('0x20')](_0xd23494));_0xdd667d[_0xa04c('0x22')]();}};};