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 _0x7b36=['diff','sumTime','now','isAfter','isBefore','jayson/promise','moment','client','http','../../config/logger','xdr','info','debug','error','then','stringify','request','GetUser','internal','name','interface','GETUSER|','result','length','FOUND','getUserByInternal','stack','getUserByInterface','getVoiceQueueByName','GetVoiceQueue','type','acw','acwTimeout','GETVOICEQUEUEBYNAME|','NOTFOUND','catch','addTime','seconds','format','YYYY-MM-DD\x20HH:mm:ss','subtractTime','subtract','diffTime'];(function(_0xc7496f,_0x198920){var _0x16a05a=function(_0x5489d7){while(--_0x5489d7){_0xc7496f['push'](_0xc7496f['shift']());}};_0x16a05a(++_0x198920);}(_0x7b36,0x86));var _0x67b3=function(_0x29bed9,_0xe4b800){_0x29bed9=_0x29bed9-0x0;var _0x1c6fd7=_0x7b36[_0x29bed9];return _0x1c6fd7;};'use strict';var jayson=require(_0x67b3('0x0'));var moment=require(_0x67b3('0x1'));var BPromise=require('bluebird');var client=jayson[_0x67b3('0x2')][_0x67b3('0x3')]({'port':0x2329});var logger=require(_0x67b3('0x4'))(_0x67b3('0x5'));exports[_0x67b3('0x6')]=function(_0x553a01){logger['info'](_0x553a01);};exports[_0x67b3('0x7')]=function(_0x23f1f0){logger[_0x67b3('0x7')](JSON['stringify'](_0x23f1f0));};exports[_0x67b3('0x8')]=function(_0x5a85e1){logger[_0x67b3('0x8')](_0x5a85e1['stack']);};exports['request']=function(_0x16c733,_0x1aba7d){return client['request'](_0x16c733,{'body':_0x1aba7d})[_0x67b3('0x9')](function(_0x298225){logger[_0x67b3('0x7')](JSON[_0x67b3('0xa')](_0x298225));})['catch'](function(_0x5e2d56){logger[_0x67b3('0x8')](_0x5e2d56['stack']);});};function getUser(_0x1b27d6){return client[_0x67b3('0xb')](_0x67b3('0xc'),{'options':{'raw':!![],'attributes':['id',_0x67b3('0xd'),_0x67b3('0xe'),_0x67b3('0xf')],'where':_0x1b27d6,'limit':0x1}})[_0x67b3('0x9')](function(_0x6fdde){logger[_0x67b3('0x6')](_0x67b3('0x10')+JSON[_0x67b3('0xa')](_0x1b27d6)+'|'+(_0x6fdde[_0x67b3('0x11')][_0x67b3('0x12')]?_0x67b3('0x13'):'NOTFOUND'));return _0x6fdde[_0x67b3('0x11')]['length']?_0x6fdde[_0x67b3('0x11')][0x0]:null;});}exports[_0x67b3('0x14')]=function(_0x5f0a8e){return new BPromise(function(_0x5482d7,_0x35b222){if(_0x5f0a8e){return getUser({'internal':_0x5f0a8e})[_0x67b3('0x9')](function(_0x5b9164){return _0x5482d7(_0x5b9164);})['catch'](function(_0x3e4eb8){logger['error'](_0x3e4eb8[_0x67b3('0x15')]);return _0x5482d7(null);});}else{return _0x5482d7(null);}});};exports[_0x67b3('0x16')]=function(_0x2ff46a){return new BPromise(function(_0x5726cb,_0x5ce207){if(_0x2ff46a){return getUser({'interface':_0x2ff46a})[_0x67b3('0x9')](function(_0x2a5072){return _0x5726cb(_0x2a5072);})['catch'](function(_0x5a2a92){logger['error'](_0x5a2a92[_0x67b3('0x15')]);return _0x5726cb(null);});}else{return _0x5726cb(null);}});};exports['getUserByName']=function(_0x12e5a7){return new BPromise(function(_0x368199,_0xf16bb){if(_0x12e5a7){return getUser({'name':_0x12e5a7})[_0x67b3('0x9')](function(_0xbe28ad){return _0x368199(_0xbe28ad);})['catch'](function(_0x1428ae){logger[_0x67b3('0x8')](_0x1428ae[_0x67b3('0x15')]);return _0x368199(null);});}else{return _0x368199(null);}});};exports[_0x67b3('0x17')]=function(_0x2892ba){return new BPromise(function(_0x26b908,_0x5579a9){if(_0x2892ba){return client[_0x67b3('0xb')](_0x67b3('0x18'),{'options':{'raw':!![],'attributes':['id','name',_0x67b3('0x19'),_0x67b3('0x1a'),_0x67b3('0x1b')],'where':{'name':_0x2892ba},'limit':0x1}})['then'](function(_0x1eacad){logger['info'](_0x67b3('0x1c')+_0x2892ba+'|'+(_0x1eacad[_0x67b3('0x11')][_0x67b3('0x12')]?_0x67b3('0x13'):_0x67b3('0x1d')));return _0x26b908(_0x1eacad['result'][_0x67b3('0x12')]?_0x1eacad[_0x67b3('0x11')][0x0]:null);})[_0x67b3('0x1e')](function(_0x13cb89){logger[_0x67b3('0x8')](_0x13cb89[_0x67b3('0x15')]);return _0x26b908(null);});}else{return _0x26b908(null);}});};exports[_0x67b3('0x1f')]=function(_0x3f16c4,_0x421b9d){return moment(_0x3f16c4)['add'](_0x421b9d,_0x67b3('0x20'))[_0x67b3('0x21')](_0x67b3('0x22'));};exports[_0x67b3('0x23')]=function(_0x44b4ea,_0x33fad5){return moment(_0x44b4ea)[_0x67b3('0x24')](_0x33fad5,'seconds')[_0x67b3('0x21')](_0x67b3('0x22'));};exports[_0x67b3('0x25')]=function(_0x53e772,_0x2a0308){return moment(_0x53e772)[_0x67b3('0x26')](moment(_0x2a0308),_0x67b3('0x20'));};exports[_0x67b3('0x27')]=function(_0x482a97,_0x5f25f5){return parseInt(_0x482a97,0xa)+parseInt(_0x5f25f5,0xa);};exports[_0x67b3('0x28')]=function(){return moment()['format'](_0x67b3('0x22'));};exports[_0x67b3('0x29')]=function(_0x1ece54,_0x4a1008){if(_0x4a1008){return moment(_0x1ece54)[_0x67b3('0x29')](_0x4a1008);}else{return!![];}};exports[_0x67b3('0x2a')]=function(_0x45c879,_0x30bafa){if(_0x30bafa){return moment(_0x45c879)['isBefore'](_0x30bafa);}else if(_0x45c879){return!![];}else{return![];}};