4d3e6d40f1f7bc93a6fb6c9114b9a42bbd5b42d0
[motion2.git] / server / services / routing / server / interval.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 _0xcb90=['message','result','catch','rules','info','[%s][INTERVAL]\x20ROUTING\x20STOPPED','stop','length','push','Command','format','iftime\x20%s','indexOf','error','all','join','\x20|\x20','stack','bluebird','jayson/promise','../../../config/logger','routing','client','http','request','then'];(function(_0x211311,_0x5e08e9){var _0x12d89b=function(_0x19390f){while(--_0x19390f){_0x211311['push'](_0x211311['shift']());}};_0x12d89b(++_0x5e08e9);}(_0xcb90,0x1cc));var _0x0cb9=function(_0x1b0d70,_0x468caa){_0x1b0d70=_0x1b0d70-0x0;var _0xba5867=_0xcb90[_0x1b0d70];return _0xba5867;};'use strict';var util=require('util');var BPromise=require(_0x0cb9('0x0'));var jayson=require(_0x0cb9('0x1'));var _=require('lodash');var logger=require(_0x0cb9('0x2'))(_0x0cb9('0x3'));var client=jayson[_0x0cb9('0x4')][_0x0cb9('0x5')]({'port':0x232a});function request(_0x1612ab,_0x53509b){return new BPromise(function(_0xa9b833,_0xcf34bc){return client[_0x0cb9('0x6')](_0x1612ab,_0x53509b)[_0x0cb9('0x7')](function(_0x15c02a){if(_0x15c02a['error']){return _0xcf34bc(_0x15c02a['error'][_0x0cb9('0x8')]);}else{return _0xa9b833(_0x15c02a[_0x0cb9('0x9')]);}})[_0x0cb9('0xa')](function(_0x5b295e){return _0xcf34bc(_0x5b295e);});});}exports['condition']=function(_0x20d831,_0x491c9f,_0x48c017){return function(_0x273cc0){if(_0x48c017['rules']&&!_0x48c017[_0x0cb9('0xb')][_0x20d831]){logger[_0x0cb9('0xc')](_0x0cb9('0xd'),_0x20d831);return _0x273cc0[_0x0cb9('0xe')]();}var _0x27c1c7=[];for(var _0x591fa4=0x0;_0x591fa4<_0x491c9f[_0x0cb9('0xf')];_0x591fa4+=0x1){_0x27c1c7[_0x0cb9('0x10')](request(_0x0cb9('0x11'),{'command':util[_0x0cb9('0x12')](_0x0cb9('0x13'),_0x491c9f[_0x591fa4])})[_0x0cb9('0x7')](function(_0x39e98f){return _0x39e98f&&_0x39e98f['message']&&_0x39e98f[_0x0cb9('0x8')][_0x0cb9('0x14')]('true')>=0x0?!![]:![];})[_0x0cb9('0xa')](function(){logger[_0x0cb9('0x15')]('[%s][INTERVAL]\x20%s',_0x20d831,_0x491c9f[_0x591fa4]);}));}BPromise[_0x0cb9('0x16')](_0x27c1c7)[_0x0cb9('0x7')](function(_0x23a272){var _0x305cb4=_['some'](_0x23a272);logger['info']('[%s][INTERVAL]\x20%s\x20%s',_0x20d831,_0x491c9f[_0x0cb9('0x17')]('\x20|\x20'),_0x305cb4);_0x273cc0['when'](_0x305cb4);})[_0x0cb9('0xa')](function(_0x129867){logger['error']('[%s][INTERVAL]\x20%s\x20%s',_0x20d831,_0x491c9f[_0x0cb9('0x17')](_0x0cb9('0x18')),_0x129867[_0x0cb9('0x19')]);_0x273cc0[_0x0cb9('0xe')]();});};};