fa5cf0d902a628afb4fc1af32e21f34c0143add0
[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 _0x9333=['[utils][request]\x20name:%s','catch','GetUser','internal','interface','[utils][getUser]\x20where:%s','stringify','length','result','getUserByInternal','found','notfound','[utils][getUserByInternal]','getUserByInterface','[utils][getUserByInterface]\x20interface:%s\x20%s','[utils][getUserByInterface]','getUserByName','[utils][getUserByName]','getVoiceQueueByName','GetVoiceQueue','name','type','acw','acwTimeout','[utils][getVoiceQueueByName]\x20name:%s','[utils][getVoiceQueueByName]\x20name:%s\x20%s','[utils][getVoiceQueueByName]','addTime','add','seconds','format','subtractTime','subtract','YYYY-MM-DD\x20HH:mm:ss','diffTime','diff','sumTime','now','isAfter','isBefore','bluebird','jayson/promise','client','http','info','inspect','error','request','then','debug'];(function(_0x4c99ee,_0x2d8768){var _0x24bc5f=function(_0x9b00c1){while(--_0x9b00c1){_0x4c99ee['push'](_0x4c99ee['shift']());}};_0x24bc5f(++_0x2d8768);}(_0x9333,0x122));var _0x3933=function(_0xa54206,_0x3312a9){_0xa54206=_0xa54206-0x0;var _0x5e87db=_0x9333[_0xa54206];return _0x5e87db;};'use strict';var BPromise=require(_0x3933('0x0'));var jayson=require(_0x3933('0x1'));var moment=require('moment');var util=require('util');var client=jayson[_0x3933('0x2')][_0x3933('0x3')]({'port':0x2329});var logger=require('../../config/logger')('xdr');exports[_0x3933('0x4')]=function(_0x346b75,_0x1de9e1){logger[_0x3933('0x4')](_0x346b75,_0x1de9e1?util[_0x3933('0x5')](_0x1de9e1,{'showHidden':![],'depth':null}):'');};exports['debug']=function(_0x3a87d3,_0x4bd800){logger['debug'](_0x3a87d3,_0x4bd800?util['inspect'](_0x4bd800,{'showHidden':![],'depth':null}):'');};exports[_0x3933('0x6')]=function(_0x391109,_0x3e9ec7){logger[_0x3933('0x6')](_0x391109,_0x3e9ec7?util[_0x3933('0x5')](_0x3e9ec7,{'showHidden':![],'depth':null}):'');};exports['request']=function(_0x1b66ce,_0x592dae){return client[_0x3933('0x7')](_0x1b66ce,{'body':_0x592dae})[_0x3933('0x8')](function(_0x36ab90){logger[_0x3933('0x9')](_0x3933('0xa'),_0x1b66ce,_0x36ab90?util[_0x3933('0x5')](_0x36ab90,{'showHidden':![],'depth':null}):'');})[_0x3933('0xb')](function(_0x3d4c21){logger['error']('[utils][request]\x20name:%s',_0x1b66ce,_0x3d4c21?util['inspect'](_0x3d4c21,{'showHidden':![],'depth':null}):'');});};function getUser(_0x5f4b80){return client[_0x3933('0x7')](_0x3933('0xc'),{'options':{'raw':!![],'attributes':['id',_0x3933('0xd'),'name',_0x3933('0xe')],'where':_0x5f4b80,'limit':0x1}})[_0x3933('0x8')](function(_0x129b75){logger[_0x3933('0x9')](_0x3933('0xf'),JSON[_0x3933('0x10')](_0x5f4b80),_0x129b75?util[_0x3933('0x5')](_0x129b75,{'showHidden':![],'depth':null}):'');return _0x129b75['result'][_0x3933('0x11')]?_0x129b75[_0x3933('0x12')][0x0]:null;});}exports[_0x3933('0x13')]=function(_0x58dc25){return new BPromise(function(_0x2ea11f,_0xd044d8){if(_0x58dc25){return getUser({'internal':_0x58dc25})[_0x3933('0x8')](function(_0x5323a3){logger[_0x3933('0x4')]('[utils][getUserByInternal]\x20internal:%s\x20%s',_0x58dc25,_0x5323a3?_0x3933('0x14'):_0x3933('0x15'));return _0x2ea11f(_0x5323a3);})['catch'](function(_0x196710){logger['error'](_0x3933('0x16'),_0x196710?util[_0x3933('0x5')](_0x196710,{'showHidden':![],'depth':null}):'');return _0x2ea11f(null);});}return _0x2ea11f(null);});};exports[_0x3933('0x17')]=function(_0x393206){return new BPromise(function(_0x4b0293,_0x1e685c){if(_0x393206){return getUser({'interface':_0x393206})['then'](function(_0x32bc84){logger[_0x3933('0x4')](_0x3933('0x18'),_0x393206,_0x32bc84?_0x3933('0x14'):_0x3933('0x15'));return _0x4b0293(_0x32bc84);})[_0x3933('0xb')](function(_0x7639e8){logger['error'](_0x3933('0x19'),_0x7639e8?util[_0x3933('0x5')](_0x7639e8,{'showHidden':![],'depth':null}):'');return _0x4b0293(null);});}return _0x4b0293(null);});};exports[_0x3933('0x1a')]=function(_0x48de18){return new BPromise(function(_0xa17ac5,_0xae419c){if(_0x48de18){return getUser({'name':_0x48de18})[_0x3933('0x8')](function(_0x25ab9d){logger[_0x3933('0x4')]('[utils][getUserByName]\x20name:%s\x20%s',_0x48de18,_0x25ab9d?_0x3933('0x14'):'notfound');return _0xa17ac5(_0x25ab9d);})[_0x3933('0xb')](function(_0xb587a3){logger[_0x3933('0x6')](_0x3933('0x1b'),_0xb587a3?util[_0x3933('0x5')](_0xb587a3,{'showHidden':![],'depth':null}):'');return _0xa17ac5(null);});}return _0xa17ac5(null);});};exports[_0x3933('0x1c')]=function(_0x296521){return new BPromise(function(_0x46ba9a,_0xb20f0e){if(_0x296521){return client[_0x3933('0x7')](_0x3933('0x1d'),{'options':{'raw':!![],'attributes':['id',_0x3933('0x1e'),_0x3933('0x1f'),_0x3933('0x20'),_0x3933('0x21')],'where':{'name':_0x296521},'limit':0x1}})['then'](function(_0xc99574){logger[_0x3933('0x9')](_0x3933('0x22'),_0x296521,_0xc99574?util[_0x3933('0x5')](_0xc99574,{'showHidden':![],'depth':null}):'');logger['info'](_0x3933('0x23'),_0x296521,_0xc99574?_0x3933('0x14'):_0x3933('0x15'));return _0x46ba9a(_0xc99574['result'][_0x3933('0x11')]?_0xc99574['result'][0x0]:null);})[_0x3933('0xb')](function(_0x1ad9a5){logger[_0x3933('0x6')](_0x3933('0x24'),_0x1ad9a5?util['inspect'](_0x1ad9a5,{'showHidden':![],'depth':null}):'');return _0x46ba9a(null);});}return _0x46ba9a(null);});};exports[_0x3933('0x25')]=function(_0x5b05a6,_0x516d38){return moment(_0x5b05a6)[_0x3933('0x26')](_0x516d38,_0x3933('0x27'))[_0x3933('0x28')]('YYYY-MM-DD\x20HH:mm:ss');};exports[_0x3933('0x29')]=function(_0x42b7ca,_0x14915b){return moment(_0x42b7ca)[_0x3933('0x2a')](_0x14915b,'seconds')[_0x3933('0x28')](_0x3933('0x2b'));};exports[_0x3933('0x2c')]=function(_0x3ebd58,_0x3e1fdc){return moment(_0x3ebd58)[_0x3933('0x2d')](moment(_0x3e1fdc),_0x3933('0x27'));};exports[_0x3933('0x2e')]=function(_0x209a0f,_0x5c6ac6){return parseInt(_0x209a0f,0xa)+parseInt(_0x5c6ac6,0xa);};exports[_0x3933('0x2f')]=function(){return moment()[_0x3933('0x28')](_0x3933('0x2b'));};exports[_0x3933('0x30')]=function(_0x1074dd,_0x5b0a98){if(_0x5b0a98){return moment(_0x1074dd)[_0x3933('0x30')](_0x5b0a98);}return!![];};exports[_0x3933('0x31')]=function(_0x215c1f,_0x5c8a51){if(_0x5c8a51){return moment(_0x215c1f)['isBefore'](_0x5c8a51);}else if(_0x215c1f){return!![];}return![];};