b76faa78b96f548039b3310d75e7bd7a477c76af
[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 _0x7cf6=['error','[%s][TVOX]\x20%s','isObject','stop','info','next','request-promise','lodash','consequence','\x20-\x20','replace','includes','push','urlOnAnswer','?params=','urlOnRing','title','2.0','method','login','params','stringify','utf8','POST','application/json-rpc','then','parse','result','Unable\x20to\x20login\x20with\x20TVox\x20application','&data='];(function(_0x5454a4,_0x301069){var _0x37bdc2=function(_0x4be41b){while(--_0x4be41b){_0x5454a4['push'](_0x5454a4['shift']());}};_0x37bdc2(++_0x301069);}(_0x7cf6,0x114));var _0x67cf=function(_0x486867,_0x52a530){_0x486867=_0x486867-0x0;var _0x3d3c99=_0x7cf6[_0x486867];return _0x3d3c99;};'use strict';var rp=require(_0x67cf('0x0'));var logger=require('../../../../config/logger')('routing');var _=require(_0x67cf('0x1'));var arr=[];exports[_0x67cf('0x2')]=function(_0x1638e0,_0x18b7e2){return function(_0x5dac3d){var _0x5eb72f=_0x18b7e2[0xa];var _0x2c0025=_0x18b7e2[0xb];var _0xa1c069=_0x18b7e2[0xc];var _0x249298=_0x18b7e2[0xd];var _0x3ae919=_0x18b7e2[0xe];var _0x189137=_0x18b7e2[0xf]['replace'](/\n/g,_0x67cf('0x3'));var _0x71496b=_0x18b7e2[0x10][_0x67cf('0x4')](/\n/g,'\x20');if(!arr[_0x67cf('0x5')](_0x2c0025)){arr[_0x67cf('0x6')](_0x2c0025);var _0x31c6fb=_0x18b7e2[0x3];var _0x25518e=_0x18b7e2[0x4];var _0x549a03=_0x18b7e2[0x1];var _0x85ef38=_0x18b7e2[0x0];var _0x4f694c={};_0x4f694c[_0x67cf('0x7')]=_0x18b7e2[0x8]+_0x67cf('0x8')+_0xa1c069+'|'+_0x5eb72f+'|'+_0x249298+'|'+_0x2c0025+'|'+_0x3ae919;_0x4f694c[_0x67cf('0x9')]=_0x18b7e2[0x7]+_0x67cf('0x8')+_0xa1c069+'|'+_0x5eb72f+'|'+_0x249298+'|'+_0x2c0025+'|'+_0x3ae919+'|'+_0x189137+'|'+_0x71496b;_0x4f694c[_0x67cf('0xa')]=_0x18b7e2[0x9];var _0x32d82f={};_0x32d82f['jsonrpc']=_0x67cf('0xb');_0x32d82f[_0x67cf('0xc')]=_0x67cf('0xd');var _0x2a9f6c=[];_0x2a9f6c[_0x67cf('0x6')](_0x18b7e2[0x2]);_0x2a9f6c[_0x67cf('0x6')](_0x18b7e2[0x5]);_0x2a9f6c['push'](_0x18b7e2[0x6]);_0x32d82f[_0x67cf('0xe')]=_0x2a9f6c;_0x32d82f['id']=0x1;var _0x44b0b2=JSON[_0x67cf('0xf')](_0x32d82f);var _0x3d1acf={'encoding':_0x67cf('0x10'),'method':_0x67cf('0x11'),'timeout':0x2710,'url':_0x31c6fb,'headers':{'Content-Type':_0x67cf('0x12')},'body':_0x44b0b2};return rp(_0x3d1acf)[_0x67cf('0x13')](function(_0x1a2251){const _0xcedd2d=JSON[_0x67cf('0x14')](_0x1a2251);if(!_0xcedd2d[_0x67cf('0x15')]['logged']){throw new Error(_0x67cf('0x16'));}var _0x566726=_0x2c0025;var _0x186fdd='channelId='+_0x549a03+'&serviceId='+_0x85ef38+'&sessionId='+_0x566726+_0x67cf('0x17')+JSON[_0x67cf('0xf')](_0x4f694c);var _0x59186b=_0x25518e+'?'+_0x186fdd;return rp(_0x59186b);})['then'](function(_0x219e18){logger['info']('[%s][TVOX]\x20Request\x20sent\x20to\x20TVox:\x20%s',_0x1638e0,_0x219e18);_0x5dac3d['stop']();})['catch'](function(_0x4078fe){logger[_0x67cf('0x18')](_0x67cf('0x19'),_0x1638e0,_[_0x67cf('0x1a')](_0x4078fe)?JSON['stringify'](_0x4078fe):_0x4078fe);_0x5dac3d[_0x67cf('0x1b')]();});}else{logger[_0x67cf('0x1c')]('[%s][TVOX]\x20Application\x20already\x20executed\x20for\x20the\x20current\x20session,\x20force\x20next',_0x1638e0);_0x5dac3d[_0x67cf('0x1d')]();}};};