8e49bb48d69577e831257800d7000f61ff2db3d4
[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 _0x9b33=['\x20-\x20','includes','push','?params=','urlOnRing','jsonrpc','2.0','login','stringify','POST','application/json-rpc','then','parse','result','logged','Unable\x20to\x20login\x20with\x20TVox\x20application','&data=','info','stop','catch','error','[%s][TVOX]\x20%s','next','request-promise','lodash','consequence','replace'];(function(_0x4b2436,_0x452299){var _0x4f5ab2=function(_0x5c6679){while(--_0x5c6679){_0x4b2436['push'](_0x4b2436['shift']());}};_0x4f5ab2(++_0x452299);}(_0x9b33,0x1e2));var _0x39b3=function(_0x36eaaa,_0x326732){_0x36eaaa=_0x36eaaa-0x0;var _0x461349=_0x9b33[_0x36eaaa];return _0x461349;};'use strict';var rp=require(_0x39b3('0x0'));var logger=require('../../../../config/logger')('routing');var _=require(_0x39b3('0x1'));var arr=[];exports[_0x39b3('0x2')]=function(_0x544c30,_0x32ba83){return function(_0x1d17fb){var _0x405208=_0x32ba83[0xa];var _0x1bd698=_0x32ba83[0xb];var _0x44ec41=_0x32ba83[0xc];var _0x123a34=_0x32ba83[0xd];var _0x27e4a7=_0x32ba83[0xe];var _0x301629=_0x32ba83[0xf][_0x39b3('0x3')](/\n/g,_0x39b3('0x4'));var _0x158325=_0x32ba83[0x10][_0x39b3('0x3')](/\n/g,'\x20');if(!arr[_0x39b3('0x5')](_0x1bd698)){arr[_0x39b3('0x6')](_0x1bd698);var _0x2c5830=_0x32ba83[0x3];var _0x5435c8=_0x32ba83[0x4];var _0xe18296=_0x32ba83[0x1];var _0x47aa9d=_0x32ba83[0x0];var _0x12d13b={};_0x12d13b['urlOnAnswer']=_0x32ba83[0x8]+_0x39b3('0x7')+_0x44ec41+'|'+_0x405208+'|'+_0x123a34+'|'+_0x1bd698+'|'+_0x27e4a7;_0x12d13b[_0x39b3('0x8')]=_0x32ba83[0x7]+_0x39b3('0x7')+_0x44ec41+'|'+_0x405208+'|'+_0x123a34+'|'+_0x1bd698+'|'+_0x27e4a7+'|'+_0x301629+'|'+_0x158325;_0x12d13b['title']=_0x32ba83[0x9];var _0x3c6779={};_0x3c6779[_0x39b3('0x9')]=_0x39b3('0xa');_0x3c6779['method']=_0x39b3('0xb');var _0x19d247=[];_0x19d247['push'](_0x32ba83[0x2]);_0x19d247[_0x39b3('0x6')](_0x32ba83[0x5]);_0x19d247[_0x39b3('0x6')](_0x32ba83[0x6]);_0x3c6779['params']=_0x19d247;_0x3c6779['id']=0x1;var _0x4bf852=JSON[_0x39b3('0xc')](_0x3c6779);var _0x4d1994={'encoding':'utf8','method':_0x39b3('0xd'),'timeout':0x2710,'url':_0x2c5830,'headers':{'Content-Type':_0x39b3('0xe')},'body':_0x4bf852};return rp(_0x4d1994)[_0x39b3('0xf')](function(_0x54e78f){const _0x5e9c2d=JSON[_0x39b3('0x10')](_0x54e78f);if(!_0x5e9c2d[_0x39b3('0x11')][_0x39b3('0x12')]){throw new Error(_0x39b3('0x13'));}var _0x2571cd=_0x1bd698;var _0x1cdd3d='channelId='+_0xe18296+'&serviceId='+_0x47aa9d+'&sessionId='+_0x2571cd+_0x39b3('0x14')+JSON[_0x39b3('0xc')](_0x12d13b);var _0x17d040=_0x5435c8+'?'+_0x1cdd3d;return rp(_0x17d040);})[_0x39b3('0xf')](function(_0x418bfe){logger[_0x39b3('0x15')]('[%s][TVOX]\x20Request\x20sent\x20to\x20TVox:\x20%s',_0x544c30,_0x418bfe);_0x1d17fb[_0x39b3('0x16')]();})[_0x39b3('0x17')](function(_0x848722){logger[_0x39b3('0x18')](_0x39b3('0x19'),_0x544c30,_['isObject'](_0x848722)?JSON[_0x39b3('0xc')](_0x848722):_0x848722);_0x1d17fb['stop']();});}else{logger['info']('[%s][TVOX]\x20Application\x20already\x20executed\x20for\x20the\x20current\x20session,\x20force\x20next',_0x544c30);_0x1d17fb[_0x39b3('0x1a')]();}};};