Built motion from commit 639a1a7f.|2.6.19
[motion2.git] / server / components / realtime / queues.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 _0x8508=['erlangBusyFactor','dialPredictiveInterval','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','voice','request','startCase','Queues','then','error','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','catch','inbound','concat','outbound','get','loggedIn','talking','find','merge','pick','lodash','jayson/promise','util','http','available','paused','waiting','busy','invalid','loggedInDb','notInUse','onHold','ringing','unavailable','unknown','pTalking','originated','message','statusMessage','dialActive','dialMethod','startPredictive','startProgressive','erlangAbandonmentRate'];(function(_0x1d1994,_0x502d95){var _0x1a8597=function(_0xf07a0e){while(--_0xf07a0e){_0x1d1994['push'](_0x1d1994['shift']());}};_0x1a8597(++_0x502d95);}(_0x8508,0x81));var _0x8850=function(_0x15142f,_0x567b64){_0x15142f=_0x15142f-0x0;var _0x274859=_0x8508[_0x15142f];return _0x274859;};'use strict';var _=require(_0x8850('0x0'));var jayson=require(_0x8850('0x1'));var util=require(_0x8850('0x2'));var amiClient=jayson['client'][_0x8850('0x3')]({'port':0x232a});var routingClient=jayson['client'][_0x8850('0x3')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=[_0x8850('0x4'),'loggedIn',_0x8850('0x5'),_0x8850('0x6')];var VOICE_QUEUE_ATTRIBUTES=[_0x8850('0x7'),'inUse',_0x8850('0x8'),_0x8850('0x9'),_0x8850('0xa'),_0x8850('0xb'),_0x8850('0xc'),'ringInUse','talking',_0x8850('0xd'),_0x8850('0xe')];var OUTBOUND_QUEUE_ATTRIBUTES=[_0x8850('0xf'),_0x8850('0x10'),_0x8850('0x11'),_0x8850('0x12'),_0x8850('0x13'),_0x8850('0x14'),'Trunk',_0x8850('0x15'),_0x8850('0x16'),'erlangCalls','erlangCallToSecond',_0x8850('0x17'),_0x8850('0x18'),_0x8850('0x19'),_0x8850('0x1a'),_0x8850('0x1b'),_0x8850('0x1c'),_0x8850('0x1d'),'predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout',_0x8850('0x1e'),_0x8850('0x1f'),_0x8850('0x20')];function getRealtimeQueues(_0x43f268,_0x261477){var _0x6609f0=_0x261477===_0x8850('0x21')?amiClient:routingClient;return _0x6609f0[_0x8850('0x22')](_[_0x8850('0x23')](_0x261477)+_0x8850('0x24'),_0x43f268)[_0x8850('0x25')](function(_0x328e4c){if(_0x328e4c[_0x8850('0x26')])throw new Error(util[_0x8850('0x27')](_0x8850('0x28'),_0x261477));return _0x328e4c['result'];})[_0x8850('0x29')](function(_0x5b3e94){throw _0x5b3e94;});}exports['getRealtimeQueues']=getRealtimeQueues;function initializeQueues(_0x1b9186,_0x556f2d,_0x4195b2,_0x654469){var _0x5aa62d=DEFAULT_QUEUE_ATTRIBUTES;if(_0x4195b2==='voice'){if(_0x654469===_0x8850('0x2a')){_0x5aa62d=_0x5aa62d[_0x8850('0x2b')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x654469===_0x8850('0x2c')){_0x5aa62d=_0x5aa62d['concat'](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x1b9186['map'](function(_0x2a4f74){var _0x94d7bf=_0x2a4f74[_0x8850('0x2d')]({'plain':!![]});_0x94d7bf[_0x8850('0x5')]=0x0;_0x94d7bf[_0x8850('0x9')]=0x0;_0x94d7bf[_0x8850('0x2e')]=0x0;_0x94d7bf['available']=0x0;_0x94d7bf[_0x8850('0x6')]=0x0;if(_0x4195b2===_0x8850('0x21')){_0x94d7bf[_0x8850('0x2f')]=0x0;_0x94d7bf[_0x8850('0x7')]=0x0;if(_0x654469===_0x8850('0x2c')){_0x94d7bf[_0x8850('0xf')]=0x0;_0x94d7bf[_0x8850('0x10')]=0x0;}}var _0x2ca8af=_[_0x8850('0x30')](_0x556f2d,['id',_0x94d7bf['id']]);if(_0x2ca8af){_[_0x8850('0x31')](_0x94d7bf,_[_0x8850('0x32')](_0x2ca8af,_0x5aa62d));}return _0x94d7bf;});}exports['initializeQueues']=initializeQueues;