de70dbfcf1039911d56db552ebd01d1d59abe766
[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 _0xc6d0=['concat','outbound','map','get','paused','available','find','merge','pick','jayson/promise','util','client','http','loggedIn','busy','inUse','invalid','loggedInDb','notInUse','onHold','ringing','unavailable','pTalking','originated','statusMessage','dialActive','Trunk','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','erlangBusyFactor','dialPredictiveInterval','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','voice','request','startCase','then','error','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','catch','inbound'];(function(_0x18b32d,_0x5b5432){var _0x11a467=function(_0x54aea4){while(--_0x54aea4){_0x18b32d['push'](_0x18b32d['shift']());}};_0x11a467(++_0x5b5432);}(_0xc6d0,0xa2));var _0x0c6d=function(_0x4a6262,_0x4bfb8c){_0x4a6262=_0x4a6262-0x0;var _0x10385a=_0xc6d0[_0x4a6262];return _0x10385a;};'use strict';var _=require('lodash');var jayson=require(_0x0c6d('0x0'));var util=require(_0x0c6d('0x1'));var amiClient=jayson[_0x0c6d('0x2')][_0x0c6d('0x3')]({'port':0x232a});var routingClient=jayson['client'][_0x0c6d('0x3')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=['available',_0x0c6d('0x4'),'paused','waiting'];var VOICE_QUEUE_ATTRIBUTES=[_0x0c6d('0x5'),_0x0c6d('0x6'),_0x0c6d('0x7'),_0x0c6d('0x8'),_0x0c6d('0x9'),_0x0c6d('0xa'),_0x0c6d('0xb'),'ringInUse','talking',_0x0c6d('0xc'),'unknown'];var OUTBOUND_QUEUE_ATTRIBUTES=[_0x0c6d('0xd'),_0x0c6d('0xe'),'message',_0x0c6d('0xf'),_0x0c6d('0x10'),'dialMethod',_0x0c6d('0x11'),_0x0c6d('0x12'),_0x0c6d('0x13'),_0x0c6d('0x14'),_0x0c6d('0x15'),'erlangAbandonmentRate',_0x0c6d('0x16'),_0x0c6d('0x17'),'dialPredictiveIntervalMaxThreshold',_0x0c6d('0x18'),_0x0c6d('0x19'),_0x0c6d('0x1a'),_0x0c6d('0x1b'),_0x0c6d('0x1c'),_0x0c6d('0x1d'),_0x0c6d('0x1e'),_0x0c6d('0x1f')];function getRealtimeQueues(_0x83acb0,_0x539821){var _0x203e25=_0x539821===_0x0c6d('0x20')?amiClient:routingClient;return _0x203e25[_0x0c6d('0x21')](_[_0x0c6d('0x22')](_0x539821)+'Queues',_0x83acb0)[_0x0c6d('0x23')](function(_0xec92ce){if(_0xec92ce[_0x0c6d('0x24')])throw new Error(util[_0x0c6d('0x25')](_0x0c6d('0x26'),_0x539821));return _0xec92ce[_0x0c6d('0x27')];})[_0x0c6d('0x28')](function(_0x2ec5e2){throw _0x2ec5e2;});}exports['getRealtimeQueues']=getRealtimeQueues;function initializeQueues(_0x1eb4aa,_0x1ccb75,_0x446b6c,_0x57d35c){var _0x2dd3f8=DEFAULT_QUEUE_ATTRIBUTES;if(_0x446b6c===_0x0c6d('0x20')){if(_0x57d35c===_0x0c6d('0x29')){_0x2dd3f8=_0x2dd3f8[_0x0c6d('0x2a')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x57d35c===_0x0c6d('0x2b')){_0x2dd3f8=_0x2dd3f8['concat'](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x1eb4aa[_0x0c6d('0x2c')](function(_0x87417c){var _0x2563de=_0x87417c[_0x0c6d('0x2d')]({'plain':!![]});_0x2563de[_0x0c6d('0x2e')]=0x0;_0x2563de[_0x0c6d('0x8')]=0x0;_0x2563de['loggedIn']=0x0;_0x2563de[_0x0c6d('0x2f')]=0x0;_0x2563de['waiting']=0x0;if(_0x446b6c===_0x0c6d('0x20')){_0x2563de['talking']=0x0;_0x2563de[_0x0c6d('0x5')]=0x0;if(_0x57d35c===_0x0c6d('0x2b')){_0x2563de['pTalking']=0x0;_0x2563de[_0x0c6d('0xe')]=0x0;}}var _0x460608=_[_0x0c6d('0x30')](_0x1ccb75,['id',_0x2563de['id']]);if(_0x460608){_[_0x0c6d('0x31')](_0x2563de,_[_0x0c6d('0x32')](_0x460608,_0x2dd3f8));}return _0x2563de;});}exports['initializeQueues']=initializeQueues;