Built motion from commit 936e8062.|2.5.33
[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 _0x5f43=['format','subtract','diff','sumTime','now','YYYY-MM-DD\x20HH:mm:ss','isAfter','isBefore','bluebird','jayson/promise','moment','client','xdr','info','inspect','debug','error','request','then','catch','GetUser','internal','name','interface','[utils][getUser]\x20where:%s','stringify','result','length','getUserByInternal','[utils][getUserByInternal]\x20internal:%s\x20%s','notfound','[utils][getUserByInternal]','[utils][getUserByInterface]\x20interface:%s\x20%s','found','[utils][getUserByInterface]','getUserByName','[utils][getUserByName]','acwTimeout','[utils][getVoiceQueueByName]\x20name:%s','[utils][getVoiceQueueByName]\x20name:%s\x20%s','[utils][getVoiceQueueByName]','addTime','add','seconds'];(function(_0x260859,_0x3cfcff){var _0x4b77f8=function(_0x2e48f8){while(--_0x2e48f8){_0x260859['push'](_0x260859['shift']());}};_0x4b77f8(++_0x3cfcff);}(_0x5f43,0xe4));var _0x35f4=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5f43[_0x3dd15e];return _0x231fd0;};'use strict';var BPromise=require(_0x35f4('0x0'));var jayson=require(_0x35f4('0x1'));var moment=require(_0x35f4('0x2'));var util=require('util');var client=jayson[_0x35f4('0x3')]['http']({'port':0x2329});var logger=require('../../config/logger')(_0x35f4('0x4'));exports[_0x35f4('0x5')]=function(_0x529c8f,_0xe783fe){logger['info'](_0x529c8f,_0xe783fe?util[_0x35f4('0x6')](_0xe783fe,{'showHidden':![],'depth':null}):'');};exports[_0x35f4('0x7')]=function(_0x4ef6fc,_0x56a2ee){logger[_0x35f4('0x7')](_0x4ef6fc,_0x56a2ee?util[_0x35f4('0x6')](_0x56a2ee,{'showHidden':![],'depth':null}):'');};exports['error']=function(_0x32ba6d,_0x3c99f9){logger[_0x35f4('0x8')](_0x32ba6d,_0x3c99f9?util[_0x35f4('0x6')](_0x3c99f9,{'showHidden':![],'depth':null}):'');};exports[_0x35f4('0x9')]=function(_0x59c2d4,_0x58fea1){return client[_0x35f4('0x9')](_0x59c2d4,{'body':_0x58fea1})[_0x35f4('0xa')](function(_0x5010b1){logger[_0x35f4('0x7')]('[utils][request]\x20name:%s',_0x59c2d4,_0x5010b1?util[_0x35f4('0x6')](_0x5010b1,{'showHidden':![],'depth':null}):'');})[_0x35f4('0xb')](function(_0x17b149){logger[_0x35f4('0x8')]('[utils][request]\x20name:%s',_0x59c2d4,_0x17b149?util[_0x35f4('0x6')](_0x17b149,{'showHidden':![],'depth':null}):'');});};function getUser(_0x30e85f){return client[_0x35f4('0x9')](_0x35f4('0xc'),{'options':{'raw':!![],'attributes':['id',_0x35f4('0xd'),_0x35f4('0xe'),_0x35f4('0xf')],'where':_0x30e85f,'limit':0x1}})[_0x35f4('0xa')](function(_0x362167){logger[_0x35f4('0x7')](_0x35f4('0x10'),JSON[_0x35f4('0x11')](_0x30e85f),_0x362167?util[_0x35f4('0x6')](_0x362167,{'showHidden':![],'depth':null}):'');return _0x362167[_0x35f4('0x12')][_0x35f4('0x13')]?_0x362167['result'][0x0]:null;});}exports[_0x35f4('0x14')]=function(_0x114a10){return new BPromise(function(_0x166c29,_0x13f020){if(_0x114a10){return getUser({'internal':_0x114a10})[_0x35f4('0xa')](function(_0x1189b2){logger[_0x35f4('0x5')](_0x35f4('0x15'),_0x114a10,_0x1189b2?'found':_0x35f4('0x16'));return _0x166c29(_0x1189b2);})[_0x35f4('0xb')](function(_0x43a31d){logger[_0x35f4('0x8')](_0x35f4('0x17'),_0x43a31d?util['inspect'](_0x43a31d,{'showHidden':![],'depth':null}):'');return _0x166c29(null);});}return _0x166c29(null);});};exports['getUserByInterface']=function(_0x796d8a){return new BPromise(function(_0x168b98,_0x58fcde){if(_0x796d8a){return getUser({'interface':_0x796d8a})[_0x35f4('0xa')](function(_0x97aa9a){logger['info'](_0x35f4('0x18'),_0x796d8a,_0x97aa9a?_0x35f4('0x19'):_0x35f4('0x16'));return _0x168b98(_0x97aa9a);})[_0x35f4('0xb')](function(_0x2de42e){logger['error'](_0x35f4('0x1a'),_0x2de42e?util[_0x35f4('0x6')](_0x2de42e,{'showHidden':![],'depth':null}):'');return _0x168b98(null);});}return _0x168b98(null);});};exports[_0x35f4('0x1b')]=function(_0x44be3e){return new BPromise(function(_0x37a594,_0x37087a){if(_0x44be3e){return getUser({'name':_0x44be3e})[_0x35f4('0xa')](function(_0x266f17){logger['info']('[utils][getUserByName]\x20name:%s\x20%s',_0x44be3e,_0x266f17?_0x35f4('0x19'):_0x35f4('0x16'));return _0x37a594(_0x266f17);})['catch'](function(_0x4f4fae){logger[_0x35f4('0x8')](_0x35f4('0x1c'),_0x4f4fae?util[_0x35f4('0x6')](_0x4f4fae,{'showHidden':![],'depth':null}):'');return _0x37a594(null);});}return _0x37a594(null);});};exports['getVoiceQueueByName']=function(_0x62751a){return new BPromise(function(_0x5f3b4a,_0x423589){if(_0x62751a){return client['request']('GetVoiceQueue',{'options':{'raw':!![],'attributes':['id',_0x35f4('0xe'),'type','acw',_0x35f4('0x1d')],'where':{'name':_0x62751a},'limit':0x1}})[_0x35f4('0xa')](function(_0x38d848){logger[_0x35f4('0x7')](_0x35f4('0x1e'),_0x62751a,_0x38d848?util[_0x35f4('0x6')](_0x38d848,{'showHidden':![],'depth':null}):'');logger['info'](_0x35f4('0x1f'),_0x62751a,_0x38d848?_0x35f4('0x19'):'notfound');return _0x5f3b4a(_0x38d848[_0x35f4('0x12')][_0x35f4('0x13')]?_0x38d848['result'][0x0]:null);})[_0x35f4('0xb')](function(_0x21b9b0){logger['error'](_0x35f4('0x20'),_0x21b9b0?util[_0x35f4('0x6')](_0x21b9b0,{'showHidden':![],'depth':null}):'');return _0x5f3b4a(null);});}return _0x5f3b4a(null);});};exports[_0x35f4('0x21')]=function(_0xbf9e9e,_0x4912a7){return moment(_0xbf9e9e)[_0x35f4('0x22')](_0x4912a7,_0x35f4('0x23'))[_0x35f4('0x24')]('YYYY-MM-DD\x20HH:mm:ss');};exports['subtractTime']=function(_0x1f6c64,_0x2067bc){return moment(_0x1f6c64)[_0x35f4('0x25')](_0x2067bc,'seconds')[_0x35f4('0x24')]('YYYY-MM-DD\x20HH:mm:ss');};exports['diffTime']=function(_0x319eae,_0x47a2ca){return moment(_0x319eae)[_0x35f4('0x26')](moment(_0x47a2ca),_0x35f4('0x23'));};exports[_0x35f4('0x27')]=function(_0xf84804,_0x4b6ac0){return parseInt(_0xf84804,0xa)+parseInt(_0x4b6ac0,0xa);};exports[_0x35f4('0x28')]=function(){return moment()['format'](_0x35f4('0x29'));};exports[_0x35f4('0x2a')]=function(_0x4fbf2d,_0x43876c){if(_0x43876c){return moment(_0x4fbf2d)[_0x35f4('0x2a')](_0x43876c);}return!![];};exports[_0x35f4('0x2b')]=function(_0x54d797,_0x469e11){if(_0x469e11){return moment(_0x54d797)[_0x35f4('0x2b')](_0x469e11);}else if(_0x54d797){return!![];}return![];};