d89ea04aa21f3166cadff358ae4832343862db79
[motion2.git] / server / services / routing / server / applications / tvox.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 _0x3800=['push','params','utf8','POST','application/json-rpc','then','parse','&sessionId=','&data=','stringify','info','[%s][TVOX]\x20Request\x20sent\x20to\x20TVox:\x20%s','stop','catch','[%s][TVOX]\x20%s','isObject','next','../../../../config/logger','lodash','consequence','\x20-\x20','replace','urlOnAnswer','?params=','urlOnRing','title','2.0','method'];(function(_0x3b150c,_0x2f93f8){var _0x5cd414=function(_0x26305e){while(--_0x26305e){_0x3b150c['push'](_0x3b150c['shift']());}};_0x5cd414(++_0x2f93f8);}(_0x3800,0xd5));var _0x0380=function(_0xc6a3a,_0x432d3c){_0xc6a3a=_0xc6a3a-0x0;var _0xcfef62=_0x3800[_0xc6a3a];return _0xcfef62;};'use strict';var rp=require('request-promise');var logger=require(_0x0380('0x0'))('routing');var _=require(_0x0380('0x1'));var arr=[];exports[_0x0380('0x2')]=function(_0x33cf27,_0x4e06be){return function(_0x358ebf){var _0x4a9a85=_0x4e06be[0xa];var _0xc31212=_0x4e06be[0xb];var _0x56192a=_0x4e06be[0xc];var _0x54bdc8=_0x4e06be[0xd];var _0x572492=_0x4e06be[0xe];var _0x366493=_0x4e06be[0xf]['replace'](/\n/g,_0x0380('0x3'));var _0x475e5a=_0x4e06be[0x10][_0x0380('0x4')](/\n/g,'\x20');if(!arr['includes'](_0xc31212)){arr['push'](_0xc31212);var _0x50bfde=_0x4e06be[0x3];var _0x39d6d4=_0x4e06be[0x4];var _0x2e358d=_0x4e06be[0x1];var _0x47e6c2=_0x4e06be[0x0];var _0x923a61={};_0x923a61[_0x0380('0x5')]=_0x4e06be[0x8]+_0x0380('0x6')+_0x56192a+'|'+_0x4a9a85+'|'+_0x54bdc8+'|'+_0xc31212+'|'+_0x572492;_0x923a61[_0x0380('0x7')]=_0x4e06be[0x7]+_0x0380('0x6')+_0x56192a+'|'+_0x4a9a85+'|'+_0x54bdc8+'|'+_0xc31212+'|'+_0x572492+'|'+_0x366493+'|'+_0x475e5a;_0x923a61[_0x0380('0x8')]=_0x4e06be[0x9];var _0x13709e={};_0x13709e['jsonrpc']=_0x0380('0x9');_0x13709e[_0x0380('0xa')]='login';var _0x1f7662=[];_0x1f7662[_0x0380('0xb')](_0x4e06be[0x2]);_0x1f7662[_0x0380('0xb')](_0x4e06be[0x5]);_0x1f7662[_0x0380('0xb')](_0x4e06be[0x6]);_0x13709e[_0x0380('0xc')]=_0x1f7662;_0x13709e['id']=0x1;var _0x206551=JSON['stringify'](_0x13709e);var _0x41888c={'encoding':_0x0380('0xd'),'method':_0x0380('0xe'),'timeout':0x2710,'url':_0x50bfde,'headers':{'Content-Type':_0x0380('0xf')},'body':_0x206551};return rp(_0x41888c)[_0x0380('0x10')](function(_0x3d35ed){const _0x300233=JSON[_0x0380('0x11')](_0x3d35ed);if(!_0x300233['result']['logged']){throw new Error('Unable\x20to\x20login\x20with\x20TVox\x20application');}var _0x51058b=_0xc31212;var _0x3aa750='channelId='+_0x2e358d+'&serviceId='+_0x47e6c2+_0x0380('0x12')+_0x51058b+_0x0380('0x13')+JSON[_0x0380('0x14')](_0x923a61);var _0x4996ab=_0x39d6d4+'?'+_0x3aa750;return rp(_0x4996ab);})[_0x0380('0x10')](function(_0x362cb2){logger[_0x0380('0x15')](_0x0380('0x16'),_0x33cf27,_0x362cb2);_0x358ebf[_0x0380('0x17')]();})[_0x0380('0x18')](function(_0x3ddc77){logger['error'](_0x0380('0x19'),_0x33cf27,_[_0x0380('0x1a')](_0x3ddc77)?JSON['stringify'](_0x3ddc77):_0x3ddc77);_0x358ebf['stop']();});}else{logger[_0x0380('0x15')]('[%s][TVOX]\x20Application\x20already\x20executed\x20for\x20the\x20current\x20session,\x20force\x20next',_0x33cf27);_0x358ebf[_0x0380('0x1b')]();}};};