06b7919658ee6ea2b5daaa18c09bedf1ecd06553
[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 _0x4b72=['xdr','inspect','debug','error','request','then','[utils][request]\x20name:%s','catch','GetUser','internal','interface','[utils][getUser]\x20where:%s','stringify','result','length','found','notfound','getUserByInterface','info','[utils][getUserByInterface]\x20interface:%s\x20%s','getUserByName','[utils][getUserByName]','getVoiceQueueByName','GetVoiceQueue','name','type','acw','acwTimeout','[utils][getVoiceQueueByName]\x20name:%s\x20%s','[utils][getVoiceQueueByName]','addTime','add','seconds','YYYY-MM-DD\x20HH:mm:ss','subtract','diff','now','format','isAfter','isBefore','bluebird','jayson/promise','client','http','../../config/logger'];(function(_0x5f6f4e,_0x2d4bcf){var _0x3b4f0b=function(_0x20073){while(--_0x20073){_0x5f6f4e['push'](_0x5f6f4e['shift']());}};_0x3b4f0b(++_0x2d4bcf);}(_0x4b72,0x1ea));var _0x24b7=function(_0x33a841,_0x1a1c82){_0x33a841=_0x33a841-0x0;var _0x52820f=_0x4b72[_0x33a841];return _0x52820f;};'use strict';var BPromise=require(_0x24b7('0x0'));var jayson=require(_0x24b7('0x1'));var moment=require('moment');var util=require('util');var client=jayson[_0x24b7('0x2')][_0x24b7('0x3')]({'port':0x2329});var logger=require(_0x24b7('0x4'))(_0x24b7('0x5'));exports['info']=function(_0x148ce9,_0x45b6b3){logger['info'](_0x148ce9,_0x45b6b3?util[_0x24b7('0x6')](_0x45b6b3,{'showHidden':![],'depth':null}):'');};exports['debug']=function(_0x56f1b9,_0x1e814f){logger[_0x24b7('0x7')](_0x56f1b9,_0x1e814f?util[_0x24b7('0x6')](_0x1e814f,{'showHidden':![],'depth':null}):'');};exports[_0x24b7('0x8')]=function(_0x17f74b,_0x10e86b){logger[_0x24b7('0x8')](_0x17f74b,_0x10e86b?util['inspect'](_0x10e86b,{'showHidden':![],'depth':null}):'');};exports[_0x24b7('0x9')]=function(_0x5a2f35,_0x9be556){return client[_0x24b7('0x9')](_0x5a2f35,{'body':_0x9be556})[_0x24b7('0xa')](function(_0x4ea0eb){logger['debug'](_0x24b7('0xb'),_0x5a2f35,_0x4ea0eb?util[_0x24b7('0x6')](_0x4ea0eb,{'showHidden':![],'depth':null}):'');})[_0x24b7('0xc')](function(_0x4765a4){logger[_0x24b7('0x8')](_0x24b7('0xb'),_0x5a2f35,_0x4765a4?util[_0x24b7('0x6')](_0x4765a4,{'showHidden':![],'depth':null}):'');});};function getUser(_0x1a845f){return client['request'](_0x24b7('0xd'),{'options':{'raw':!![],'attributes':['id',_0x24b7('0xe'),'name',_0x24b7('0xf')],'where':_0x1a845f,'limit':0x1}})['then'](function(_0x19a18b){logger[_0x24b7('0x7')](_0x24b7('0x10'),JSON[_0x24b7('0x11')](_0x1a845f),_0x19a18b?util[_0x24b7('0x6')](_0x19a18b,{'showHidden':![],'depth':null}):'');return _0x19a18b[_0x24b7('0x12')][_0x24b7('0x13')]?_0x19a18b[_0x24b7('0x12')][0x0]:null;});}exports['getUserByInternal']=function(_0x23ab71){return new BPromise(function(_0x481b55,_0x457acd){if(_0x23ab71){return getUser({'internal':_0x23ab71})[_0x24b7('0xa')](function(_0x1e85c1){logger['info']('[utils][getUserByInternal]\x20internal:%s\x20%s',_0x23ab71,_0x1e85c1?_0x24b7('0x14'):_0x24b7('0x15'));return _0x481b55(_0x1e85c1);})[_0x24b7('0xc')](function(_0x165d43){logger[_0x24b7('0x8')]('[utils][getUserByInternal]',_0x165d43?util['inspect'](_0x165d43,{'showHidden':![],'depth':null}):'');return _0x481b55(null);});}return _0x481b55(null);});};exports[_0x24b7('0x16')]=function(_0x146656){return new BPromise(function(_0x2e764f,_0x257de9){if(_0x146656){return getUser({'interface':_0x146656})[_0x24b7('0xa')](function(_0x2ead90){logger[_0x24b7('0x17')](_0x24b7('0x18'),_0x146656,_0x2ead90?'found':'notfound');return _0x2e764f(_0x2ead90);})[_0x24b7('0xc')](function(_0x2a5317){logger[_0x24b7('0x8')]('[utils][getUserByInterface]',_0x2a5317?util[_0x24b7('0x6')](_0x2a5317,{'showHidden':![],'depth':null}):'');return _0x2e764f(null);});}return _0x2e764f(null);});};exports[_0x24b7('0x19')]=function(_0x42f239){return new BPromise(function(_0x1536e5,_0x51fbad){if(_0x42f239){return getUser({'name':_0x42f239})[_0x24b7('0xa')](function(_0x140116){logger[_0x24b7('0x17')]('[utils][getUserByName]\x20name:%s\x20%s',_0x42f239,_0x140116?'found':_0x24b7('0x15'));return _0x1536e5(_0x140116);})[_0x24b7('0xc')](function(_0x1b2e9c){logger[_0x24b7('0x8')](_0x24b7('0x1a'),_0x1b2e9c?util['inspect'](_0x1b2e9c,{'showHidden':![],'depth':null}):'');return _0x1536e5(null);});}return _0x1536e5(null);});};exports[_0x24b7('0x1b')]=function(_0x1a621c){return new BPromise(function(_0x2906f9,_0x29133d){if(_0x1a621c){return client[_0x24b7('0x9')](_0x24b7('0x1c'),{'options':{'raw':!![],'attributes':['id',_0x24b7('0x1d'),_0x24b7('0x1e'),_0x24b7('0x1f'),_0x24b7('0x20')],'where':{'name':_0x1a621c},'limit':0x1}})['then'](function(_0xb9fcfb){logger['debug']('[utils][getVoiceQueueByName]\x20name:%s',_0x1a621c,_0xb9fcfb?util['inspect'](_0xb9fcfb,{'showHidden':![],'depth':null}):'');logger[_0x24b7('0x17')](_0x24b7('0x21'),_0x1a621c,_0xb9fcfb?_0x24b7('0x14'):'notfound');return _0x2906f9(_0xb9fcfb['result']['length']?_0xb9fcfb['result'][0x0]:null);})[_0x24b7('0xc')](function(_0x3d2c78){logger[_0x24b7('0x8')](_0x24b7('0x22'),_0x3d2c78?util[_0x24b7('0x6')](_0x3d2c78,{'showHidden':![],'depth':null}):'');return _0x2906f9(null);});}return _0x2906f9(null);});};exports[_0x24b7('0x23')]=function(_0x2efc24,_0x3932ef){return moment(_0x2efc24)[_0x24b7('0x24')](_0x3932ef,_0x24b7('0x25'))['format'](_0x24b7('0x26'));};exports['subtractTime']=function(_0x4e78da,_0x44153){return moment(_0x4e78da)[_0x24b7('0x27')](_0x44153,_0x24b7('0x25'))['format']('YYYY-MM-DD\x20HH:mm:ss');};exports['diffTime']=function(_0x508246,_0x3c74ad){return moment(_0x508246)[_0x24b7('0x28')](moment(_0x3c74ad),_0x24b7('0x25'));};exports['sumTime']=function(_0x46eaf2,_0x5a8748){return parseInt(_0x46eaf2,0xa)+parseInt(_0x5a8748,0xa);};exports[_0x24b7('0x29')]=function(){return moment()[_0x24b7('0x2a')](_0x24b7('0x26'));};exports[_0x24b7('0x2b')]=function(_0x20d0dc,_0x21ab01){if(_0x21ab01){return moment(_0x20d0dc)[_0x24b7('0x2b')](_0x21ab01);}return!![];};exports[_0x24b7('0x2c')]=function(_0x19b931,_0x1c95c7){if(_0x1c95c7){return moment(_0x19b931)[_0x24b7('0x2c')](_0x1c95c7);}else if(_0x19b931){return!![];}return![];};