Built motion from commit (unavailable).|2.5.4
[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 _0x85f1=['add','format','YYYY-MM-DD\x20HH:mm:ss','seconds','diffTime','diff','sumTime','isAfter','isBefore','moment','bluebird','client','http','../../config/logger','xdr','info','debug','stringify','error','stack','request','then','catch','GetUser','internal','name','interface','GETUSER|','result','length','NOTFOUND','getUserByInternal','getUserByInterface','type','acw','acwTimeout','GETVOICEQUEUEBYNAME|','FOUND','addTime'];(function(_0x489187,_0x3f382b){var _0x4a332e=function(_0x51e134){while(--_0x51e134){_0x489187['push'](_0x489187['shift']());}};_0x4a332e(++_0x3f382b);}(_0x85f1,0x7e));var _0x185f=function(_0x51fe5f,_0x1d8632){_0x51fe5f=_0x51fe5f-0x0;var _0x4abce9=_0x85f1[_0x51fe5f];return _0x4abce9;};'use strict';var jayson=require('jayson/promise');var moment=require(_0x185f('0x0'));var BPromise=require(_0x185f('0x1'));var client=jayson[_0x185f('0x2')][_0x185f('0x3')]({'port':0x2329});var logger=require(_0x185f('0x4'))(_0x185f('0x5'));exports[_0x185f('0x6')]=function(_0x3fa11d){logger[_0x185f('0x6')](_0x3fa11d);};exports[_0x185f('0x7')]=function(_0x4f037a){logger[_0x185f('0x7')](JSON[_0x185f('0x8')](_0x4f037a));};exports[_0x185f('0x9')]=function(_0x1a2def){logger[_0x185f('0x9')](_0x1a2def[_0x185f('0xa')]);};exports[_0x185f('0xb')]=function(_0x34c041,_0x166433){return client[_0x185f('0xb')](_0x34c041,{'body':_0x166433})[_0x185f('0xc')](function(_0xc549b4){logger[_0x185f('0x7')](JSON[_0x185f('0x8')](_0xc549b4));})[_0x185f('0xd')](function(_0x27260e){logger[_0x185f('0x9')](_0x27260e[_0x185f('0xa')]);});};function getUser(_0x205a3e){return client[_0x185f('0xb')](_0x185f('0xe'),{'options':{'raw':!![],'attributes':['id',_0x185f('0xf'),_0x185f('0x10'),_0x185f('0x11')],'where':_0x205a3e,'limit':0x1}})[_0x185f('0xc')](function(_0x1c56d3){logger[_0x185f('0x6')](_0x185f('0x12')+JSON[_0x185f('0x8')](_0x205a3e)+'|'+(_0x1c56d3[_0x185f('0x13')][_0x185f('0x14')]?'FOUND':_0x185f('0x15')));return _0x1c56d3[_0x185f('0x13')]['length']?_0x1c56d3[_0x185f('0x13')][0x0]:null;});}exports[_0x185f('0x16')]=function(_0x2044ce){return new BPromise(function(_0x8ebd62,_0x5d3231){if(_0x2044ce){return getUser({'internal':_0x2044ce})[_0x185f('0xc')](function(_0x121d94){return _0x8ebd62(_0x121d94);})['catch'](function(_0x12c484){logger['error'](_0x12c484[_0x185f('0xa')]);return _0x8ebd62(null);});}else{return _0x8ebd62(null);}});};exports[_0x185f('0x17')]=function(_0x4dd0f9){return new BPromise(function(_0x3cf004,_0x4470a0){if(_0x4dd0f9){return getUser({'interface':_0x4dd0f9})[_0x185f('0xc')](function(_0x237d30){return _0x3cf004(_0x237d30);})[_0x185f('0xd')](function(_0x273741){logger[_0x185f('0x9')](_0x273741['stack']);return _0x3cf004(null);});}else{return _0x3cf004(null);}});};exports['getUserByName']=function(_0x146430){return new BPromise(function(_0x2f2ab3,_0x2a89c1){if(_0x146430){return getUser({'name':_0x146430})['then'](function(_0x5d4f60){return _0x2f2ab3(_0x5d4f60);})[_0x185f('0xd')](function(_0x52292c){logger[_0x185f('0x9')](_0x52292c[_0x185f('0xa')]);return _0x2f2ab3(null);});}else{return _0x2f2ab3(null);}});};exports['getVoiceQueueByName']=function(_0x34800e){return new BPromise(function(_0x37909e,_0x523980){if(_0x34800e){return client['request']('GetVoiceQueue',{'options':{'raw':!![],'attributes':['id',_0x185f('0x10'),_0x185f('0x18'),_0x185f('0x19'),_0x185f('0x1a')],'where':{'name':_0x34800e},'limit':0x1}})[_0x185f('0xc')](function(_0x3da069){logger[_0x185f('0x6')](_0x185f('0x1b')+_0x34800e+'|'+(_0x3da069[_0x185f('0x13')][_0x185f('0x14')]?_0x185f('0x1c'):_0x185f('0x15')));return _0x37909e(_0x3da069['result'][_0x185f('0x14')]?_0x3da069[_0x185f('0x13')][0x0]:null);})[_0x185f('0xd')](function(_0x30109f){logger[_0x185f('0x9')](_0x30109f[_0x185f('0xa')]);return _0x37909e(null);});}else{return _0x37909e(null);}});};exports[_0x185f('0x1d')]=function(_0x571319,_0x2119f0){return moment(_0x571319)[_0x185f('0x1e')](_0x2119f0,'seconds')[_0x185f('0x1f')](_0x185f('0x20'));};exports['subtractTime']=function(_0x630758,_0x37ab73){return moment(_0x630758)['subtract'](_0x37ab73,_0x185f('0x21'))[_0x185f('0x1f')](_0x185f('0x20'));};exports[_0x185f('0x22')]=function(_0x16c538,_0x155b84){return moment(_0x16c538)[_0x185f('0x23')](moment(_0x155b84),_0x185f('0x21'));};exports[_0x185f('0x24')]=function(_0x122dec,_0x2dd958){return parseInt(_0x122dec,0xa)+parseInt(_0x2dd958,0xa);};exports['now']=function(){return moment()[_0x185f('0x1f')](_0x185f('0x20'));};exports[_0x185f('0x25')]=function(_0x29da8a,_0x3ef5bd){if(_0x3ef5bd){return moment(_0x29da8a)[_0x185f('0x25')](_0x3ef5bd);}else{return!![];}};exports['isBefore']=function(_0x3ca110,_0x1f21be){if(_0x1f21be){return moment(_0x3ca110)[_0x185f('0x26')](_0x1f21be);}else if(_0x3ca110){return!![];}else{return![];}};