80cd56e2419e51aac19bc3a32a15bfc915eeb75a
[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 _0x0650=['[utils][getVoiceQueueByName]\x20name:%s\x20%s','[utils][getVoiceQueueByName]','addTime','seconds','format','subtract','YYYY-MM-DD\x20HH:mm:ss','diff','sumTime','now','isAfter','isBefore','bluebird','jayson/promise','moment','util','http','info','debug','error','request','then','[utils][request]\x20name:%s','inspect','name','interface','[utils][getUser]\x20where:%s','stringify','length','result','getUserByInternal','[utils][getUserByInternal]\x20internal:%s\x20%s','catch','[utils][getUserByInternal]','getUserByInterface','found','notfound','[utils][getUserByInterface]','getUserByName','[utils][getUserByName]\x20name:%s\x20%s','[utils][getUserByName]','getVoiceQueueByName','type','acw','acwTimeout','[utils][getVoiceQueueByName]\x20name:%s'];(function(_0x59ee6f,_0x450239){var _0x4c0979=function(_0x565e92){while(--_0x565e92){_0x59ee6f['push'](_0x59ee6f['shift']());}};_0x4c0979(++_0x450239);}(_0x0650,0x1aa));var _0x0065=function(_0x40e906,_0x31cddc){_0x40e906=_0x40e906-0x0;var _0x5776d2=_0x0650[_0x40e906];return _0x5776d2;};'use strict';var BPromise=require(_0x0065('0x0'));var jayson=require(_0x0065('0x1'));var moment=require(_0x0065('0x2'));var util=require(_0x0065('0x3'));var client=jayson['client'][_0x0065('0x4')]({'port':0x2329});var logger=require('../../config/logger')('xdr');exports[_0x0065('0x5')]=function(_0xe2785,_0x185c29){logger['info'](_0xe2785,_0x185c29?util['inspect'](_0x185c29,{'showHidden':![],'depth':null}):'');};exports[_0x0065('0x6')]=function(_0x5792dc,_0x517b9f){logger['debug'](_0x5792dc,_0x517b9f?util['inspect'](_0x517b9f,{'showHidden':![],'depth':null}):'');};exports[_0x0065('0x7')]=function(_0x47d296,_0x14ce8a){logger[_0x0065('0x7')](_0x47d296,_0x14ce8a?util['inspect'](_0x14ce8a,{'showHidden':![],'depth':null}):'');};exports[_0x0065('0x8')]=function(_0x41e9de,_0x49ef12){return client['request'](_0x41e9de,{'body':_0x49ef12})[_0x0065('0x9')](function(_0x215ed5){logger[_0x0065('0x6')](_0x0065('0xa'),_0x41e9de,_0x215ed5?util['inspect'](_0x215ed5,{'showHidden':![],'depth':null}):'');})['catch'](function(_0x243902){logger['error']('[utils][request]\x20name:%s',_0x41e9de,_0x243902?util[_0x0065('0xb')](_0x243902,{'showHidden':![],'depth':null}):'');});};function getUser(_0x4a7b7e){return client[_0x0065('0x8')]('GetUser',{'options':{'raw':!![],'attributes':['id','internal',_0x0065('0xc'),_0x0065('0xd')],'where':_0x4a7b7e,'limit':0x1}})[_0x0065('0x9')](function(_0x4722bf){logger[_0x0065('0x6')](_0x0065('0xe'),JSON[_0x0065('0xf')](_0x4a7b7e),_0x4722bf?util[_0x0065('0xb')](_0x4722bf,{'showHidden':![],'depth':null}):'');return _0x4722bf['result'][_0x0065('0x10')]?_0x4722bf[_0x0065('0x11')][0x0]:null;});}exports[_0x0065('0x12')]=function(_0x16ecf8){return new BPromise(function(_0x20adaa,_0x9c1723){if(_0x16ecf8){return getUser({'internal':_0x16ecf8})[_0x0065('0x9')](function(_0xcf4ea1){logger[_0x0065('0x5')](_0x0065('0x13'),_0x16ecf8,_0xcf4ea1?'found':'notfound');return _0x20adaa(_0xcf4ea1);})[_0x0065('0x14')](function(_0x410ddc){logger[_0x0065('0x7')](_0x0065('0x15'),_0x410ddc?util[_0x0065('0xb')](_0x410ddc,{'showHidden':![],'depth':null}):'');return _0x20adaa(null);});}return _0x20adaa(null);});};exports[_0x0065('0x16')]=function(_0x59e771){return new BPromise(function(_0x385f49,_0x1ddd00){if(_0x59e771){return getUser({'interface':_0x59e771})[_0x0065('0x9')](function(_0x502c7a){logger[_0x0065('0x5')]('[utils][getUserByInterface]\x20interface:%s\x20%s',_0x59e771,_0x502c7a?_0x0065('0x17'):_0x0065('0x18'));return _0x385f49(_0x502c7a);})[_0x0065('0x14')](function(_0x5578da){logger[_0x0065('0x7')](_0x0065('0x19'),_0x5578da?util[_0x0065('0xb')](_0x5578da,{'showHidden':![],'depth':null}):'');return _0x385f49(null);});}return _0x385f49(null);});};exports[_0x0065('0x1a')]=function(_0x181104){return new BPromise(function(_0x4cbd31,_0xc562ce){if(_0x181104){return getUser({'name':_0x181104})['then'](function(_0x46bb1c){logger[_0x0065('0x5')](_0x0065('0x1b'),_0x181104,_0x46bb1c?_0x0065('0x17'):_0x0065('0x18'));return _0x4cbd31(_0x46bb1c);})[_0x0065('0x14')](function(_0x5d04ca){logger[_0x0065('0x7')](_0x0065('0x1c'),_0x5d04ca?util[_0x0065('0xb')](_0x5d04ca,{'showHidden':![],'depth':null}):'');return _0x4cbd31(null);});}return _0x4cbd31(null);});};exports[_0x0065('0x1d')]=function(_0x2f177e){return new BPromise(function(_0x54c4c3,_0x4ad7e2){if(_0x2f177e){return client[_0x0065('0x8')]('GetVoiceQueue',{'options':{'raw':!![],'attributes':['id','name',_0x0065('0x1e'),_0x0065('0x1f'),_0x0065('0x20')],'where':{'name':_0x2f177e},'limit':0x1}})['then'](function(_0x1086a6){logger[_0x0065('0x6')](_0x0065('0x21'),_0x2f177e,_0x1086a6?util[_0x0065('0xb')](_0x1086a6,{'showHidden':![],'depth':null}):'');logger[_0x0065('0x5')](_0x0065('0x22'),_0x2f177e,_0x1086a6?_0x0065('0x17'):_0x0065('0x18'));return _0x54c4c3(_0x1086a6[_0x0065('0x11')][_0x0065('0x10')]?_0x1086a6['result'][0x0]:null);})['catch'](function(_0x3e3beb){logger['error'](_0x0065('0x23'),_0x3e3beb?util['inspect'](_0x3e3beb,{'showHidden':![],'depth':null}):'');return _0x54c4c3(null);});}return _0x54c4c3(null);});};exports[_0x0065('0x24')]=function(_0x1ffb0b,_0x53aa4c){return moment(_0x1ffb0b)['add'](_0x53aa4c,_0x0065('0x25'))[_0x0065('0x26')]('YYYY-MM-DD\x20HH:mm:ss');};exports['subtractTime']=function(_0x8f9a1a,_0x573f38){return moment(_0x8f9a1a)[_0x0065('0x27')](_0x573f38,_0x0065('0x25'))[_0x0065('0x26')](_0x0065('0x28'));};exports['diffTime']=function(_0x5651bf,_0x20c91a){return moment(_0x5651bf)[_0x0065('0x29')](moment(_0x20c91a),_0x0065('0x25'));};exports[_0x0065('0x2a')]=function(_0x3e4949,_0x51f79b){return parseInt(_0x3e4949,0xa)+parseInt(_0x51f79b,0xa);};exports[_0x0065('0x2b')]=function(){return moment()[_0x0065('0x26')](_0x0065('0x28'));};exports[_0x0065('0x2c')]=function(_0x1cbe3f,_0x554163){if(_0x554163){return moment(_0x1cbe3f)[_0x0065('0x2c')](_0x554163);}return!![];};exports[_0x0065('0x2d')]=function(_0xf0ae10,_0x40c00f){if(_0x40c00f){return moment(_0xf0ae10)[_0x0065('0x2d')](_0x40c00f);}else if(_0xf0ae10){return!![];}return![];};