2a31dd90b74e42fb927ac5ae5e4a24f2cacae16f
[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 _0x91ef=['predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','voice','request','Queues','then','error','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','catch','inbound','concat','outbound','map','get','paused','pTalking','find','merge','initializeQueues','lodash','jayson/promise','client','http','available','loggedIn','waiting','busy','inUse','invalid','loggedInDb','notInUse','ringing','talking','unavailable','unknown','originated','message','statusMessage','dialMethod','Trunk','startPredictive','startProgressive','erlangCalls','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable'];(function(_0x5d89e5,_0x2d9dfb){var _0x2e53f8=function(_0x1f9264){while(--_0x1f9264){_0x5d89e5['push'](_0x5d89e5['shift']());}};_0x2e53f8(++_0x2d9dfb);}(_0x91ef,0xaf));var _0xf91e=function(_0x4ff09b,_0x53f67d){_0x4ff09b=_0x4ff09b-0x0;var _0x3f5c2e=_0x91ef[_0x4ff09b];return _0x3f5c2e;};'use strict';var _=require(_0xf91e('0x0'));var jayson=require(_0xf91e('0x1'));var util=require('util');var amiClient=jayson[_0xf91e('0x2')][_0xf91e('0x3')]({'port':0x232a});var routingClient=jayson[_0xf91e('0x2')][_0xf91e('0x3')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=[_0xf91e('0x4'),_0xf91e('0x5'),'paused',_0xf91e('0x6')];var VOICE_QUEUE_ATTRIBUTES=[_0xf91e('0x7'),_0xf91e('0x8'),_0xf91e('0x9'),_0xf91e('0xa'),_0xf91e('0xb'),'onHold',_0xf91e('0xc'),'ringInUse',_0xf91e('0xd'),_0xf91e('0xe'),_0xf91e('0xf')];var OUTBOUND_QUEUE_ATTRIBUTES=['pTalking',_0xf91e('0x10'),_0xf91e('0x11'),_0xf91e('0x12'),'dialActive',_0xf91e('0x13'),_0xf91e('0x14'),_0xf91e('0x15'),_0xf91e('0x16'),_0xf91e('0x17'),'erlangCallToSecond',_0xf91e('0x18'),_0xf91e('0x19'),'dialPredictiveInterval',_0xf91e('0x1a'),_0xf91e('0x1b'),_0xf91e('0x1c'),'predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls',_0xf91e('0x1d'),_0xf91e('0x1e'),_0xf91e('0x1f'),'predictiveIntervalAvgTalktime'];function getRealtimeQueues(_0x495b3f,_0x32191e){var _0x140132=_0x32191e===_0xf91e('0x20')?amiClient:routingClient;return _0x140132[_0xf91e('0x21')](_['startCase'](_0x32191e)+_0xf91e('0x22'),_0x495b3f)[_0xf91e('0x23')](function(_0x1f09b4){if(_0x1f09b4[_0xf91e('0x24')])throw new Error(util[_0xf91e('0x25')](_0xf91e('0x26'),_0x32191e));return _0x1f09b4[_0xf91e('0x27')];})[_0xf91e('0x28')](function(_0x439536){throw _0x439536;});}exports['getRealtimeQueues']=getRealtimeQueues;function initializeQueues(_0x5bb3b2,_0x295c1a,_0x345f14,_0x5d1215){var _0x3a8b96=DEFAULT_QUEUE_ATTRIBUTES;if(_0x345f14===_0xf91e('0x20')){if(_0x5d1215===_0xf91e('0x29')){_0x3a8b96=_0x3a8b96[_0xf91e('0x2a')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x5d1215===_0xf91e('0x2b')){_0x3a8b96=_0x3a8b96[_0xf91e('0x2a')](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x5bb3b2[_0xf91e('0x2c')](function(_0x7718fb){var _0x2d1334=_0x7718fb[_0xf91e('0x2d')]({'plain':!![]});_0x2d1334[_0xf91e('0x2e')]=0x0;_0x2d1334[_0xf91e('0xa')]=0x0;_0x2d1334[_0xf91e('0x5')]=0x0;_0x2d1334['available']=0x0;_0x2d1334[_0xf91e('0x6')]=0x0;if(_0x345f14===_0xf91e('0x20')){_0x2d1334[_0xf91e('0xd')]=0x0;_0x2d1334[_0xf91e('0x7')]=0x0;if(_0x5d1215===_0xf91e('0x2b')){_0x2d1334[_0xf91e('0x2f')]=0x0;_0x2d1334[_0xf91e('0x10')]=0x0;}}var _0x20179e=_[_0xf91e('0x30')](_0x295c1a,['id',_0x2d1334['id']]);if(_0x20179e){_[_0xf91e('0x31')](_0x2d1334,_['pick'](_0x20179e,_0x3a8b96));}return _0x2d1334;});}exports[_0xf91e('0x32')]=initializeQueues;