b895288bb5c6726d06bce63db63c842117094d9a
[motion2.git] / server / services / xdr / utils.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 _0x867e=['GetVoiceQueue','type','acw','[utils][getVoiceQueueByName]','add','seconds','YYYY-MM-DD\x20HH:mm:ss','subtract','format','diff','now','isAfter','isBefore','bluebird','jayson/promise','moment','client','../../config/logger','info','inspect','debug','error','request','then','[utils][request]\x20name:%s','catch','internal','name','[utils][getUser]\x20where:%s','length','result','getUserByInternal','found','notfound','[utils][getUserByInternal]','getUserByInterface','[utils][getUserByInterface]\x20interface:%s\x20%s','[utils][getUserByInterface]','getUserByName','[utils][getUserByName]'];(function(_0x2a538a,_0x2c5c72){var _0x3dbe25=function(_0x27b5de){while(--_0x27b5de){_0x2a538a['push'](_0x2a538a['shift']());}};_0x3dbe25(++_0x2c5c72);}(_0x867e,0x1c5));var _0xe867=function(_0xcffe4,_0x772be4){_0xcffe4=_0xcffe4-0x0;var _0x3ab98c=_0x867e[_0xcffe4];return _0x3ab98c;};'use strict';var BPromise=require(_0xe867('0x0'));var jayson=require(_0xe867('0x1'));var moment=require(_0xe867('0x2'));var util=require('util');var client=jayson[_0xe867('0x3')]['http']({'port':0x2329});var logger=require(_0xe867('0x4'))('xdr');exports[_0xe867('0x5')]=function(_0xa59225,_0x36a967){logger[_0xe867('0x5')](_0xa59225,_0x36a967?util[_0xe867('0x6')](_0x36a967,{'showHidden':![],'depth':null}):'');};exports[_0xe867('0x7')]=function(_0x20609b,_0x395784){logger[_0xe867('0x7')](_0x20609b,_0x395784?util[_0xe867('0x6')](_0x395784,{'showHidden':![],'depth':null}):'');};exports[_0xe867('0x8')]=function(_0x3a852b,_0x2b0ff4){logger['error'](_0x3a852b,_0x2b0ff4?util['inspect'](_0x2b0ff4,{'showHidden':![],'depth':null}):'');};exports['request']=function(_0x166941,_0x1a8da8){return client[_0xe867('0x9')](_0x166941,{'body':_0x1a8da8})[_0xe867('0xa')](function(_0x2846fd){logger[_0xe867('0x7')](_0xe867('0xb'),_0x166941,_0x2846fd?util[_0xe867('0x6')](_0x2846fd,{'showHidden':![],'depth':null}):'');})[_0xe867('0xc')](function(_0x7d193){logger[_0xe867('0x8')](_0xe867('0xb'),_0x166941,_0x7d193?util[_0xe867('0x6')](_0x7d193,{'showHidden':![],'depth':null}):'');});};function getUser(_0x208254){return client['request']('GetUser',{'options':{'raw':!![],'attributes':['id',_0xe867('0xd'),_0xe867('0xe'),'interface'],'where':_0x208254,'limit':0x1}})[_0xe867('0xa')](function(_0x92abf0){logger['debug'](_0xe867('0xf'),JSON['stringify'](_0x208254),_0x92abf0?util[_0xe867('0x6')](_0x92abf0,{'showHidden':![],'depth':null}):'');return _0x92abf0['result'][_0xe867('0x10')]?_0x92abf0[_0xe867('0x11')][0x0]:null;});}exports[_0xe867('0x12')]=function(_0x329763){return new BPromise(function(_0x455aae,_0x4c624d){if(_0x329763){return getUser({'internal':_0x329763})['then'](function(_0x594580){logger[_0xe867('0x5')]('[utils][getUserByInternal]\x20internal:%s\x20%s',_0x329763,_0x594580?_0xe867('0x13'):_0xe867('0x14'));return _0x455aae(_0x594580);})[_0xe867('0xc')](function(_0x21a471){logger[_0xe867('0x8')](_0xe867('0x15'),_0x21a471?util[_0xe867('0x6')](_0x21a471,{'showHidden':![],'depth':null}):'');return _0x455aae(null);});}return _0x455aae(null);});};exports[_0xe867('0x16')]=function(_0x5aeda6){return new BPromise(function(_0xecbca9,_0x594e0d){if(_0x5aeda6){return getUser({'interface':_0x5aeda6})['then'](function(_0x138dec){logger[_0xe867('0x5')](_0xe867('0x17'),_0x5aeda6,_0x138dec?'found':'notfound');return _0xecbca9(_0x138dec);})['catch'](function(_0x226e92){logger[_0xe867('0x8')](_0xe867('0x18'),_0x226e92?util[_0xe867('0x6')](_0x226e92,{'showHidden':![],'depth':null}):'');return _0xecbca9(null);});}return _0xecbca9(null);});};exports[_0xe867('0x19')]=function(_0xecad84){return new BPromise(function(_0x583c39,_0x21cd0a){if(_0xecad84){return getUser({'name':_0xecad84})[_0xe867('0xa')](function(_0x3c1385){logger[_0xe867('0x5')]('[utils][getUserByName]\x20name:%s\x20%s',_0xecad84,_0x3c1385?_0xe867('0x13'):_0xe867('0x14'));return _0x583c39(_0x3c1385);})[_0xe867('0xc')](function(_0x301997){logger[_0xe867('0x8')](_0xe867('0x1a'),_0x301997?util[_0xe867('0x6')](_0x301997,{'showHidden':![],'depth':null}):'');return _0x583c39(null);});}return _0x583c39(null);});};exports['getVoiceQueueByName']=function(_0x29c190){return new BPromise(function(_0x41d7ae,_0x214a80){if(_0x29c190){return client[_0xe867('0x9')](_0xe867('0x1b'),{'options':{'raw':!![],'attributes':['id',_0xe867('0xe'),_0xe867('0x1c'),_0xe867('0x1d'),'acwTimeout'],'where':{'name':_0x29c190},'limit':0x1}})[_0xe867('0xa')](function(_0x14d4b6){logger[_0xe867('0x7')]('[utils][getVoiceQueueByName]\x20name:%s',_0x29c190,_0x14d4b6?util[_0xe867('0x6')](_0x14d4b6,{'showHidden':![],'depth':null}):'');logger[_0xe867('0x5')]('[utils][getVoiceQueueByName]\x20name:%s\x20%s',_0x29c190,_0x14d4b6?_0xe867('0x13'):'notfound');return _0x41d7ae(_0x14d4b6['result'][_0xe867('0x10')]?_0x14d4b6['result'][0x0]:null);})[_0xe867('0xc')](function(_0x44e8bb){logger['error'](_0xe867('0x1e'),_0x44e8bb?util[_0xe867('0x6')](_0x44e8bb,{'showHidden':![],'depth':null}):'');return _0x41d7ae(null);});}return _0x41d7ae(null);});};exports['addTime']=function(_0x2034e7,_0x45e712){return moment(_0x2034e7)[_0xe867('0x1f')](_0x45e712,_0xe867('0x20'))['format'](_0xe867('0x21'));};exports['subtractTime']=function(_0x4d1609,_0x4452f7){return moment(_0x4d1609)[_0xe867('0x22')](_0x4452f7,'seconds')[_0xe867('0x23')](_0xe867('0x21'));};exports['diffTime']=function(_0x170ab0,_0x34dd29){return moment(_0x170ab0)[_0xe867('0x24')](moment(_0x34dd29),_0xe867('0x20'));};exports['sumTime']=function(_0x1ce2f6,_0x41e26b){return parseInt(_0x1ce2f6,0xa)+parseInt(_0x41e26b,0xa);};exports[_0xe867('0x25')]=function(){return moment()[_0xe867('0x23')](_0xe867('0x21'));};exports[_0xe867('0x26')]=function(_0x1a9d8f,_0x380307){if(_0x380307){return moment(_0x1a9d8f)['isAfter'](_0x380307);}return!![];};exports['isBefore']=function(_0x42db02,_0x4043d2){if(_0x4043d2){return moment(_0x42db02)[_0xe867('0x27')](_0x4043d2);}else if(_0x42db02){return!![];}return![];};