Built motion from commit 00bf23f6.|2.6.16
[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 _0x8ce6=['waiting','busy','inUse','invalid','loggedInDb','ringing','unavailable','pTalking','originated','message','statusMessage','dialActive','dialMethod','Trunk','startPredictive','startProgressive','erlangCallToSecond','erlangBusyFactor','dialPredictiveInterval','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgTalktime','voice','request','startCase','Queues','error','result','catch','getRealtimeQueues','concat','outbound','paused','merge','pick','lodash','jayson/promise','util','client','http','available','loggedIn'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x8ce6,0xb1));var _0x68ce=function(_0xd89753,_0x1073cd){_0xd89753=_0xd89753-0x0;var _0xf347d=_0x8ce6[_0xd89753];return _0xf347d;};'use strict';var _=require(_0x68ce('0x0'));var jayson=require(_0x68ce('0x1'));var util=require(_0x68ce('0x2'));var amiClient=jayson[_0x68ce('0x3')][_0x68ce('0x4')]({'port':0x232a});var routingClient=jayson['client'][_0x68ce('0x4')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=[_0x68ce('0x5'),_0x68ce('0x6'),'paused',_0x68ce('0x7')];var VOICE_QUEUE_ATTRIBUTES=[_0x68ce('0x8'),_0x68ce('0x9'),_0x68ce('0xa'),_0x68ce('0xb'),'notInUse','onHold',_0x68ce('0xc'),'ringInUse','talking',_0x68ce('0xd'),'unknown'];var OUTBOUND_QUEUE_ATTRIBUTES=[_0x68ce('0xe'),_0x68ce('0xf'),_0x68ce('0x10'),_0x68ce('0x11'),_0x68ce('0x12'),_0x68ce('0x13'),_0x68ce('0x14'),_0x68ce('0x15'),_0x68ce('0x16'),'erlangCalls',_0x68ce('0x17'),'erlangAbandonmentRate',_0x68ce('0x18'),_0x68ce('0x19'),_0x68ce('0x1a'),_0x68ce('0x1b'),'predictiveIntervalAvailable',_0x68ce('0x1c'),_0x68ce('0x1d'),_0x68ce('0x1e'),_0x68ce('0x1f'),'predictiveIntervalAvgHoldtime',_0x68ce('0x20')];function getRealtimeQueues(_0x1d8922,_0x282d6d){var _0x215306=_0x282d6d===_0x68ce('0x21')?amiClient:routingClient;return _0x215306[_0x68ce('0x22')](_[_0x68ce('0x23')](_0x282d6d)+_0x68ce('0x24'),_0x1d8922)['then'](function(_0x25ea4b){if(_0x25ea4b[_0x68ce('0x25')])throw new Error(util['format']('Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues',_0x282d6d));return _0x25ea4b[_0x68ce('0x26')];})[_0x68ce('0x27')](function(_0x57d0dc){throw _0x57d0dc;});}exports[_0x68ce('0x28')]=getRealtimeQueues;function initializeQueues(_0x4b34f5,_0x373824,_0x53f913,_0x122490){var _0x524d75=DEFAULT_QUEUE_ATTRIBUTES;if(_0x53f913==='voice'){if(_0x122490==='inbound'){_0x524d75=_0x524d75[_0x68ce('0x29')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x122490===_0x68ce('0x2a')){_0x524d75=_0x524d75[_0x68ce('0x29')](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x4b34f5['map'](function(_0x46aab1){var _0x48aec0=_0x46aab1['get']({'plain':!![]});_0x48aec0[_0x68ce('0x2b')]=0x0;_0x48aec0['loggedInDb']=0x0;_0x48aec0[_0x68ce('0x6')]=0x0;_0x48aec0[_0x68ce('0x5')]=0x0;_0x48aec0[_0x68ce('0x7')]=0x0;if(_0x53f913===_0x68ce('0x21')){_0x48aec0['talking']=0x0;_0x48aec0[_0x68ce('0x8')]=0x0;if(_0x122490===_0x68ce('0x2a')){_0x48aec0['pTalking']=0x0;_0x48aec0[_0x68ce('0xf')]=0x0;}}var _0x39e693=_['find'](_0x373824,['id',_0x48aec0['id']]);if(_0x39e693){_[_0x68ce('0x2c')](_0x48aec0,_[_0x68ce('0x2d')](_0x39e693,_0x524d75));}return _0x48aec0;});}exports['initializeQueues']=initializeQueues;