871a44916fd4ea064ed0218e139daddd02c138bd
[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 _0xbe13=['startCase','Queues','then','error','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','getRealtimeQueues','concat','outbound','map','talking','find','merge','pick','lodash','jayson/promise','util','http','available','loggedIn','paused','waiting','busy','inUse','loggedInDb','onHold','ringing','ringInUse','unavailable','pTalking','originated','statusMessage','dialActive','dialMethod','Trunk','startProgressive','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','voice','request'];(function(_0x42cae2,_0x284ef8){var _0x5f256f=function(_0x41abc8){while(--_0x41abc8){_0x42cae2['push'](_0x42cae2['shift']());}};_0x5f256f(++_0x284ef8);}(_0xbe13,0x1d0));var _0x3be1=function(_0x3b06fc,_0x4203dc){_0x3b06fc=_0x3b06fc-0x0;var _0x2e74f3=_0xbe13[_0x3b06fc];return _0x2e74f3;};'use strict';var _=require(_0x3be1('0x0'));var jayson=require(_0x3be1('0x1'));var util=require(_0x3be1('0x2'));var amiClient=jayson['client'][_0x3be1('0x3')]({'port':0x232a});var routingClient=jayson['client'][_0x3be1('0x3')]({'port':0x232c});var DEFAULT_QUEUE_ATTRIBUTES=[_0x3be1('0x4'),_0x3be1('0x5'),_0x3be1('0x6'),_0x3be1('0x7')];var VOICE_QUEUE_ATTRIBUTES=[_0x3be1('0x8'),_0x3be1('0x9'),'invalid',_0x3be1('0xa'),'notInUse',_0x3be1('0xb'),_0x3be1('0xc'),_0x3be1('0xd'),'talking',_0x3be1('0xe'),'unknown'];var OUTBOUND_QUEUE_ATTRIBUTES=[_0x3be1('0xf'),_0x3be1('0x10'),'message',_0x3be1('0x11'),_0x3be1('0x12'),_0x3be1('0x13'),_0x3be1('0x14'),'startPredictive',_0x3be1('0x15'),_0x3be1('0x16'),_0x3be1('0x17'),_0x3be1('0x18'),_0x3be1('0x19'),'dialPredictiveInterval','dialPredictiveIntervalMaxThreshold',_0x3be1('0x1a'),_0x3be1('0x1b'),_0x3be1('0x1c'),_0x3be1('0x1d'),_0x3be1('0x1e'),_0x3be1('0x1f'),_0x3be1('0x20'),_0x3be1('0x21')];function getRealtimeQueues(_0xfe574,_0x1f7ab1){var _0x1cc063=_0x1f7ab1===_0x3be1('0x22')?amiClient:routingClient;return _0x1cc063[_0x3be1('0x23')](_[_0x3be1('0x24')](_0x1f7ab1)+_0x3be1('0x25'),_0xfe574)[_0x3be1('0x26')](function(_0x40ccb2){if(_0x40ccb2[_0x3be1('0x27')])throw new Error(util['format'](_0x3be1('0x28'),_0x1f7ab1));return _0x40ccb2[_0x3be1('0x29')];})['catch'](function(_0x1faa4a){throw _0x1faa4a;});}exports[_0x3be1('0x2a')]=getRealtimeQueues;function initializeQueues(_0x11d67e,_0x3c6f1f,_0x3dfa4c,_0x2261f8){var _0x1739f5=DEFAULT_QUEUE_ATTRIBUTES;if(_0x3dfa4c==='voice'){if(_0x2261f8==='inbound'){_0x1739f5=_0x1739f5[_0x3be1('0x2b')](VOICE_QUEUE_ATTRIBUTES);}else if(_0x2261f8===_0x3be1('0x2c')){_0x1739f5=_0x1739f5['concat'](VOICE_QUEUE_ATTRIBUTES,OUTBOUND_QUEUE_ATTRIBUTES);}}return _0x11d67e[_0x3be1('0x2d')](function(_0x426a51){var _0x10b5b5=_0x426a51['get']({'plain':!![]});_0x10b5b5[_0x3be1('0x6')]=0x0;_0x10b5b5[_0x3be1('0xa')]=0x0;_0x10b5b5[_0x3be1('0x5')]=0x0;_0x10b5b5[_0x3be1('0x4')]=0x0;_0x10b5b5[_0x3be1('0x7')]=0x0;if(_0x3dfa4c===_0x3be1('0x22')){_0x10b5b5[_0x3be1('0x2e')]=0x0;_0x10b5b5[_0x3be1('0x8')]=0x0;if(_0x2261f8===_0x3be1('0x2c')){_0x10b5b5[_0x3be1('0xf')]=0x0;_0x10b5b5[_0x3be1('0x10')]=0x0;}}var _0x23a43d=_[_0x3be1('0x2f')](_0x3c6f1f,['id',_0x10b5b5['id']]);if(_0x23a43d){_[_0x3be1('0x30')](_0x10b5b5,_[_0x3be1('0x31')](_0x23a43d,_0x1739f5));}return _0x10b5b5;});}exports['initializeQueues']=initializeQueues;