b6ec85cf197ad6ae28f8032333fe1210c96b7b0e
[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 _0xbcb9=['available','loggedIn','paused','waiting','busy','inUse','invalid','notInUse','onHold','ringing','talking','unavailable','unknown','originated','message','dialMethod','startProgressive','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveInterval','predictiveIntervalTotalCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','voice','Queues','error','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','inbound','concat','map','get','loggedInDb','outbound','pTalking','find','pick','initializeQueues','lodash','jayson/promise','util','client','http'];(function(_0x3a75fb,_0x4f7628){var _0x38b356=function(_0x59557a){while(--_0x59557a){_0x3a75fb['push'](_0x3a75fb['shift']());}};_0x38b356(++_0x4f7628);}(_0xbcb9,0x88));var _0x9bcb=function(_0x3641cd,_0x475f36){_0x3641cd=_0x3641cd-0x0;var _0x1c475=_0xbcb9[_0x3641cd];return _0x1c475;};'use strict';var _=require(_0x9bcb('0x0'));var jayson=require(_0x9bcb('0x1'));var util=require(_0x9bcb('0x2'));var amiClient=jayson[_0x9bcb('0x3')][_0x9bcb('0x4')]({'port':0x232a});var routingClient=jayson[_0x9bcb('0x3')][_0x9bcb('0x4')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=[_0x9bcb('0x5'),_0x9bcb('0x6'),_0x9bcb('0x7'),_0x9bcb('0x8')];var VOICE_QUEUE_ATTRIBUTES=[_0x9bcb('0x9'),_0x9bcb('0xa'),_0x9bcb('0xb'),'loggedInDb',_0x9bcb('0xc'),_0x9bcb('0xd'),_0x9bcb('0xe'),'ringInUse',_0x9bcb('0xf'),_0x9bcb('0x10'),_0x9bcb('0x11')];var OUTBOUND_QUEUE_ATTRIBUTES=['pTalking',_0x9bcb('0x12'),_0x9bcb('0x13'),'statusMessage','dialActive',_0x9bcb('0x14'),'Trunk','startPredictive',_0x9bcb('0x15'),'erlangCalls',_0x9bcb('0x16'),_0x9bcb('0x17'),_0x9bcb('0x18'),_0x9bcb('0x19'),'dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable',_0x9bcb('0x1a'),'predictiveIntervalAnsweredCalls',_0x9bcb('0x1b'),_0x9bcb('0x1c'),_0x9bcb('0x1d'),_0x9bcb('0x1e')];function getRealtimeQueues(_0x54301b,_0x56780c){var _0x419c8a=_0x56780c===_0x9bcb('0x1f')?amiClient:routingClient;return _0x419c8a['request'](_['startCase'](_0x56780c)+_0x9bcb('0x20'),_0x54301b)['then'](function(_0x12864b){if(_0x12864b[_0x9bcb('0x21')])throw new Error(util[_0x9bcb('0x22')](_0x9bcb('0x23'),_0x56780c));return _0x12864b[_0x9bcb('0x24')];})['catch'](function(_0x3b04a6){throw _0x3b04a6;});}exports['getRealtimeQueues']=getRealtimeQueues;function initializeQueues(_0x1bc20b,_0x34fb7a,_0x1eacf6,_0x27b15e){var _0x3fd84a=DEFAULT_QUEUE_ATTRIBUTES;if(_0x1eacf6===_0x9bcb('0x1f')){if(_0x27b15e===_0x9bcb('0x25')){_0x3fd84a=_0x3fd84a[_0x9bcb('0x26')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x27b15e==='outbound'){_0x3fd84a=_0x3fd84a['concat'](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x1bc20b[_0x9bcb('0x27')](function(_0x4c14eb){var _0xdbcf11=_0x4c14eb[_0x9bcb('0x28')]({'plain':!![]});_0xdbcf11[_0x9bcb('0x7')]=0x0;_0xdbcf11[_0x9bcb('0x29')]=0x0;_0xdbcf11[_0x9bcb('0x6')]=0x0;_0xdbcf11[_0x9bcb('0x5')]=0x0;_0xdbcf11[_0x9bcb('0x8')]=0x0;if(_0x1eacf6===_0x9bcb('0x1f')){_0xdbcf11[_0x9bcb('0xf')]=0x0;_0xdbcf11[_0x9bcb('0x9')]=0x0;if(_0x27b15e===_0x9bcb('0x2a')){_0xdbcf11[_0x9bcb('0x2b')]=0x0;_0xdbcf11[_0x9bcb('0x12')]=0x0;}}var _0x22f3bf=_[_0x9bcb('0x2c')](_0x34fb7a,['id',_0xdbcf11['id']]);if(_0x22f3bf){_['merge'](_0xdbcf11,_[_0x9bcb('0x2d')](_0x22f3bf,_0x3fd84a));}return _0xdbcf11;});}exports[_0x9bcb('0x2e')]=initializeQueues;