39d9c4862f69edb92ba59aa098d8726edc73221c
[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 _0xa09f=['diffTime','diff','now','isAfter','isBefore','jayson/promise','moment','bluebird','client','http','../../config/logger','xdr','info','debug','stringify','error','stack','request','then','GetUser','internal','name','interface','GETUSER|','result','length','FOUND','NOTFOUND','getUserByInternal','getUserByInterface','catch','getUserByName','getVoiceQueueByName','type','acw','acwTimeout','GETVOICEQUEUEBYNAME|','add','seconds','format','YYYY-MM-DD\x20HH:mm:ss','subtract'];(function(_0x64c26c,_0x3e518f){var _0x46d3b4=function(_0x88759){while(--_0x88759){_0x64c26c['push'](_0x64c26c['shift']());}};_0x46d3b4(++_0x3e518f);}(_0xa09f,0x155));var _0xfa09=function(_0x3cf159,_0x4cfc09){_0x3cf159=_0x3cf159-0x0;var _0x1cc8b5=_0xa09f[_0x3cf159];return _0x1cc8b5;};'use strict';var jayson=require(_0xfa09('0x0'));var moment=require(_0xfa09('0x1'));var BPromise=require(_0xfa09('0x2'));var client=jayson[_0xfa09('0x3')][_0xfa09('0x4')]({'port':0x2329});var logger=require(_0xfa09('0x5'))(_0xfa09('0x6'));exports[_0xfa09('0x7')]=function(_0x5ea0ba){logger[_0xfa09('0x7')](_0x5ea0ba);};exports['debug']=function(_0x453396){logger[_0xfa09('0x8')](JSON[_0xfa09('0x9')](_0x453396));};exports[_0xfa09('0xa')]=function(_0x490d8f){logger[_0xfa09('0xa')](_0x490d8f[_0xfa09('0xb')]);};exports[_0xfa09('0xc')]=function(_0x34fa3d,_0x570d2f){return client[_0xfa09('0xc')](_0x34fa3d,{'body':_0x570d2f})[_0xfa09('0xd')](function(_0x5a8638){logger[_0xfa09('0x8')](JSON['stringify'](_0x5a8638));})['catch'](function(_0x16971d){logger[_0xfa09('0xa')](_0x16971d[_0xfa09('0xb')]);});};function getUser(_0x37e883){return client[_0xfa09('0xc')](_0xfa09('0xe'),{'options':{'raw':!![],'attributes':['id',_0xfa09('0xf'),_0xfa09('0x10'),_0xfa09('0x11')],'where':_0x37e883,'limit':0x1}})[_0xfa09('0xd')](function(_0x497377){logger[_0xfa09('0x7')](_0xfa09('0x12')+JSON[_0xfa09('0x9')](_0x37e883)+'|'+(_0x497377[_0xfa09('0x13')][_0xfa09('0x14')]?_0xfa09('0x15'):_0xfa09('0x16')));return _0x497377[_0xfa09('0x13')][_0xfa09('0x14')]?_0x497377[_0xfa09('0x13')][0x0]:null;});}exports[_0xfa09('0x17')]=function(_0x4743ee){return new BPromise(function(_0x3fdad5,_0xd04ea6){if(_0x4743ee){return getUser({'internal':_0x4743ee})[_0xfa09('0xd')](function(_0x4c695d){return _0x3fdad5(_0x4c695d);})['catch'](function(_0x55e5ef){logger[_0xfa09('0xa')](_0x55e5ef['stack']);return _0x3fdad5(null);});}else{return _0x3fdad5(null);}});};exports[_0xfa09('0x18')]=function(_0x37f1b6){return new BPromise(function(_0x4ad48c,_0x1a2f8e){if(_0x37f1b6){return getUser({'interface':_0x37f1b6})[_0xfa09('0xd')](function(_0xbe4ad6){return _0x4ad48c(_0xbe4ad6);})[_0xfa09('0x19')](function(_0x382781){logger[_0xfa09('0xa')](_0x382781[_0xfa09('0xb')]);return _0x4ad48c(null);});}else{return _0x4ad48c(null);}});};exports[_0xfa09('0x1a')]=function(_0x25eb5f){return new BPromise(function(_0x471367,_0x5e201f){if(_0x25eb5f){return getUser({'name':_0x25eb5f})[_0xfa09('0xd')](function(_0x443d72){return _0x471367(_0x443d72);})['catch'](function(_0x2eac24){logger['error'](_0x2eac24[_0xfa09('0xb')]);return _0x471367(null);});}else{return _0x471367(null);}});};exports[_0xfa09('0x1b')]=function(_0x58cd19){return new BPromise(function(_0x6428ef,_0x39e2e9){if(_0x58cd19){return client[_0xfa09('0xc')]('GetVoiceQueue',{'options':{'raw':!![],'attributes':['id','name',_0xfa09('0x1c'),_0xfa09('0x1d'),_0xfa09('0x1e')],'where':{'name':_0x58cd19},'limit':0x1}})[_0xfa09('0xd')](function(_0x44e8d2){logger[_0xfa09('0x7')](_0xfa09('0x1f')+_0x58cd19+'|'+(_0x44e8d2['result'][_0xfa09('0x14')]?_0xfa09('0x15'):'NOTFOUND'));return _0x6428ef(_0x44e8d2['result'][_0xfa09('0x14')]?_0x44e8d2['result'][0x0]:null);})['catch'](function(_0x4b52b5){logger[_0xfa09('0xa')](_0x4b52b5[_0xfa09('0xb')]);return _0x6428ef(null);});}else{return _0x6428ef(null);}});};exports['addTime']=function(_0xc85781,_0x3d0921){return moment(_0xc85781)[_0xfa09('0x20')](_0x3d0921,_0xfa09('0x21'))[_0xfa09('0x22')](_0xfa09('0x23'));};exports['subtractTime']=function(_0x5acc8c,_0x37160c){return moment(_0x5acc8c)[_0xfa09('0x24')](_0x37160c,_0xfa09('0x21'))[_0xfa09('0x22')](_0xfa09('0x23'));};exports[_0xfa09('0x25')]=function(_0x32fcc9,_0x2005cc){return moment(_0x32fcc9)[_0xfa09('0x26')](moment(_0x2005cc),'seconds');};exports['sumTime']=function(_0x1c6571,_0x526c65){return parseInt(_0x1c6571,0xa)+parseInt(_0x526c65,0xa);};exports[_0xfa09('0x27')]=function(){return moment()[_0xfa09('0x22')](_0xfa09('0x23'));};exports['isAfter']=function(_0x504e10,_0x3505fd){if(_0x3505fd){return moment(_0x504e10)[_0xfa09('0x28')](_0x3505fd);}else{return!![];}};exports[_0xfa09('0x29')]=function(_0x42406a,_0x1ed87c){if(_0x1ed87c){return moment(_0x42406a)[_0xfa09('0x29')](_0x1ed87c);}else if(_0x42406a){return!![];}else{return![];}};