Built motion from commit d5e4af8c.|2.6.23
[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 _0x5766=['get','paused','waiting','find','merge','pick','initializeQueues','lodash','jayson/promise','util','client','http','available','loggedIn','busy','inUse','loggedInDb','notInUse','onHold','ringing','ringInUse','unavailable','unknown','pTalking','originated','message','statusMessage','Trunk','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','erlangBusyFactor','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable','predictiveIntervalAnsweredCalls','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','voice','request','startCase','Queues','then','error','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','catch','getRealtimeQueues','inbound','concat','outbound','map'];(function(_0x5326fd,_0x2b3366){var _0x4a3b26=function(_0x263a30){while(--_0x263a30){_0x5326fd['push'](_0x5326fd['shift']());}};_0x4a3b26(++_0x2b3366);}(_0x5766,0x115));var _0x6576=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x5766[_0x3dd15e];return _0x231fd0;};'use strict';var _=require(_0x6576('0x0'));var jayson=require(_0x6576('0x1'));var util=require(_0x6576('0x2'));var amiClient=jayson[_0x6576('0x3')]['http']({'port':0x232a});var routingClient=jayson[_0x6576('0x3')][_0x6576('0x4')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=[_0x6576('0x5'),_0x6576('0x6'),'paused','waiting'];var VOICE_QUEUE_ATTRIBUTES=[_0x6576('0x7'),_0x6576('0x8'),'invalid',_0x6576('0x9'),_0x6576('0xa'),_0x6576('0xb'),_0x6576('0xc'),_0x6576('0xd'),'talking',_0x6576('0xe'),_0x6576('0xf')];var OUTBOUND_QUEUE_ATTRIBUTES=[_0x6576('0x10'),_0x6576('0x11'),_0x6576('0x12'),_0x6576('0x13'),'dialActive','dialMethod',_0x6576('0x14'),_0x6576('0x15'),_0x6576('0x16'),_0x6576('0x17'),_0x6576('0x18'),'erlangAbandonmentRate',_0x6576('0x19'),'dialPredictiveInterval',_0x6576('0x1a'),_0x6576('0x1b'),_0x6576('0x1c'),'predictiveIntervalTotalCalls',_0x6576('0x1d'),'predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit',_0x6576('0x1e'),_0x6576('0x1f')];function getRealtimeQueues(_0x439f97,_0x3a0ffe){var _0x150bb7=_0x3a0ffe===_0x6576('0x20')?amiClient:routingClient;return _0x150bb7[_0x6576('0x21')](_[_0x6576('0x22')](_0x3a0ffe)+_0x6576('0x23'),_0x439f97)[_0x6576('0x24')](function(_0x3b6a45){if(_0x3b6a45[_0x6576('0x25')])throw new Error(util[_0x6576('0x26')](_0x6576('0x27'),_0x3a0ffe));return _0x3b6a45[_0x6576('0x28')];})[_0x6576('0x29')](function(_0x3a8b1e){throw _0x3a8b1e;});}exports[_0x6576('0x2a')]=getRealtimeQueues;function initializeQueues(_0x536dd0,_0x1ff11b,_0x197158,_0x5980a8){var _0x3dcf69=DEFAULT_QUEUE_ATTRIBUTES;if(_0x197158===_0x6576('0x20')){if(_0x5980a8===_0x6576('0x2b')){_0x3dcf69=_0x3dcf69[_0x6576('0x2c')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x5980a8===_0x6576('0x2d')){_0x3dcf69=_0x3dcf69[_0x6576('0x2c')](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x536dd0[_0x6576('0x2e')](function(_0x42b65b){var _0x419155=_0x42b65b[_0x6576('0x2f')]({'plain':!![]});_0x419155[_0x6576('0x30')]=0x0;_0x419155['loggedInDb']=0x0;_0x419155[_0x6576('0x6')]=0x0;_0x419155['available']=0x0;_0x419155[_0x6576('0x31')]=0x0;if(_0x197158===_0x6576('0x20')){_0x419155['talking']=0x0;_0x419155[_0x6576('0x7')]=0x0;if(_0x5980a8===_0x6576('0x2d')){_0x419155['pTalking']=0x0;_0x419155[_0x6576('0x11')]=0x0;}}var _0xcde9b6=_[_0x6576('0x32')](_0x1ff11b,['id',_0x419155['id']]);if(_0xcde9b6){_[_0x6576('0x33')](_0x419155,_[_0x6576('0x34')](_0xcde9b6,_0x3dcf69));}return _0x419155;});}exports[_0x6576('0x35')]=initializeQueues;