Built motion from commit f16df95f.|2.5.40
[motion2.git] / server / api / realtime / realtime.controller.js
index fd1f15e..0ad9a22 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x06c5=['message','dialActive','Trunk','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveIntervalMaxThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','map','get','paused','talking','pick','filter','queue','length','busy','connectedlinenum','internal','find','getMembers','UserId','accountcode','online','loggedInDb','agents','Queue','Pause','findAll','QueueId','idle','unavailable','ringing','isNil','faxPause','mailPause','openchannelPause','whatsappPause','every','voiceStatus','voicePause','pause','chatStatus','faxStatus','mailStatus','smsStatus','whatsappStatus','unknown','*pause','getAgents','lastLoginAt','lastPauseAt','pauseType','address','chatCapacity','smsCapacity','whatsappCapacity','faxCapacity','mailCurrentCapacity','smsCurrentCapacity','whatsappCurrentCapacity','faxCurrentCapacity','openchannelStatus','chatStatusTime','openchannelStatusTime','mailStatusTime','smsStatusTime','whatsappStatusTime','faxStatusTime','voiceStatusTime','screenrecording','phoneBarEnableScreenRecordingByAgent','routealias','chatPause','smsPause','resolve','User','rawAttributes','fieldName','type','key','query','agent','getOptions','user','role','userProfileId','nolimit','sort','UserProfile','findAndCountAll','rows','omit','globalStatusFilter','pauseTypeFilter','getQueues','mail','chat','sms','fax','whatsapp','channel','toLowerCase','Invalid\x20channel','all','util','lodash','jayson/promise','../../components/parsers/qs','../../config/logger','api','client','offset','undefined','count','limit','status','set','error','stack','name','send','request','Agents','then','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)','result','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','merge','catch','voice','startCase','Queues','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','VoiceQueuesChannels','loggedIn','available','waiting','outbound','push','pTalking','originated'];(function(_0x284d08,_0x3e7b94){var _0x5dcfd7=function(_0x216d72){while(--_0x216d72){_0x284d08['push'](_0x284d08['shift']());}};_0x5dcfd7(++_0x3e7b94);}(_0x06c5,0x19f));var _0x506c=function(_0x966222,_0x121b01){_0x966222=_0x966222-0x0;var _0x4e56c7=_0x06c5[_0x966222];return _0x4e56c7;};'use strict';var util=require(_0x506c('0x0'));var _=require(_0x506c('0x1'));var jayson=require(_0x506c('0x2'));var qs=require(_0x506c('0x3'));var logger=require(_0x506c('0x4'))(_0x506c('0x5'));var db=require('../../mysqldb')['db'];var amiClient=jayson[_0x506c('0x6')]['http']({'port':0x232a});var routingClient=jayson[_0x506c('0x6')]['http']({'port':0x232c});function respondWithFilteredResult(_0x1ed096,_0x1c5311){return function(_0x5c7e2d){if(_0x5c7e2d){var _0x26026d=typeof _0x1c5311[_0x506c('0x7')]===_0x506c('0x8')&&typeof _0x1c5311['limit']===_0x506c('0x8');var _0x41edd3=_0x5c7e2d[_0x506c('0x9')];var _0x34da2c=_0x26026d?0x0:_0x1c5311[_0x506c('0x7')];var _0x3f9547=_0x26026d?_0x5c7e2d[_0x506c('0x9')]:_0x1c5311['offset']+_0x1c5311[_0x506c('0xa')];var _0xaeab95;if(_0x3f9547>=_0x41edd3){_0x3f9547=_0x41edd3;_0xaeab95=0xc8;}else{_0xaeab95=0xce;}_0x1ed096[_0x506c('0xb')](_0xaeab95);return _0x1ed096[_0x506c('0xc')]('Content-Range',_0x34da2c+'-'+_0x3f9547+'/'+_0x41edd3)['json'](_0x5c7e2d);}return null;};}function handleError(_0x579586,_0x171434){_0x171434=_0x171434||0x1f4;return function(_0x1f4930){logger[_0x506c('0xd')](_0x1f4930[_0x506c('0xe')]);if(_0x1f4930[_0x506c('0xf')]){delete _0x1f4930[_0x506c('0xf')];}_0x579586[_0x506c('0xb')](_0x171434)[_0x506c('0x10')](_0x1f4930);};}function getRealtimeAgents(){return new Promise(function(_0x48f78c,_0x465330){return amiClient[_0x506c('0x11')](_0x506c('0x12'),{})[_0x506c('0x13')](function(_0x3467b7){if(_0x3467b7['error'])throw new Error(_0x506c('0x14'));var _0x5da18f=_0x3467b7[_0x506c('0x15')];return routingClient[_0x506c('0x11')](_0x506c('0x12'),{})[_0x506c('0x13')](function(_0xd55548){if(_0xd55548['error'])throw new Error(_0x506c('0x16'));var _0x2cc59c=_0xd55548[_0x506c('0x15')];return _0x48f78c(_[_0x506c('0x17')]({},_0x5da18f,_0x2cc59c));});})[_0x506c('0x18')](function(_0x43ea1b){_0x465330(_0x43ea1b);});});}function getRealtimeQueues(_0x2bed10,_0x2b1a09){return new Promise(function(_0x21f60,_0x3ee65d){var _0x3c38c9=_0x2b1a09===_0x506c('0x19')?amiClient:routingClient;return _0x3c38c9['request'](_[_0x506c('0x1a')](_0x2b1a09)+_0x506c('0x1b'),_0x2bed10)['then'](function(_0x3dce7b){if(_0x3dce7b[_0x506c('0xd')])throw new Error(util[_0x506c('0x1c')](_0x506c('0x1d'),_0x2b1a09));return _0x21f60(_0x3dce7b['result']);})[_0x506c('0x18')](function(_0x59ad56){_0x3ee65d(_0x59ad56);});});}function getRealtimeVoiceQueueChannels(){return new Promise(function(_0x119e89,_0x317443){return amiClient[_0x506c('0x11')](_0x506c('0x1e'),{})[_0x506c('0x13')](function(_0x1a6428){if(_0x1a6428[_0x506c('0xd')])throw new Error('Unable\x20to\x20retrieve\x20voice\x20queues\x20channels');return _0x119e89(_0x1a6428[_0x506c('0x15')]);})[_0x506c('0x18')](function(_0x2c38b3){_0x317443(_0x2c38b3);});});}function initializeQueues(_0x7ccae8,_0x590e72,_0x2c71d4,_0x59e724){var _0x5a1292=[_0x506c('0x1f'),_0x506c('0x20'),_0x506c('0x21'),'talking','paused'];if(_0x2c71d4===_0x506c('0x19')&&_0x59e724===_0x506c('0x22')){_0x5a1292[_0x506c('0x23')](_0x506c('0x24'),_0x506c('0x25'),_0x506c('0x26'),_0x506c('0x27'),'dialMethod',_0x506c('0x28'),_0x506c('0x29'),_0x506c('0x2a'),_0x506c('0x2b'),_0x506c('0x2c'),_0x506c('0x2d'),_0x506c('0x2e'),'dialPredictiveInterval',_0x506c('0x2f'),'dialPredictiveIntervalMinThreshold',_0x506c('0x30'),_0x506c('0x31'),_0x506c('0x32'),_0x506c('0x33'),_0x506c('0x34'),_0x506c('0x35'),'predictiveIntervalAvgTalktime');}return _0x7ccae8[_0x506c('0x36')](function(_0x469552){var _0x24719f=_0x469552[_0x506c('0x37')]({'plain':!![]});_0x24719f['agents']=[];_0x24719f[_0x506c('0x38')]=0x0;_0x24719f['loggedInDb']=0x0;_0x24719f[_0x506c('0x1f')]=0x0;_0x24719f['available']=0x0;_0x24719f[_0x506c('0x21')]=0x0;if(_0x2c71d4==='voice'){_0x24719f[_0x506c('0x39')]=0x0;_0x24719f['busy']=0x0;if(_0x59e724==='outbound'){_0x24719f[_0x506c('0x24')]=0x0;_0x24719f['originated']=0x0;}}var _0x22ca5f=_['find'](_0x590e72,['id',_0x24719f['id']]);if(_0x22ca5f)_[_0x506c('0x17')](_0x24719f,_[_0x506c('0x3a')](_0x22ca5f,_0x5a1292));return _0x24719f;});}function updateAgentVoiceStatus(_0x435ebc,_0x49f2f2,_0x54610d){var _0x5eae53=_[_0x506c('0x3b')](_0x54610d,[_0x506c('0x3c'),_0x49f2f2['name']]);if(_0x5eae53[_0x506c('0x3d')]===0x0)return _0x435ebc[_0x506c('0x3e')]=!![];if(_['some'](_0x5eae53,[_0x506c('0x3f'),_0x435ebc[_0x506c('0x40')]['toString']()]))return _0x435ebc['talking']=!![];if(!_0x435ebc[_0x506c('0x39')])return _0x435ebc[_0x506c('0x3e')]=!![];}function getVoiceQueueAgents(_0x1918fe,_0x355284,_0x2930d6,_0x42ccb2){var _0x36ddea=_[_0x506c('0x41')](_0x355284,['id',_0x1918fe['id']]);if(!_0x36ddea)return _0x1918fe;return _0x36ddea[_0x506c('0x42')]({'raw':!![]})['then'](function(_0x1a11e2){for(var _0x5cbd30=0x0;_0x5cbd30<_0x1a11e2['length'];_0x5cbd30++){var _0x425b35=_[_0x506c('0x41')](_0x2930d6,['id',_0x1a11e2[_0x5cbd30][_0x506c('0x43')]]);if(!_0x425b35){_0x425b35={'id':_0x1a11e2[_0x5cbd30][_0x506c('0x43')],'name':_0x1a11e2[_0x5cbd30]['UserId'],'accountcode':'','online':![]};}var _0x222a94={'id':_0x425b35['id'],'name':_0x425b35[_0x506c('0xf')],'internal':_0x425b35[_0x506c('0x44')],'online':Boolean(_0x425b35['online']),'paused':Boolean(_0x1a11e2[_0x5cbd30][_0x506c('0x38')])};if(_0x425b35['voiceStatus']==='talking')updateAgentVoiceStatus(_0x222a94,_0x1918fe,_0x42ccb2);if(_0x222a94[_0x506c('0x45')])_0x1918fe[_0x506c('0x46')]++;if(_0x222a94['busy'])_0x1918fe[_0x506c('0x3e')]++;if(_0x222a94['paused']&&!_0x222a94[_0x506c('0x3e')]&&!_0x222a94[_0x506c('0x39')])_0x1918fe[_0x506c('0x38')]++;_0x1918fe[_0x506c('0x47')][_0x506c('0x23')](_0x222a94);}return _0x1918fe;});}function getQueueAgents(_0x3a1115,_0xfe9675,_0xda8269){var _0x2ca7db='User'+_[_0x506c('0x1a')](_0xda8269)+_0x506c('0x48');var _0x39cc9a=_0xda8269+_0x506c('0x49');return db[_0x2ca7db][_0x506c('0x4a')]({'where':{[_['startCase'](_0xda8269)+_0x506c('0x4b')]:_0x3a1115['id']},'raw':!![]})[_0x506c('0x13')](function(_0x22b6aa){for(var _0xedd9b9=0x0;_0xedd9b9<_0x22b6aa['length'];_0xedd9b9++){var _0x186242=_[_0x506c('0x41')](_0xfe9675,['id',_0x22b6aa[_0xedd9b9][_0x506c('0x43')]]);if(!_0x186242){_0x186242={'id':_0x22b6aa[_0xedd9b9]['UserId'],'name':_0x22b6aa[_0xedd9b9][_0x506c('0x43')],'online':![],['pauseField']:![]};}var _0x337ef2={'id':_0x186242['id'],'name':_0x186242[_0x506c('0xf')],'online':Boolean(_0x186242['online']),'paused':Boolean(_0x186242[_0x39cc9a])};if(_0x337ef2['online'])_0x3a1115['loggedInDb']++;_0x3a1115['agents'][_0x506c('0x23')](_0x337ef2);}return _0x3a1115;});}function isIdle(_0x4b4730){return _0x4b4730===_0x506c('0x4c')||_0x4b4730==='unknown'||_0x4b4730===_0x506c('0x4d')||_0x4b4730===_0x506c('0x4e')||_[_0x506c('0x4f')](_0x4b4730);}function isAgentPaused(_0x50c7cb,_0x586808){var _0x27c1a3=[_0x50c7cb['chatPause'],_0x50c7cb[_0x506c('0x50')],_0x50c7cb[_0x506c('0x51')],_0x50c7cb[_0x506c('0x52')],_0x50c7cb['smsPause'],_0x50c7cb['voicePause'],_0x50c7cb[_0x506c('0x53')]];if(!_0x586808)return _[_0x506c('0x54')](_0x27c1a3);var _0x17b032=_['filter'](_0x27c1a3);return _0x17b032[_0x506c('0x3d')]>0x0&&_0x17b032[_0x506c('0x3d')]<_0x27c1a3[_0x506c('0x3d')]?!![]:![];}function isAgentIdle(_0x4966b3){if(_0x4966b3[_0x506c('0x55')]!=='idle'&&_0x4966b3[_0x506c('0x56')]){_0x4966b3[_0x506c('0x55')]=_0x506c('0x57');return![];}return _['every']([_0x4966b3[_0x506c('0x58')],_0x4966b3[_0x506c('0x59')],_0x4966b3[_0x506c('0x5a')],_0x4966b3['openchannelStatus'],_0x4966b3[_0x506c('0x5b')],_0x4966b3[_0x506c('0x55')],_0x4966b3[_0x506c('0x5c')]],isIdle);}function getAgentStatus(_0x1d5ad9){var _0x12b463=_0x506c('0x5d');if(isAgentPaused(_0x1d5ad9))_0x12b463=_0x506c('0x57');else if(isAgentPaused(_0x1d5ad9,!![]))_0x12b463=_0x506c('0x5e');else if(isAgentIdle(_0x1d5ad9))_0x12b463=_0x506c('0x4c');else _0x12b463=_0x506c('0x3e');return _0x12b463;}exports[_0x506c('0x5f')]=function(_0x500232,_0x2612ef){var _0x211619={'count':0x0,'rows':[]},_0x2c4041={},_0x2a50ec,_0x37bcb1,_0x46ff8a=['userpic',_0x506c('0x45'),_0x506c('0x60'),_0x506c('0x61'),_0x506c('0x62'),_0x506c('0x61'),_0x506c('0x40'),_0x506c('0x63'),'chatPause',_0x506c('0x52'),_0x506c('0x51'),'smsPause','whatsappPause',_0x506c('0x50'),_0x506c('0x56'),_0x506c('0x64'),'openchannelCapacity','mailCapacity',_0x506c('0x65'),_0x506c('0x66'),_0x506c('0x67'),'chatCurrentCapacity','openchannelCurrentCapacity',_0x506c('0x68'),_0x506c('0x69'),_0x506c('0x6a'),_0x506c('0x6b'),_0x506c('0x58'),_0x506c('0x6c'),_0x506c('0x5a'),_0x506c('0x5b'),_0x506c('0x5c'),'faxStatus',_0x506c('0x55'),_0x506c('0x6d'),_0x506c('0x6e'),_0x506c('0x6f'),_0x506c('0x70'),_0x506c('0x71'),_0x506c('0x72'),_0x506c('0x73'),_0x506c('0x3c'),'destconnectedlinenum',_0x506c('0x74'),_0x506c('0x75'),'phoneBarEnableAutomaticScreenRecording',_0x506c('0x76')],_0x1dd338=[_0x506c('0x77'),'openchannelPause','mailPause',_0x506c('0x78'),'whatsappPause',_0x506c('0x50'),_0x506c('0x56'),'online'];Promise[_0x506c('0x79')]()[_0x506c('0x13')](function(){var _0x4a04e1=_[_0x506c('0x36')](db[_0x506c('0x7a')][_0x506c('0x7b')],function(_0x58d3b){return{'name':_0x58d3b[_0x506c('0x7c')],'type':_0x58d3b[_0x506c('0x7d')][_0x506c('0x7e')]};});_0x500232[_0x506c('0x7f')]['role']=_0x506c('0x80');_0x500232[_0x506c('0x7f')][_0x506c('0x45')]=!![];_0x2c4041=qs[_0x506c('0x81')](_0x4a04e1,_0x500232);_0x2c4041['raw']=!![];if(_0x500232[_0x506c('0x82')][_0x506c('0x83')]===_0x506c('0x82')){var _0x5eb129={'params':{'id':_0x500232['user'][_0x506c('0x84')]},'query':{'section':_0x506c('0x12'),'role':_0x506c('0x80'),'online':!![],'nolimit':_0x500232[_0x506c('0x7f')][_0x506c('0x85')],'sort':_0x500232['query'][_0x506c('0x86')],'filter':_0x500232[_0x506c('0x7f')]['filter']},'raw':!![]};return db[_0x506c('0x87')]['getResources'](_0x5eb129);}return db[_0x506c('0x7a')][_0x506c('0x88')](_0x2c4041);})[_0x506c('0x13')](function(_0x14320b){_0x211619[_0x506c('0x9')]=_0x14320b[_0x506c('0x9')];_0x2a50ec=_0x14320b['rows'];return getRealtimeAgents();})[_0x506c('0x13')](function(_0x5d19d4){_0x37bcb1=_0x5d19d4[_0x506c('0x89')];return _0x2a50ec[_0x506c('0x36')](function(_0x556f9d){var _0x121cc6=_[_0x506c('0x41')](_0x37bcb1,['id',_0x556f9d['id']]);if(_0x121cc6)_[_0x506c('0x17')](_0x556f9d,_[_0x506c('0x3a')](_[_0x506c('0x8a')](_0x121cc6,_0x1dd338),_0x46ff8a));_0x556f9d['globalStatus']=getAgentStatus(_0x556f9d);return _0x556f9d;});})['then'](function(_0x88b9aa){if(_0x500232[_0x506c('0x7f')][_0x506c('0x8b')]){var _0x1b8eb4=_[_0x506c('0x3b')](_0x88b9aa,['globalStatus',_0x500232[_0x506c('0x7f')][_0x506c('0x8b')]]);if(_0x500232['query'][_0x506c('0x8c')]){_0x1b8eb4=_[_0x506c('0x3b')](_0x1b8eb4,['pauseType',_0x500232['query']['pauseTypeFilter']]);}}_0x211619[_0x506c('0x89')]=_0x1b8eb4||_0x88b9aa;return _0x211619;})[_0x506c('0x13')](respondWithFilteredResult(_0x2612ef,_0x2c4041))['catch'](handleError(_0x2612ef,null));};exports[_0x506c('0x8d')]=function(_0x46c3b4,_0x2da73e){var _0x566ea0=[_0x506c('0x8e'),_0x506c('0x8f'),_0x506c('0x90'),'openchannel',_0x506c('0x91'),_0x506c('0x92'),_0x506c('0x19')];var _0x96a586={'count':0x0,'rows':[]},_0x4957ef={},_0x2cc7ae,_0x4ac2ea,_0x467da5,_0x1dba25,_0x1da375;Promise['resolve']()[_0x506c('0x13')](function(){if(_0x46c3b4[_0x506c('0x7f')][_0x506c('0x93')]){if(!_['includes'](_0x566ea0,_0x46c3b4['query'][_0x506c('0x93')][_0x506c('0x94')]()))throw new Error(_0x506c('0x95'));_0x2cc7ae=_0x46c3b4['query']['channel'][_0x506c('0x94')]();}var _0xca2615=_[_0x506c('0x1a')](_0x2cc7ae)+_0x506c('0x48');var _0x195353=_[_0x506c('0x36')](db[_0xca2615][_0x506c('0x7b')],function(_0x69a64d){return{'name':_0x69a64d[_0x506c('0x7c')],'type':_0x69a64d['type'][_0x506c('0x7e')]};});_0x4957ef=qs[_0x506c('0x81')](_0x195353,_0x46c3b4);if(_0x46c3b4[_0x506c('0x82')][_0x506c('0x83')]===_0x506c('0x82')){var _0x5b6e41={'params':{'id':_0x46c3b4[_0x506c('0x82')][_0x506c('0x84')]},'query':{'section':_0x2cc7ae===_0x506c('0x19')&&_0x46c3b4[_0x506c('0x7f')][_0x506c('0x7d')]===_0x506c('0x22')?'QueueCampaigns':_[_0x506c('0x1a')](_0x2cc7ae)+'Queues','type':_0x46c3b4[_0x506c('0x7f')][_0x506c('0x7d')],'nolimit':!![],'sort':_0x506c('0xf'),'filter':_0x46c3b4[_0x506c('0x7f')][_0x506c('0x3b')]}};return db[_0x506c('0x87')]['getResources'](_0x5b6e41);}return db[_0xca2615][_0x506c('0x88')](_0x4957ef);})['then'](function(_0x12d4ea){_0x96a586[_0x506c('0x9')]=_0x12d4ea[_0x506c('0x9')];_0x4ac2ea=_0x12d4ea[_0x506c('0x89')];return getRealtimeQueues(_0x46c3b4,_0x2cc7ae);})[_0x506c('0x13')](function(_0x27b4ea){_0x1dba25=_0x27b4ea[_0x506c('0x89')];return getRealtimeAgents();})[_0x506c('0x13')](function(_0x408826){_0x467da5=_0x408826[_0x506c('0x89')];if(_0x2cc7ae!=_0x506c('0x19'))return;return getRealtimeVoiceQueueChannels();})['then'](function(_0x3f66e0){_0x1da375=_0x3f66e0?_0x3f66e0[_0x506c('0x89')]:[];return initializeQueues(_0x4ac2ea,_0x1dba25,_0x2cc7ae,_0x46c3b4[_0x506c('0x7f')][_0x506c('0x7d')]);})['then'](function(_0x2bc988){var _0x5a7011=_0x2bc988[_0x506c('0x36')](function(_0x25cc2d){if(_0x2cc7ae===_0x506c('0x19'))return getVoiceQueueAgents(_0x25cc2d,_0x4ac2ea,_0x467da5,_0x1da375);else return getQueueAgents(_0x25cc2d,_0x467da5,_0x2cc7ae);});return Promise[_0x506c('0x96')](_0x5a7011);})[_0x506c('0x13')](function(_0x4d2ca9){_0x96a586[_0x506c('0x89')]=_0x4d2ca9;return _0x96a586;})[_0x506c('0x13')](respondWithFilteredResult(_0x2da73e,_0x4957ef))['catch'](handleError(_0x2da73e,null));};
\ No newline at end of file
+var _0x5e53=['get','agents','paused','talking','outbound','find','pick','length','busy','some','connectedlinenum','internal','toString','getMembers','UserId','accountcode','voiceStatus','online','loggedInDb','User','Queue','Pause','QueueId','unknown','unavailable','isNil','chatPause','faxPause','mailPause','whatsappPause','every','idle','voicePause','pause','faxStatus','mailStatus','smsStatus','*pause','getAgents','userpic','lastLoginAt','lastPauseAt','pauseType','address','openchannelPause','smsPause','openchannelCapacity','mailCapacity','smsCapacity','whatsappCapacity','chatCurrentCapacity','openchannelCurrentCapacity','mailCurrentCapacity','whatsappCurrentCapacity','faxCurrentCapacity','openchannelStatus','whatsappStatus','chatStatusTime','openchannelStatusTime','mailStatusTime','whatsappStatusTime','faxStatusTime','queue','destconnectedlinenum','screenrecording','phoneBarEnableScreenRecordingByAgent','phoneBarEnableAutomaticScreenRecording','routealias','resolve','fieldName','query','agent','getOptions','role','user','nolimit','sort','filter','findAndCountAll','rows','globalStatus','globalStatusFilter','chat','openchannel','fax','whatsapp','channel','includes','toLowerCase','Invalid\x20channel','rawAttributes','type','key','userProfileId','QueueCampaigns','getResources','all','util','../../components/parsers/qs','api','../../mysqldb','client','http','offset','limit','undefined','count','set','Content-Range','json','name','status','request','Agents','then','error','result','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','merge','catch','voice','startCase','Queues','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','loggedIn','available','waiting','push','pTalking','originated','message','dialActive','Trunk','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','dialPredictiveInterval','dialPredictiveIntervalMaxThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','map'];(function(_0x4e3459,_0xfc267){var _0x240ea0=function(_0x6d4f49){while(--_0x6d4f49){_0x4e3459['push'](_0x4e3459['shift']());}};_0x240ea0(++_0xfc267);}(_0x5e53,0xf5));var _0x35e5=function(_0x585457,_0x3614b1){_0x585457=_0x585457-0x0;var _0x259af2=_0x5e53[_0x585457];return _0x259af2;};'use strict';var util=require(_0x35e5('0x0'));var _=require('lodash');var jayson=require('jayson/promise');var qs=require(_0x35e5('0x1'));var logger=require('../../config/logger')(_0x35e5('0x2'));var db=require(_0x35e5('0x3'))['db'];var amiClient=jayson[_0x35e5('0x4')][_0x35e5('0x5')]({'port':0x232a});var routingClient=jayson[_0x35e5('0x4')]['http']({'port':0x232c});function respondWithFilteredResult(_0x110477,_0x281e70){return function(_0xbacd3b){if(_0xbacd3b){var _0x2dcda9=typeof _0x281e70[_0x35e5('0x6')]==='undefined'&&typeof _0x281e70[_0x35e5('0x7')]===_0x35e5('0x8');var _0x81993a=_0xbacd3b[_0x35e5('0x9')];var _0x3e8a67=_0x2dcda9?0x0:_0x281e70[_0x35e5('0x6')];var _0x12d80c=_0x2dcda9?_0xbacd3b['count']:_0x281e70[_0x35e5('0x6')]+_0x281e70['limit'];var _0xcc4e55;if(_0x12d80c>=_0x81993a){_0x12d80c=_0x81993a;_0xcc4e55=0xc8;}else{_0xcc4e55=0xce;}_0x110477['status'](_0xcc4e55);return _0x110477[_0x35e5('0xa')](_0x35e5('0xb'),_0x3e8a67+'-'+_0x12d80c+'/'+_0x81993a)[_0x35e5('0xc')](_0xbacd3b);}return null;};}function handleError(_0x5f377f,_0x3a60df){_0x3a60df=_0x3a60df||0x1f4;return function(_0x4ec5c5){logger['error'](_0x4ec5c5['stack']);if(_0x4ec5c5[_0x35e5('0xd')]){delete _0x4ec5c5[_0x35e5('0xd')];}_0x5f377f[_0x35e5('0xe')](_0x3a60df)['send'](_0x4ec5c5);};}function getRealtimeAgents(){return new Promise(function(_0x43932e,_0xe6128b){return amiClient[_0x35e5('0xf')](_0x35e5('0x10'),{})[_0x35e5('0x11')](function(_0x5da14a){if(_0x5da14a[_0x35e5('0x12')])throw new Error('Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)');var _0x460ec5=_0x5da14a[_0x35e5('0x13')];return routingClient['request']('Agents',{})[_0x35e5('0x11')](function(_0x36a18d){if(_0x36a18d[_0x35e5('0x12')])throw new Error(_0x35e5('0x14'));var _0x54ebb2=_0x36a18d['result'];return _0x43932e(_[_0x35e5('0x15')]({},_0x460ec5,_0x54ebb2));});})[_0x35e5('0x16')](function(_0x1ddd7c){_0xe6128b(_0x1ddd7c);});});}function getRealtimeQueues(_0x3914f9,_0x4d1b49){return new Promise(function(_0x112a7d,_0x30e69b){var _0x3fdf15=_0x4d1b49===_0x35e5('0x17')?amiClient:routingClient;return _0x3fdf15[_0x35e5('0xf')](_[_0x35e5('0x18')](_0x4d1b49)+_0x35e5('0x19'),_0x3914f9)[_0x35e5('0x11')](function(_0x45e2cc){if(_0x45e2cc[_0x35e5('0x12')])throw new Error(util[_0x35e5('0x1a')](_0x35e5('0x1b'),_0x4d1b49));return _0x112a7d(_0x45e2cc[_0x35e5('0x13')]);})['catch'](function(_0x33cb7c){_0x30e69b(_0x33cb7c);});});}function getRealtimeVoiceQueueChannels(){return new Promise(function(_0x160989,_0xc4bf13){return amiClient[_0x35e5('0xf')]('VoiceQueuesChannels',{})['then'](function(_0x3ec44d){if(_0x3ec44d[_0x35e5('0x12')])throw new Error('Unable\x20to\x20retrieve\x20voice\x20queues\x20channels');return _0x160989(_0x3ec44d[_0x35e5('0x13')]);})['catch'](function(_0xea3fd8){_0xc4bf13(_0xea3fd8);});});}function initializeQueues(_0x162aeb,_0x680877,_0x309111,_0x24fb51){var _0x3cf7c0=[_0x35e5('0x1c'),_0x35e5('0x1d'),_0x35e5('0x1e'),'talking','paused'];if(_0x309111===_0x35e5('0x17')&&_0x24fb51==='outbound'){_0x3cf7c0[_0x35e5('0x1f')](_0x35e5('0x20'),_0x35e5('0x21'),_0x35e5('0x22'),_0x35e5('0x23'),'dialMethod',_0x35e5('0x24'),_0x35e5('0x25'),_0x35e5('0x26'),_0x35e5('0x27'),_0x35e5('0x28'),_0x35e5('0x29'),'erlangBusyFactor',_0x35e5('0x2a'),_0x35e5('0x2b'),'dialPredictiveIntervalMinThreshold',_0x35e5('0x2c'),_0x35e5('0x2d'),_0x35e5('0x2e'),'predictiveIntervalDroppedCallsTimeout',_0x35e5('0x2f'),_0x35e5('0x30'),_0x35e5('0x31'));}return _0x162aeb[_0x35e5('0x32')](function(_0x5dc5e5){var _0x2e7239=_0x5dc5e5[_0x35e5('0x33')]({'plain':!![]});_0x2e7239[_0x35e5('0x34')]=[];_0x2e7239[_0x35e5('0x35')]=0x0;_0x2e7239['loggedInDb']=0x0;_0x2e7239['loggedIn']=0x0;_0x2e7239[_0x35e5('0x1d')]=0x0;_0x2e7239[_0x35e5('0x1e')]=0x0;if(_0x309111===_0x35e5('0x17')){_0x2e7239[_0x35e5('0x36')]=0x0;_0x2e7239['busy']=0x0;if(_0x24fb51===_0x35e5('0x37')){_0x2e7239[_0x35e5('0x20')]=0x0;_0x2e7239[_0x35e5('0x21')]=0x0;}}var _0x4e2071=_[_0x35e5('0x38')](_0x680877,['id',_0x2e7239['id']]);if(_0x4e2071)_[_0x35e5('0x15')](_0x2e7239,_[_0x35e5('0x39')](_0x4e2071,_0x3cf7c0));return _0x2e7239;});}function updateAgentVoiceStatus(_0x3d89a0,_0x401eb0,_0x7e129f){var _0x3ecc29=_['filter'](_0x7e129f,['queue',_0x401eb0[_0x35e5('0xd')]]);if(_0x3ecc29[_0x35e5('0x3a')]===0x0)return _0x3d89a0[_0x35e5('0x3b')]=!![];if(_[_0x35e5('0x3c')](_0x3ecc29,[_0x35e5('0x3d'),_0x3d89a0[_0x35e5('0x3e')][_0x35e5('0x3f')]()]))return _0x3d89a0['talking']=!![];if(!_0x3d89a0[_0x35e5('0x36')])return _0x3d89a0[_0x35e5('0x3b')]=!![];}function getVoiceQueueAgents(_0x175e25,_0xd7008d,_0x1df98c,_0x5e351f){var _0x2b2ec8=_[_0x35e5('0x38')](_0xd7008d,['id',_0x175e25['id']]);if(!_0x2b2ec8)return _0x175e25;return _0x2b2ec8[_0x35e5('0x40')]({'raw':!![]})[_0x35e5('0x11')](function(_0x4eea43){for(var _0x540e16=0x0;_0x540e16<_0x4eea43[_0x35e5('0x3a')];_0x540e16++){var _0x4b477c=_[_0x35e5('0x38')](_0x1df98c,['id',_0x4eea43[_0x540e16]['UserId']]);if(!_0x4b477c){_0x4b477c={'id':_0x4eea43[_0x540e16]['UserId'],'name':_0x4eea43[_0x540e16][_0x35e5('0x41')],'accountcode':'','online':![]};}var _0x458d70={'id':_0x4b477c['id'],'name':_0x4b477c[_0x35e5('0xd')],'internal':_0x4b477c[_0x35e5('0x42')],'online':Boolean(_0x4b477c['online']),'paused':Boolean(_0x4eea43[_0x540e16][_0x35e5('0x35')])};if(_0x4b477c[_0x35e5('0x43')]==='talking')updateAgentVoiceStatus(_0x458d70,_0x175e25,_0x5e351f);if(_0x458d70[_0x35e5('0x44')])_0x175e25[_0x35e5('0x45')]++;if(_0x458d70[_0x35e5('0x3b')])_0x175e25[_0x35e5('0x3b')]++;if(_0x458d70[_0x35e5('0x35')]&&!_0x458d70['busy']&&!_0x458d70[_0x35e5('0x36')])_0x175e25[_0x35e5('0x35')]++;_0x175e25[_0x35e5('0x34')]['push'](_0x458d70);}return _0x175e25;});}function getQueueAgents(_0x804e77,_0x2727a5,_0x2cdedd){var _0x5af248=_0x35e5('0x46')+_['startCase'](_0x2cdedd)+_0x35e5('0x47');var _0x3029e4=_0x2cdedd+_0x35e5('0x48');return db[_0x5af248]['findAll']({'where':{[_[_0x35e5('0x18')](_0x2cdedd)+_0x35e5('0x49')]:_0x804e77['id']},'raw':!![]})[_0x35e5('0x11')](function(_0xa37cc5){for(var _0x3f1afa=0x0;_0x3f1afa<_0xa37cc5['length'];_0x3f1afa++){var _0x1e6836=_[_0x35e5('0x38')](_0x2727a5,['id',_0xa37cc5[_0x3f1afa][_0x35e5('0x41')]]);if(!_0x1e6836){_0x1e6836={'id':_0xa37cc5[_0x3f1afa][_0x35e5('0x41')],'name':_0xa37cc5[_0x3f1afa]['UserId'],'online':![],['pauseField']:![]};}var _0x1efd6a={'id':_0x1e6836['id'],'name':_0x1e6836[_0x35e5('0xd')],'online':Boolean(_0x1e6836[_0x35e5('0x44')]),'paused':Boolean(_0x1e6836[_0x3029e4])};if(_0x1efd6a[_0x35e5('0x44')])_0x804e77['loggedInDb']++;_0x804e77[_0x35e5('0x34')][_0x35e5('0x1f')](_0x1efd6a);}return _0x804e77;});}function isIdle(_0x47402c){return _0x47402c==='idle'||_0x47402c===_0x35e5('0x4a')||_0x47402c===_0x35e5('0x4b')||_0x47402c==='ringing'||_[_0x35e5('0x4c')](_0x47402c);}function isAgentPaused(_0x5831be,_0x187c1e){var _0xee5526=[_0x5831be[_0x35e5('0x4d')],_0x5831be[_0x35e5('0x4e')],_0x5831be[_0x35e5('0x4f')],_0x5831be['openchannelPause'],_0x5831be['smsPause'],_0x5831be['voicePause'],_0x5831be[_0x35e5('0x50')]];if(!_0x187c1e)return _[_0x35e5('0x51')](_0xee5526);var _0x553106=_['filter'](_0xee5526);return _0x553106[_0x35e5('0x3a')]>0x0&&_0x553106[_0x35e5('0x3a')]<_0xee5526['length']?!![]:![];}function isAgentIdle(_0xbae4c4){if(_0xbae4c4[_0x35e5('0x43')]!==_0x35e5('0x52')&&_0xbae4c4[_0x35e5('0x53')]){_0xbae4c4[_0x35e5('0x43')]=_0x35e5('0x54');return![];}return _[_0x35e5('0x51')]([_0xbae4c4['chatStatus'],_0xbae4c4[_0x35e5('0x55')],_0xbae4c4[_0x35e5('0x56')],_0xbae4c4['openchannelStatus'],_0xbae4c4[_0x35e5('0x57')],_0xbae4c4[_0x35e5('0x43')],_0xbae4c4['whatsappStatus']],isIdle);}function getAgentStatus(_0x4dc53b){var _0x14801a='unknown';if(isAgentPaused(_0x4dc53b))_0x14801a=_0x35e5('0x54');else if(isAgentPaused(_0x4dc53b,!![]))_0x14801a=_0x35e5('0x58');else if(isAgentIdle(_0x4dc53b))_0x14801a=_0x35e5('0x52');else _0x14801a=_0x35e5('0x3b');return _0x14801a;}exports[_0x35e5('0x59')]=function(_0x462977,_0x1e819d){var _0x2c0e30={'count':0x0,'rows':[]},_0x538459={},_0x2026ff,_0x378522,_0x2c021f=[_0x35e5('0x5a'),_0x35e5('0x44'),_0x35e5('0x5b'),_0x35e5('0x5c'),_0x35e5('0x5d'),_0x35e5('0x5c'),_0x35e5('0x3e'),_0x35e5('0x5e'),_0x35e5('0x4d'),_0x35e5('0x5f'),_0x35e5('0x4f'),_0x35e5('0x60'),'whatsappPause',_0x35e5('0x4e'),_0x35e5('0x53'),'chatCapacity',_0x35e5('0x61'),_0x35e5('0x62'),_0x35e5('0x63'),_0x35e5('0x64'),'faxCapacity',_0x35e5('0x65'),_0x35e5('0x66'),_0x35e5('0x67'),'smsCurrentCapacity',_0x35e5('0x68'),_0x35e5('0x69'),'chatStatus',_0x35e5('0x6a'),_0x35e5('0x56'),_0x35e5('0x57'),_0x35e5('0x6b'),_0x35e5('0x55'),_0x35e5('0x43'),_0x35e5('0x6c'),_0x35e5('0x6d'),_0x35e5('0x6e'),'smsStatusTime',_0x35e5('0x6f'),_0x35e5('0x70'),'voiceStatusTime',_0x35e5('0x71'),_0x35e5('0x72'),_0x35e5('0x73'),_0x35e5('0x74'),_0x35e5('0x75'),_0x35e5('0x76')],_0x405691=[_0x35e5('0x4d'),_0x35e5('0x5f'),_0x35e5('0x4f'),_0x35e5('0x60'),'whatsappPause','faxPause',_0x35e5('0x53'),'online'];Promise[_0x35e5('0x77')]()[_0x35e5('0x11')](function(){var _0x4fb050=_[_0x35e5('0x32')](db['User']['rawAttributes'],function(_0x3182a9){return{'name':_0x3182a9[_0x35e5('0x78')],'type':_0x3182a9['type']['key']};});_0x462977[_0x35e5('0x79')]['role']=_0x35e5('0x7a');_0x462977[_0x35e5('0x79')]['online']=!![];_0x538459=qs[_0x35e5('0x7b')](_0x4fb050,_0x462977);_0x538459['raw']=!![];if(_0x462977['user'][_0x35e5('0x7c')]===_0x35e5('0x7d')){var _0x1ce69d={'params':{'id':_0x462977[_0x35e5('0x7d')]['userProfileId']},'query':{'section':'Agents','role':_0x35e5('0x7a'),'online':!![],'nolimit':_0x462977[_0x35e5('0x79')][_0x35e5('0x7e')],'sort':_0x462977['query'][_0x35e5('0x7f')],'filter':_0x462977[_0x35e5('0x79')][_0x35e5('0x80')]},'raw':!![]};return db['UserProfile']['getResources'](_0x1ce69d);}return db[_0x35e5('0x46')][_0x35e5('0x81')](_0x538459);})['then'](function(_0x5bae07){_0x2c0e30[_0x35e5('0x9')]=_0x5bae07['count'];_0x2026ff=_0x5bae07[_0x35e5('0x82')];return getRealtimeAgents();})[_0x35e5('0x11')](function(_0x432b9f){_0x378522=_0x432b9f[_0x35e5('0x82')];return _0x2026ff['map'](function(_0x1f38bd){var _0x158b5a=_[_0x35e5('0x38')](_0x378522,['id',_0x1f38bd['id']]);if(_0x158b5a)_['merge'](_0x1f38bd,_['pick'](_['omit'](_0x158b5a,_0x405691),_0x2c021f));_0x1f38bd[_0x35e5('0x83')]=getAgentStatus(_0x1f38bd);return _0x1f38bd;});})['then'](function(_0x122f81){if(_0x462977[_0x35e5('0x79')][_0x35e5('0x84')]){var _0x85ac5b=_[_0x35e5('0x80')](_0x122f81,[_0x35e5('0x83'),_0x462977[_0x35e5('0x79')][_0x35e5('0x84')]]);if(_0x462977[_0x35e5('0x79')]['pauseTypeFilter']){_0x85ac5b=_[_0x35e5('0x80')](_0x85ac5b,[_0x35e5('0x5d'),_0x462977['query']['pauseTypeFilter']]);}}_0x2c0e30['rows']=_0x85ac5b||_0x122f81;return _0x2c0e30;})[_0x35e5('0x11')](respondWithFilteredResult(_0x1e819d,_0x538459))[_0x35e5('0x16')](handleError(_0x1e819d,null));};exports['getQueues']=function(_0x3ea738,_0xe36bdd){var _0x4fa189=['mail',_0x35e5('0x85'),'sms',_0x35e5('0x86'),_0x35e5('0x87'),_0x35e5('0x88'),'voice'];var _0x2229b7={'count':0x0,'rows':[]},_0x498853={},_0x1c0dab,_0x218b19,_0x109b7e,_0x4d1871,_0x1aec34;Promise['resolve']()[_0x35e5('0x11')](function(){if(_0x3ea738[_0x35e5('0x79')][_0x35e5('0x89')]){if(!_[_0x35e5('0x8a')](_0x4fa189,_0x3ea738[_0x35e5('0x79')][_0x35e5('0x89')][_0x35e5('0x8b')]()))throw new Error(_0x35e5('0x8c'));_0x1c0dab=_0x3ea738[_0x35e5('0x79')]['channel'][_0x35e5('0x8b')]();}var _0x11b384=_[_0x35e5('0x18')](_0x1c0dab)+'Queue';var _0x61427c=_[_0x35e5('0x32')](db[_0x11b384][_0x35e5('0x8d')],function(_0x43127){return{'name':_0x43127[_0x35e5('0x78')],'type':_0x43127[_0x35e5('0x8e')][_0x35e5('0x8f')]};});_0x498853=qs[_0x35e5('0x7b')](_0x61427c,_0x3ea738);if(_0x3ea738[_0x35e5('0x7d')][_0x35e5('0x7c')]===_0x35e5('0x7d')){var _0x26e405={'params':{'id':_0x3ea738[_0x35e5('0x7d')][_0x35e5('0x90')]},'query':{'section':_0x1c0dab===_0x35e5('0x17')&&_0x3ea738[_0x35e5('0x79')]['type']==='outbound'?_0x35e5('0x91'):_[_0x35e5('0x18')](_0x1c0dab)+_0x35e5('0x19'),'type':_0x3ea738[_0x35e5('0x79')]['type'],'nolimit':!![],'sort':_0x35e5('0xd'),'filter':_0x3ea738[_0x35e5('0x79')][_0x35e5('0x80')]}};return db['UserProfile'][_0x35e5('0x92')](_0x26e405);}return db[_0x11b384]['findAndCountAll'](_0x498853);})['then'](function(_0x4427f2){_0x2229b7[_0x35e5('0x9')]=_0x4427f2[_0x35e5('0x9')];_0x218b19=_0x4427f2['rows'];return getRealtimeQueues(_0x3ea738,_0x1c0dab);})[_0x35e5('0x11')](function(_0x45adb8){_0x4d1871=_0x45adb8[_0x35e5('0x82')];return getRealtimeAgents();})[_0x35e5('0x11')](function(_0x24342c){_0x109b7e=_0x24342c[_0x35e5('0x82')];if(_0x1c0dab!=_0x35e5('0x17'))return;return getRealtimeVoiceQueueChannels();})[_0x35e5('0x11')](function(_0xe6780){_0x1aec34=_0xe6780?_0xe6780[_0x35e5('0x82')]:[];return initializeQueues(_0x218b19,_0x4d1871,_0x1c0dab,_0x3ea738['query'][_0x35e5('0x8e')]);})[_0x35e5('0x11')](function(_0xb5094d){var _0x29e7c5=_0xb5094d[_0x35e5('0x32')](function(_0x2b2b90){if(_0x1c0dab===_0x35e5('0x17'))return getVoiceQueueAgents(_0x2b2b90,_0x218b19,_0x109b7e,_0x1aec34);else return getQueueAgents(_0x2b2b90,_0x109b7e,_0x1c0dab);});return Promise[_0x35e5('0x93')](_0x29e7c5);})[_0x35e5('0x11')](function(_0xe20e78){_0x2229b7['rows']=_0xe20e78;return _0x2229b7;})[_0x35e5('0x11')](respondWithFilteredResult(_0xe36bdd,_0x498853))[_0x35e5('0x16')](handleError(_0xe36bdd,null));};
\ No newline at end of file