Built motion from commit 092f8824.|2.5.49
[motion2.git] / server / api / realtime / realtime.controller.js
index 8d2743d..0e172bd 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0xc1c6=['predictiveIntervalAvgTalktime','map','get','paused','available','busy','pick','filter','queue','length','some','connectedlinenum','internal','toString','UserId','accountcode','online','loggedInDb','push','findAll','QueueId','agents','idle','unavailable','ringing','isNil','faxPause','mailPause','smsPause','voicePause','whatsappPause','every','voiceStatus','pause','chatStatus','faxStatus','mailStatus','whatsappStatus','unknown','*pause','userpic','lastLoginAt','lastPauseAt','address','chatPause','chatCapacity','openchannelCapacity','mailCapacity','smsCapacity','whatsappCapacity','chatCurrentCapacity','mailCurrentCapacity','smsCurrentCapacity','whatsappCurrentCapacity','faxCurrentCapacity','smsStatus','chatStatusTime','openchannelStatusTime','mailStatusTime','smsStatusTime','whatsappStatusTime','faxStatusTime','screenrecording','phoneBarEnableScreenRecordingByAgent','phoneBarEnableAutomaticScreenRecording','routealias','openchannelPause','resolve','rawAttributes','fieldName','type','key','role','agent','getOptions','raw','user','userProfileId','nolimit','query','UserProfile','getResources','User','findAndCountAll','rows','omit','globalStatusFilter','pauseTypeFilter','pauseType','getQueues','fax','includes','channel','toLowerCase','Invalid\x20channel','QueueCampaigns','all','util','lodash','jayson/promise','../../config/logger','../../mysqldb','client','http','offset','undefined','limit','count','status','set','Content-Range','stack','name','send','request','Agents','then','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','merge','voice','startCase','Queues','error','format','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','catch','VoiceQueuesChannels','Unable\x20to\x20retrieve\x20voice\x20queues\x20channels','loggedIn','waiting','talking','outbound','pTalking','originated','message','dialActive','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit'];(function(_0x536d3d,_0x76573e){var _0xea324f=function(_0x1b8c48){while(--_0x1b8c48){_0x536d3d['push'](_0x536d3d['shift']());}};_0xea324f(++_0x76573e);}(_0xc1c6,0xf7));var _0x6c1c=function(_0x16a701,_0x58f832){_0x16a701=_0x16a701-0x0;var _0x412830=_0xc1c6[_0x16a701];return _0x412830;};'use strict';var util=require(_0x6c1c('0x0'));var _=require(_0x6c1c('0x1'));var jayson=require(_0x6c1c('0x2'));var qs=require('../../components/parsers/qs');var logger=require(_0x6c1c('0x3'))('api');var db=require(_0x6c1c('0x4'))['db'];var amiClient=jayson[_0x6c1c('0x5')][_0x6c1c('0x6')]({'port':0x232a});var routingClient=jayson['client']['http']({'port':0x232c});function respondWithFilteredResult(_0x32af84,_0x524a6b){return function(_0x50c1bb){if(_0x50c1bb){var _0x582bec=typeof _0x524a6b[_0x6c1c('0x7')]===_0x6c1c('0x8')&&typeof _0x524a6b[_0x6c1c('0x9')]===_0x6c1c('0x8');var _0x4b66ec=_0x50c1bb[_0x6c1c('0xa')];var _0x3ca985=_0x582bec?0x0:_0x524a6b['offset'];var _0x147c7b=_0x582bec?_0x50c1bb[_0x6c1c('0xa')]:_0x524a6b[_0x6c1c('0x7')]+_0x524a6b[_0x6c1c('0x9')];var _0x49fb01;if(_0x147c7b>=_0x4b66ec){_0x147c7b=_0x4b66ec;_0x49fb01=0xc8;}else{_0x49fb01=0xce;}_0x32af84[_0x6c1c('0xb')](_0x49fb01);return _0x32af84[_0x6c1c('0xc')](_0x6c1c('0xd'),_0x3ca985+'-'+_0x147c7b+'/'+_0x4b66ec)['json'](_0x50c1bb);}return null;};}function handleError(_0x412717,_0x12a9e6){_0x12a9e6=_0x12a9e6||0x1f4;return function(_0x2067bd){logger['error'](_0x2067bd[_0x6c1c('0xe')]);if(_0x2067bd['name']){delete _0x2067bd[_0x6c1c('0xf')];}_0x412717[_0x6c1c('0xb')](_0x12a9e6)[_0x6c1c('0x10')](_0x2067bd);};}function getRealtimeAgents(){return new Promise(function(_0x154107,_0x350e6f){return amiClient[_0x6c1c('0x11')](_0x6c1c('0x12'),{})[_0x6c1c('0x13')](function(_0x448f35){if(_0x448f35['error'])throw new Error(_0x6c1c('0x14'));var _0x174657=_0x448f35['result'];return routingClient[_0x6c1c('0x11')](_0x6c1c('0x12'),{})['then'](function(_0x137770){if(_0x137770['error'])throw new Error(_0x6c1c('0x15'));var _0x1a0ab9=_0x137770['result'];return _0x154107(_[_0x6c1c('0x16')]({},_0x174657,_0x1a0ab9));});})['catch'](function(_0x2db60e){_0x350e6f(_0x2db60e);});});}function getRealtimeQueues(_0x3527bf,_0x23470e){return new Promise(function(_0x211f49,_0x1acf7f){var _0x1efb19=_0x23470e===_0x6c1c('0x17')?amiClient:routingClient;return _0x1efb19[_0x6c1c('0x11')](_[_0x6c1c('0x18')](_0x23470e)+_0x6c1c('0x19'),_0x3527bf)[_0x6c1c('0x13')](function(_0x450b1f){if(_0x450b1f[_0x6c1c('0x1a')])throw new Error(util[_0x6c1c('0x1b')](_0x6c1c('0x1c'),_0x23470e));return _0x211f49(_0x450b1f[_0x6c1c('0x1d')]);})[_0x6c1c('0x1e')](function(_0x12c638){_0x1acf7f(_0x12c638);});});}function getRealtimeVoiceQueueChannels(){return new Promise(function(_0x3a3f13,_0x1dba08){return amiClient[_0x6c1c('0x11')](_0x6c1c('0x1f'),{})[_0x6c1c('0x13')](function(_0x7ff10d){if(_0x7ff10d[_0x6c1c('0x1a')])throw new Error(_0x6c1c('0x20'));return _0x3a3f13(_0x7ff10d[_0x6c1c('0x1d')]);})[_0x6c1c('0x1e')](function(_0x2feaf4){_0x1dba08(_0x2feaf4);});});}function initializeQueues(_0x5f4568,_0x2595c3,_0x4d73aa,_0x10e9f7){var _0x4c23f8=[_0x6c1c('0x21'),'available',_0x6c1c('0x22'),_0x6c1c('0x23'),'paused'];if(_0x4d73aa===_0x6c1c('0x17')&&_0x10e9f7===_0x6c1c('0x24')){_0x4c23f8['push'](_0x6c1c('0x25'),_0x6c1c('0x26'),_0x6c1c('0x27'),_0x6c1c('0x28'),'dialMethod','Trunk',_0x6c1c('0x29'),_0x6c1c('0x2a'),_0x6c1c('0x2b'),_0x6c1c('0x2c'),_0x6c1c('0x2d'),_0x6c1c('0x2e'),'dialPredictiveInterval',_0x6c1c('0x2f'),_0x6c1c('0x30'),'predictiveIntervalAvailable',_0x6c1c('0x31'),_0x6c1c('0x32'),_0x6c1c('0x33'),_0x6c1c('0x34'),'predictiveIntervalAvgHoldtime',_0x6c1c('0x35'));}return _0x5f4568[_0x6c1c('0x36')](function(_0x245433){var _0x5adddc=_0x245433[_0x6c1c('0x37')]({'plain':!![]});_0x5adddc['agents']=[];_0x5adddc[_0x6c1c('0x38')]=0x0;_0x5adddc['loggedInDb']=0x0;_0x5adddc[_0x6c1c('0x21')]=0x0;_0x5adddc[_0x6c1c('0x39')]=0x0;_0x5adddc[_0x6c1c('0x22')]=0x0;if(_0x4d73aa==='voice'){_0x5adddc['talking']=0x0;_0x5adddc[_0x6c1c('0x3a')]=0x0;if(_0x10e9f7===_0x6c1c('0x24')){_0x5adddc[_0x6c1c('0x25')]=0x0;_0x5adddc['originated']=0x0;}}var _0x1a9132=_['find'](_0x2595c3,['id',_0x5adddc['id']]);if(_0x1a9132)_['merge'](_0x5adddc,_[_0x6c1c('0x3b')](_0x1a9132,_0x4c23f8));return _0x5adddc;});}function updateAgentVoiceStatus(_0xbafcb3,_0x30d0fe,_0x3215a9){var _0x4bed10=_[_0x6c1c('0x3c')](_0x3215a9,[_0x6c1c('0x3d'),_0x30d0fe[_0x6c1c('0xf')]]);if(_0x4bed10[_0x6c1c('0x3e')]===0x0)return _0xbafcb3[_0x6c1c('0x3a')]=!![];if(_[_0x6c1c('0x3f')](_0x4bed10,[_0x6c1c('0x40'),_0xbafcb3[_0x6c1c('0x41')][_0x6c1c('0x42')]()]))return _0xbafcb3[_0x6c1c('0x23')]=!![];if(!_0xbafcb3['talking'])return _0xbafcb3[_0x6c1c('0x3a')]=!![];}function getVoiceQueueAgents(_0x464549,_0xf053b1,_0x31cf03,_0x1cb3b4){var _0x5c8177=_['find'](_0xf053b1,['id',_0x464549['id']]);if(!_0x5c8177)return _0x464549;return _0x5c8177['getMembers']({'raw':!![]})[_0x6c1c('0x13')](function(_0x57ba31){for(var _0x4d7dc6=0x0;_0x4d7dc6<_0x57ba31[_0x6c1c('0x3e')];_0x4d7dc6++){var _0x37244e=_['find'](_0x31cf03,['id',_0x57ba31[_0x4d7dc6][_0x6c1c('0x43')]]);if(!_0x37244e){_0x37244e={'id':_0x57ba31[_0x4d7dc6][_0x6c1c('0x43')],'name':_0x57ba31[_0x4d7dc6][_0x6c1c('0x43')],'accountcode':'','online':![]};}var _0x5abdcc={'id':_0x37244e['id'],'name':_0x37244e[_0x6c1c('0xf')],'internal':_0x37244e[_0x6c1c('0x44')],'online':Boolean(_0x37244e['online']),'paused':Boolean(_0x57ba31[_0x4d7dc6][_0x6c1c('0x38')])};if(_0x37244e['voiceStatus']===_0x6c1c('0x23'))updateAgentVoiceStatus(_0x5abdcc,_0x464549,_0x1cb3b4);if(_0x5abdcc[_0x6c1c('0x45')])_0x464549[_0x6c1c('0x46')]++;if(_0x5abdcc[_0x6c1c('0x3a')])_0x464549[_0x6c1c('0x3a')]++;if(_0x5abdcc['paused']&&!_0x5abdcc[_0x6c1c('0x3a')]&&!_0x5abdcc[_0x6c1c('0x23')])_0x464549[_0x6c1c('0x38')]++;_0x464549['agents'][_0x6c1c('0x47')](_0x5abdcc);}return _0x464549;});}function getQueueAgents(_0x52866c,_0x28d141,_0x301f86){var _0x2437a0='User'+_[_0x6c1c('0x18')](_0x301f86)+'Queue';var _0x4bedf4=_0x301f86+'Pause';return db[_0x2437a0][_0x6c1c('0x48')]({'where':{[_[_0x6c1c('0x18')](_0x301f86)+_0x6c1c('0x49')]:_0x52866c['id']},'raw':!![]})[_0x6c1c('0x13')](function(_0x152f11){for(var _0x22e5ca=0x0;_0x22e5ca<_0x152f11[_0x6c1c('0x3e')];_0x22e5ca++){var _0x167f3b=_['find'](_0x28d141,['id',_0x152f11[_0x22e5ca][_0x6c1c('0x43')]]);if(!_0x167f3b){_0x167f3b={'id':_0x152f11[_0x22e5ca][_0x6c1c('0x43')],'name':_0x152f11[_0x22e5ca]['UserId'],'online':![],['pauseField']:![]};}var _0x2b4706={'id':_0x167f3b['id'],'name':_0x167f3b['name'],'online':Boolean(_0x167f3b[_0x6c1c('0x45')]),'paused':Boolean(_0x167f3b[_0x4bedf4])};if(_0x2b4706[_0x6c1c('0x45')])_0x52866c[_0x6c1c('0x46')]++;_0x52866c[_0x6c1c('0x4a')][_0x6c1c('0x47')](_0x2b4706);}return _0x52866c;});}function isIdle(_0x5ea4af){return _0x5ea4af===_0x6c1c('0x4b')||_0x5ea4af==='unknown'||_0x5ea4af===_0x6c1c('0x4c')||_0x5ea4af===_0x6c1c('0x4d')||_[_0x6c1c('0x4e')](_0x5ea4af);}function isAgentPaused(_0xa06377,_0x8d614){var _0x26cf7f=[_0xa06377['chatPause'],_0xa06377[_0x6c1c('0x4f')],_0xa06377[_0x6c1c('0x50')],_0xa06377['openchannelPause'],_0xa06377[_0x6c1c('0x51')],_0xa06377[_0x6c1c('0x52')],_0xa06377[_0x6c1c('0x53')]];if(!_0x8d614)return _[_0x6c1c('0x54')](_0x26cf7f);var _0x5badb4=_[_0x6c1c('0x3c')](_0x26cf7f);return _0x5badb4[_0x6c1c('0x3e')]>0x0&&_0x5badb4[_0x6c1c('0x3e')]<_0x26cf7f['length']?!![]:![];}function isAgentIdle(_0x5b8d69){if(_0x5b8d69['voiceStatus']!=='idle'&&_0x5b8d69['voicePause']){_0x5b8d69[_0x6c1c('0x55')]=_0x6c1c('0x56');return![];}return _['every']([_0x5b8d69[_0x6c1c('0x57')],_0x5b8d69[_0x6c1c('0x58')],_0x5b8d69[_0x6c1c('0x59')],_0x5b8d69['openchannelStatus'],_0x5b8d69['smsStatus'],_0x5b8d69[_0x6c1c('0x55')],_0x5b8d69[_0x6c1c('0x5a')]],isIdle);}function getAgentStatus(_0x4dc691){var _0x29d9d1=_0x6c1c('0x5b');if(isAgentPaused(_0x4dc691))_0x29d9d1=_0x6c1c('0x56');else if(isAgentPaused(_0x4dc691,!![]))_0x29d9d1=_0x6c1c('0x5c');else if(isAgentIdle(_0x4dc691))_0x29d9d1=_0x6c1c('0x4b');else _0x29d9d1=_0x6c1c('0x3a');return _0x29d9d1;}exports['getAgents']=function(_0x165def,_0x468168){var _0x501f1b={'count':0x0,'rows':[]},_0x495aa7={},_0x69f90b,_0x1c6432,_0x3a2fef=[_0x6c1c('0x5d'),_0x6c1c('0x45'),_0x6c1c('0x5e'),_0x6c1c('0x5f'),'pauseType','lastPauseAt',_0x6c1c('0x41'),_0x6c1c('0x60'),_0x6c1c('0x61'),'openchannelPause','mailPause',_0x6c1c('0x51'),_0x6c1c('0x53'),'faxPause',_0x6c1c('0x52'),_0x6c1c('0x62'),_0x6c1c('0x63'),_0x6c1c('0x64'),_0x6c1c('0x65'),_0x6c1c('0x66'),'faxCapacity',_0x6c1c('0x67'),'openchannelCurrentCapacity',_0x6c1c('0x68'),_0x6c1c('0x69'),_0x6c1c('0x6a'),_0x6c1c('0x6b'),'chatStatus','openchannelStatus',_0x6c1c('0x59'),_0x6c1c('0x6c'),_0x6c1c('0x5a'),'faxStatus',_0x6c1c('0x55'),_0x6c1c('0x6d'),_0x6c1c('0x6e'),_0x6c1c('0x6f'),_0x6c1c('0x70'),_0x6c1c('0x71'),_0x6c1c('0x72'),'voiceStatusTime',_0x6c1c('0x3d'),'destconnectedlinenum',_0x6c1c('0x73'),_0x6c1c('0x74'),_0x6c1c('0x75'),_0x6c1c('0x76')],_0x58ac8d=['chatPause',_0x6c1c('0x77'),_0x6c1c('0x50'),_0x6c1c('0x51'),_0x6c1c('0x53'),_0x6c1c('0x4f'),_0x6c1c('0x52'),_0x6c1c('0x45')];Promise[_0x6c1c('0x78')]()[_0x6c1c('0x13')](function(){var _0x13963a=_[_0x6c1c('0x36')](db['User'][_0x6c1c('0x79')],function(_0x6b05c7){return{'name':_0x6b05c7[_0x6c1c('0x7a')],'type':_0x6b05c7[_0x6c1c('0x7b')][_0x6c1c('0x7c')]};});_0x165def['query'][_0x6c1c('0x7d')]=_0x6c1c('0x7e');_0x165def['query'][_0x6c1c('0x45')]=!![];_0x495aa7=qs[_0x6c1c('0x7f')](_0x13963a,_0x165def);_0x495aa7[_0x6c1c('0x80')]=!![];if(_0x165def['user'][_0x6c1c('0x7d')]===_0x6c1c('0x81')){var _0x1a9f88={'params':{'id':_0x165def[_0x6c1c('0x81')][_0x6c1c('0x82')]},'query':{'section':_0x6c1c('0x12'),'role':'agent','online':!![],'nolimit':_0x165def['query'][_0x6c1c('0x83')],'sort':_0x165def[_0x6c1c('0x84')]['sort'],'filter':_0x165def['query']['filter'],'raw':!![]}};return db[_0x6c1c('0x85')][_0x6c1c('0x86')](_0x1a9f88);}return db[_0x6c1c('0x87')][_0x6c1c('0x88')](_0x495aa7);})['then'](function(_0x13dfa3){_0x501f1b['count']=_0x13dfa3['count'];_0x69f90b=_0x13dfa3['rows'];return getRealtimeAgents();})[_0x6c1c('0x13')](function(_0x1e20a9){_0x1c6432=_0x1e20a9[_0x6c1c('0x89')];return _0x69f90b[_0x6c1c('0x36')](function(_0x10bfb4){var _0x376074=_['find'](_0x1c6432,['id',_0x10bfb4['id']]);if(_0x376074)_[_0x6c1c('0x16')](_0x10bfb4,_[_0x6c1c('0x3b')](_[_0x6c1c('0x8a')](_0x376074,_0x58ac8d),_0x3a2fef));_0x10bfb4['globalStatus']=getAgentStatus(_0x10bfb4);return _0x10bfb4;});})['then'](function(_0x4ea97d){if(_0x165def[_0x6c1c('0x84')][_0x6c1c('0x8b')]){var _0x5e7dd9=_[_0x6c1c('0x3c')](_0x4ea97d,['globalStatus',_0x165def[_0x6c1c('0x84')][_0x6c1c('0x8b')]]);if(_0x165def[_0x6c1c('0x84')][_0x6c1c('0x8c')]){_0x5e7dd9=_['filter'](_0x5e7dd9,[_0x6c1c('0x8d'),_0x165def[_0x6c1c('0x84')]['pauseTypeFilter']]);}}_0x501f1b['rows']=_0x5e7dd9||_0x4ea97d;return _0x501f1b;})[_0x6c1c('0x13')](respondWithFilteredResult(_0x468168,_0x495aa7))[_0x6c1c('0x1e')](handleError(_0x468168,null));};exports[_0x6c1c('0x8e')]=function(_0x52b1a6,_0x13f292){var _0x15148e=['mail','chat','sms','openchannel',_0x6c1c('0x8f'),'whatsapp',_0x6c1c('0x17')];var _0x384d83={'count':0x0,'rows':[]},_0xc19e0d={},_0x55d39f,_0x2b3600,_0x21a0b5,_0x1f25d1,_0x2822d1;Promise[_0x6c1c('0x78')]()['then'](function(){if(_0x52b1a6[_0x6c1c('0x84')]['channel']){if(!_[_0x6c1c('0x90')](_0x15148e,_0x52b1a6[_0x6c1c('0x84')][_0x6c1c('0x91')][_0x6c1c('0x92')]()))throw new Error(_0x6c1c('0x93'));_0x55d39f=_0x52b1a6[_0x6c1c('0x84')][_0x6c1c('0x91')][_0x6c1c('0x92')]();}var _0x57998b=_[_0x6c1c('0x18')](_0x55d39f)+'Queue';var _0x47b53d=_[_0x6c1c('0x36')](db[_0x57998b][_0x6c1c('0x79')],function(_0x350b9a){return{'name':_0x350b9a[_0x6c1c('0x7a')],'type':_0x350b9a['type'][_0x6c1c('0x7c')]};});_0xc19e0d=qs['getOptions'](_0x47b53d,_0x52b1a6);if(_0x52b1a6[_0x6c1c('0x81')]['role']===_0x6c1c('0x81')){var _0x23332d={'params':{'id':_0x52b1a6[_0x6c1c('0x81')]['userProfileId']},'query':{'section':_0x55d39f===_0x6c1c('0x17')&&_0x52b1a6[_0x6c1c('0x84')][_0x6c1c('0x7b')]==='outbound'?_0x6c1c('0x94'):_[_0x6c1c('0x18')](_0x55d39f)+_0x6c1c('0x19'),'type':_0x52b1a6[_0x6c1c('0x84')]['type'],'nolimit':!![],'sort':_0x6c1c('0xf'),'filter':_0x52b1a6[_0x6c1c('0x84')][_0x6c1c('0x3c')]}};return db[_0x6c1c('0x85')][_0x6c1c('0x86')](_0x23332d);}return db[_0x57998b]['findAndCountAll'](_0xc19e0d);})[_0x6c1c('0x13')](function(_0x3ca893){_0x384d83[_0x6c1c('0xa')]=_0x3ca893[_0x6c1c('0xa')];_0x2b3600=_0x3ca893['rows'];return getRealtimeQueues(_0x52b1a6,_0x55d39f);})[_0x6c1c('0x13')](function(_0x44d8c4){_0x1f25d1=_0x44d8c4[_0x6c1c('0x89')];return getRealtimeAgents();})['then'](function(_0x221b49){_0x21a0b5=_0x221b49[_0x6c1c('0x89')];if(_0x55d39f!='voice')return;return getRealtimeVoiceQueueChannels();})[_0x6c1c('0x13')](function(_0x50b56b){_0x2822d1=_0x50b56b?_0x50b56b[_0x6c1c('0x89')]:[];return initializeQueues(_0x2b3600,_0x1f25d1,_0x55d39f,_0x52b1a6[_0x6c1c('0x84')][_0x6c1c('0x7b')]);})[_0x6c1c('0x13')](function(_0x571ec4){var _0x3c52e6=_0x571ec4[_0x6c1c('0x36')](function(_0xfba0b0){if(_0x55d39f==='voice')return getVoiceQueueAgents(_0xfba0b0,_0x2b3600,_0x21a0b5,_0x2822d1);else return getQueueAgents(_0xfba0b0,_0x21a0b5,_0x55d39f);});return Promise[_0x6c1c('0x95')](_0x3c52e6);})[_0x6c1c('0x13')](function(_0x4361e5){_0x384d83[_0x6c1c('0x89')]=_0x4361e5;return _0x384d83;})['then'](respondWithFilteredResult(_0x13f292,_0xc19e0d))[_0x6c1c('0x1e')](handleError(_0x13f292,null));};
\ No newline at end of file
+var _0x9957=['client','http','offset','limit','undefined','count','status','set','json','error','stack','name','send','request','Agents','then','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','merge','startCase','Queues','Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues','result','catch','VoiceQueuesChannels','Unable\x20to\x20retrieve\x20voice\x20queues\x20channels','loggedIn','available','waiting','paused','outbound','push','pTalking','dialMethod','Trunk','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','dialPredictiveInterval','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','get','agents','loggedInDb','voice','find','pick','queue','length','busy','connectedlinenum','internal','toString','talking','getMembers','UserId','online','User','Queue','idle','unknown','unavailable','ringing','chatPause','mailPause','openchannelPause','smsPause','voicePause','whatsappPause','every','voiceStatus','chatStatus','faxStatus','openchannelStatus','smsStatus','whatsappStatus','*pause','fields','filter','includes','globalStatus','order','startsWith','DESC','ASC','sort','pause','pauseType','getAgents','userpic','lastLoginAt','lastPauseAt','address','chatCapacity','openchannelCapacity','smsCapacity','whatsappCapacity','faxCapacity','chatCurrentCapacity','openchannelCurrentCapacity','smsCurrentCapacity','faxCurrentCapacity','mailStatus','chatStatusTime','openchannelStatusTime','mailStatusTime','smsStatusTime','faxStatusTime','voiceStatusTime','destconnectedlinenum','screenrecording','routealias','resolve','query','join','map','rawAttributes','fieldName','type','key','agent','getOptions','user','role','userProfileId','nolimit','getResources','findAndCountAll','rows','omit','globalStatusFilter','pauseTypeFilter','mail','chat','sms','openchannel','fax','channel','Invalid\x20channel','toLowerCase','UserProfile','all','util','lodash','jayson/promise','../../components/parsers/qs','api','../../mysqldb'];(function(_0x123355,_0x329a59){var _0x167777=function(_0x4bb7b0){while(--_0x4bb7b0){_0x123355['push'](_0x123355['shift']());}};_0x167777(++_0x329a59);}(_0x9957,0x93));var _0x7995=function(_0xbca1b1,_0x33f0ce){_0xbca1b1=_0xbca1b1-0x0;var _0x4e1686=_0x9957[_0xbca1b1];return _0x4e1686;};'use strict';var util=require(_0x7995('0x0'));var _=require(_0x7995('0x1'));var jayson=require(_0x7995('0x2'));var qs=require(_0x7995('0x3'));var logger=require('../../config/logger')(_0x7995('0x4'));var db=require(_0x7995('0x5'))['db'];var amiClient=jayson[_0x7995('0x6')][_0x7995('0x7')]({'port':0x232a});var routingClient=jayson['client'][_0x7995('0x7')]({'port':0x232c});function respondWithFilteredResult(_0x1a36d8,_0x137b6b){return function(_0x219534){if(_0x219534){var _0xbda126=typeof _0x137b6b[_0x7995('0x8')]==='undefined'&&typeof _0x137b6b[_0x7995('0x9')]===_0x7995('0xa');var _0x4a64f7=_0x219534[_0x7995('0xb')];var _0x3116fb=_0xbda126?0x0:_0x137b6b[_0x7995('0x8')];var _0x35b5fe=_0xbda126?_0x219534[_0x7995('0xb')]:_0x137b6b[_0x7995('0x8')]+_0x137b6b[_0x7995('0x9')];var _0x524f7b;if(_0x35b5fe>=_0x4a64f7){_0x35b5fe=_0x4a64f7;_0x524f7b=0xc8;}else{_0x524f7b=0xce;}_0x1a36d8[_0x7995('0xc')](_0x524f7b);return _0x1a36d8[_0x7995('0xd')]('Content-Range',_0x3116fb+'-'+_0x35b5fe+'/'+_0x4a64f7)[_0x7995('0xe')](_0x219534);}return null;};}function handleError(_0x2cb37a,_0x19a27e){_0x19a27e=_0x19a27e||0x1f4;return function(_0x385f00){logger[_0x7995('0xf')](_0x385f00[_0x7995('0x10')]);if(_0x385f00[_0x7995('0x11')]){delete _0x385f00['name'];}_0x2cb37a['status'](_0x19a27e)[_0x7995('0x12')](_0x385f00);};}function getRealtimeAgents(){return new Promise(function(_0x2233dd,_0x24b5bb){return amiClient[_0x7995('0x13')](_0x7995('0x14'),{})[_0x7995('0x15')](function(_0x2202ce){if(_0x2202ce[_0x7995('0xf')])throw new Error('Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)');var _0x2eeacc=_0x2202ce['result'];return routingClient[_0x7995('0x13')](_0x7995('0x14'),{})[_0x7995('0x15')](function(_0x291317){if(_0x291317[_0x7995('0xf')])throw new Error(_0x7995('0x16'));var _0x4faa60=_0x291317['result'];return _0x2233dd(_[_0x7995('0x17')]({},_0x2eeacc,_0x4faa60));});})['catch'](function(_0x555f74){_0x24b5bb(_0x555f74);});});}function getRealtimeQueues(_0x3ec178,_0x3d463e){return new Promise(function(_0x4cbe10,_0x3a9b54){var _0x51f276=_0x3d463e==='voice'?amiClient:routingClient;return _0x51f276[_0x7995('0x13')](_[_0x7995('0x18')](_0x3d463e)+_0x7995('0x19'),_0x3ec178)[_0x7995('0x15')](function(_0x460924){if(_0x460924[_0x7995('0xf')])throw new Error(util['format'](_0x7995('0x1a'),_0x3d463e));return _0x4cbe10(_0x460924[_0x7995('0x1b')]);})[_0x7995('0x1c')](function(_0x285437){_0x3a9b54(_0x285437);});});}function getRealtimeVoiceQueueChannels(){return new Promise(function(_0x563799,_0x13bc35){return amiClient[_0x7995('0x13')](_0x7995('0x1d'),{})['then'](function(_0x39df42){if(_0x39df42[_0x7995('0xf')])throw new Error(_0x7995('0x1e'));return _0x563799(_0x39df42[_0x7995('0x1b')]);})[_0x7995('0x1c')](function(_0x2a307e){_0x13bc35(_0x2a307e);});});}function initializeQueues(_0x56691a,_0x47625f,_0x5911c3,_0x229742){var _0x49bc7e=[_0x7995('0x1f'),_0x7995('0x20'),_0x7995('0x21'),'talking',_0x7995('0x22')];if(_0x5911c3==='voice'&&_0x229742===_0x7995('0x23')){_0x49bc7e[_0x7995('0x24')](_0x7995('0x25'),'originated','message','dialActive',_0x7995('0x26'),_0x7995('0x27'),_0x7995('0x28'),_0x7995('0x29'),_0x7995('0x2a'),_0x7995('0x2b'),'erlangAbandonmentRate','erlangBusyFactor',_0x7995('0x2c'),'dialPredictiveIntervalMaxThreshold',_0x7995('0x2d'),_0x7995('0x2e'),_0x7995('0x2f'),_0x7995('0x30'),_0x7995('0x31'),'predictiveIntervalDroppedCallsCallersExit',_0x7995('0x32'),_0x7995('0x33'));}return _0x56691a['map'](function(_0x48db25){var _0x577412=_0x48db25[_0x7995('0x34')]({'plain':!![]});_0x577412[_0x7995('0x35')]=[];_0x577412['paused']=0x0;_0x577412[_0x7995('0x36')]=0x0;_0x577412['loggedIn']=0x0;_0x577412[_0x7995('0x20')]=0x0;_0x577412[_0x7995('0x21')]=0x0;if(_0x5911c3===_0x7995('0x37')){_0x577412['talking']=0x0;_0x577412['busy']=0x0;if(_0x229742===_0x7995('0x23')){_0x577412['pTalking']=0x0;_0x577412['originated']=0x0;}}var _0x3e99cd=_[_0x7995('0x38')](_0x47625f,['id',_0x577412['id']]);if(_0x3e99cd)_['merge'](_0x577412,_[_0x7995('0x39')](_0x3e99cd,_0x49bc7e));return _0x577412;});}function updateAgentVoiceStatus(_0x1922b4,_0x2b772f,_0x18667c){var _0x1e3dbf=_['filter'](_0x18667c,[_0x7995('0x3a'),_0x2b772f[_0x7995('0x11')]]);if(_0x1e3dbf[_0x7995('0x3b')]===0x0)return _0x1922b4[_0x7995('0x3c')]=!![];if(_['some'](_0x1e3dbf,[_0x7995('0x3d'),_0x1922b4[_0x7995('0x3e')][_0x7995('0x3f')]()]))return _0x1922b4[_0x7995('0x40')]=!![];if(!_0x1922b4[_0x7995('0x40')])return _0x1922b4[_0x7995('0x3c')]=!![];}function getVoiceQueueAgents(_0x5688a1,_0x183a68,_0x3be298,_0x8a1be0){var _0x2ea47f=_[_0x7995('0x38')](_0x183a68,['id',_0x5688a1['id']]);if(!_0x2ea47f)return _0x5688a1;return _0x2ea47f[_0x7995('0x41')]({'raw':!![]})[_0x7995('0x15')](function(_0x270c0e){for(var _0x1234e1=0x0;_0x1234e1<_0x270c0e[_0x7995('0x3b')];_0x1234e1++){var _0x6fe77b=_[_0x7995('0x38')](_0x3be298,['id',_0x270c0e[_0x1234e1][_0x7995('0x42')]]);if(!_0x6fe77b){_0x6fe77b={'id':_0x270c0e[_0x1234e1]['UserId'],'name':_0x270c0e[_0x1234e1]['UserId'],'accountcode':'','online':![]};}var _0x334dff={'id':_0x6fe77b['id'],'name':_0x6fe77b[_0x7995('0x11')],'internal':_0x6fe77b['accountcode'],'online':Boolean(_0x6fe77b['online']),'paused':Boolean(_0x270c0e[_0x1234e1][_0x7995('0x22')])};if(_0x6fe77b['voiceStatus']==='talking')updateAgentVoiceStatus(_0x334dff,_0x5688a1,_0x8a1be0);if(_0x334dff[_0x7995('0x43')])_0x5688a1[_0x7995('0x36')]++;if(_0x334dff[_0x7995('0x3c')])_0x5688a1['busy']++;if(_0x334dff[_0x7995('0x22')]&&!_0x334dff['busy']&&!_0x334dff[_0x7995('0x40')])_0x5688a1['paused']++;_0x5688a1['agents'][_0x7995('0x24')](_0x334dff);}return _0x5688a1;});}function getQueueAgents(_0x403f54,_0xc04e5,_0x3f1c35){var _0x599ecb=_0x7995('0x44')+_[_0x7995('0x18')](_0x3f1c35)+_0x7995('0x45');var _0x6c7bec=_0x3f1c35+'Pause';return db[_0x599ecb]['findAll']({'where':{[_[_0x7995('0x18')](_0x3f1c35)+'QueueId']:_0x403f54['id']},'raw':!![]})[_0x7995('0x15')](function(_0x59c153){for(var _0x2f435e=0x0;_0x2f435e<_0x59c153['length'];_0x2f435e++){var _0x1e795e=_[_0x7995('0x38')](_0xc04e5,['id',_0x59c153[_0x2f435e]['UserId']]);if(!_0x1e795e){_0x1e795e={'id':_0x59c153[_0x2f435e][_0x7995('0x42')],'name':_0x59c153[_0x2f435e][_0x7995('0x42')],'online':![],['pauseField']:![]};}var _0x314145={'id':_0x1e795e['id'],'name':_0x1e795e[_0x7995('0x11')],'online':Boolean(_0x1e795e['online']),'paused':Boolean(_0x1e795e[_0x6c7bec])};if(_0x314145[_0x7995('0x43')])_0x403f54[_0x7995('0x36')]++;_0x403f54[_0x7995('0x35')]['push'](_0x314145);}return _0x403f54;});}function isIdle(_0xe228a5){return _0xe228a5===_0x7995('0x46')||_0xe228a5===_0x7995('0x47')||_0xe228a5===_0x7995('0x48')||_0xe228a5===_0x7995('0x49')||_['isNil'](_0xe228a5);}function isAgentPaused(_0x1a5cec,_0xfb72b2){var _0x5921b9=[_0x1a5cec[_0x7995('0x4a')],_0x1a5cec['faxPause'],_0x1a5cec[_0x7995('0x4b')],_0x1a5cec[_0x7995('0x4c')],_0x1a5cec[_0x7995('0x4d')],_0x1a5cec[_0x7995('0x4e')],_0x1a5cec[_0x7995('0x4f')]];if(!_0xfb72b2)return _[_0x7995('0x50')](_0x5921b9);var _0x1579b9=_['filter'](_0x5921b9);return _0x1579b9[_0x7995('0x3b')]>0x0&&_0x1579b9[_0x7995('0x3b')]<_0x5921b9[_0x7995('0x3b')]?!![]:![];}function isAgentIdle(_0x4ffc8a){if(_0x4ffc8a[_0x7995('0x51')]!==_0x7995('0x46')&&_0x4ffc8a[_0x7995('0x4e')]){_0x4ffc8a['voiceStatus']='pause';return![];}return _['every']([_0x4ffc8a[_0x7995('0x52')],_0x4ffc8a[_0x7995('0x53')],_0x4ffc8a['mailStatus'],_0x4ffc8a[_0x7995('0x54')],_0x4ffc8a[_0x7995('0x55')],_0x4ffc8a[_0x7995('0x51')],_0x4ffc8a[_0x7995('0x56')]],isIdle);}function getAgentStatus(_0xc04004){var _0x528c8e=_0x7995('0x47');if(isAgentPaused(_0xc04004))_0x528c8e='pause';else if(isAgentPaused(_0xc04004,!![]))_0x528c8e=_0x7995('0x57');else if(isAgentIdle(_0xc04004))_0x528c8e=_0x7995('0x46');else _0x528c8e=_0x7995('0x3c');return _0x528c8e;}function getUpdatedSortOptions(_0x50c7b5){var _0x5e1f34={'fields':[],'order':null};var _0x54e2b1=_0x50c7b5['split'](',');_0x5e1f34[_0x7995('0x58')]=_[_0x7995('0x59')](_0x54e2b1,function(_0x1a861c){if(!_0x1a861c[_0x7995('0x5a')](_0x7995('0x5b')))return!![];_0x5e1f34[_0x7995('0x5c')]=_[_0x7995('0x5d')](_0x1a861c,'-')?_0x7995('0x5e'):_0x7995('0x5f');return![];});return _0x5e1f34;}function orderAgentsByStatus(_0x17ecd3,_0xa7af8c){return _0x17ecd3[_0x7995('0x60')](function(_0x3da72b,_0x35bea3){if(_0x3da72b[_0x7995('0x5b')]===_0x35bea3[_0x7995('0x5b')]&&_0x3da72b[_0x7995('0x5b')]===_0x7995('0x61')){if(_0xa7af8c===_0x7995('0x5e'))return(_0x3da72b['pauseType']||'')<(_0x35bea3[_0x7995('0x62')]||'')?0x1:-0x1;return _0x3da72b[_0x7995('0x62')]<_0x35bea3[_0x7995('0x62')]?-0x1:0x1;}else{if(_0xa7af8c===_0x7995('0x5e'))return _0x3da72b['globalStatus']<_0x35bea3['globalStatus']?0x1:-0x1;return _0x3da72b[_0x7995('0x5b')]<_0x35bea3[_0x7995('0x5b')]?-0x1:0x1;}});}exports[_0x7995('0x63')]=function(_0x332a85,_0x51c50b){var _0x13cd7b={'count':0x0,'rows':[]},_0x74ff38={},_0xef5044,_0x33c49c,_0x502d43,_0x5e2d97=[_0x7995('0x64'),_0x7995('0x43'),_0x7995('0x65'),_0x7995('0x66'),_0x7995('0x62'),_0x7995('0x66'),_0x7995('0x3e'),_0x7995('0x67'),'chatPause',_0x7995('0x4c'),_0x7995('0x4b'),_0x7995('0x4d'),_0x7995('0x4f'),'faxPause','voicePause',_0x7995('0x68'),_0x7995('0x69'),'mailCapacity',_0x7995('0x6a'),_0x7995('0x6b'),_0x7995('0x6c'),_0x7995('0x6d'),_0x7995('0x6e'),'mailCurrentCapacity',_0x7995('0x6f'),'whatsappCurrentCapacity',_0x7995('0x70'),_0x7995('0x52'),_0x7995('0x54'),_0x7995('0x71'),_0x7995('0x55'),_0x7995('0x56'),_0x7995('0x53'),_0x7995('0x51'),_0x7995('0x72'),_0x7995('0x73'),_0x7995('0x74'),_0x7995('0x75'),'whatsappStatusTime',_0x7995('0x76'),_0x7995('0x77'),_0x7995('0x3a'),_0x7995('0x78'),_0x7995('0x79'),'phoneBarEnableScreenRecordingByAgent','phoneBarEnableAutomaticScreenRecording',_0x7995('0x7a')],_0x40e5fc=[_0x7995('0x4a'),_0x7995('0x4c'),_0x7995('0x4b'),'smsPause',_0x7995('0x4f'),'faxPause','voicePause',_0x7995('0x43')];Promise[_0x7995('0x7b')]()[_0x7995('0x15')](function(){if(!_0x332a85[_0x7995('0x7c')][_0x7995('0x60')]||!_0x332a85[_0x7995('0x7c')][_0x7995('0x60')][_0x7995('0x5a')](_0x7995('0x5b')))return;var _0x2466df=getUpdatedSortOptions(_0x332a85['query'][_0x7995('0x60')]);_0x332a85[_0x7995('0x7c')][_0x7995('0x60')]=_0x2466df['fields'][_0x7995('0x7d')](',');_0xef5044=_0x2466df[_0x7995('0x5c')];})[_0x7995('0x15')](function(){var _0x3a7d9d=_[_0x7995('0x7e')](db[_0x7995('0x44')][_0x7995('0x7f')],function(_0x3adfd2){return{'name':_0x3adfd2[_0x7995('0x80')],'type':_0x3adfd2[_0x7995('0x81')][_0x7995('0x82')]};});_0x332a85['query']['role']=_0x7995('0x83');_0x332a85[_0x7995('0x7c')][_0x7995('0x43')]=!![];_0x74ff38=qs[_0x7995('0x84')](_0x3a7d9d,_0x332a85);_0x74ff38['raw']=!![];if(_0x332a85[_0x7995('0x85')][_0x7995('0x86')]==='user'){var _0x480fdb={'params':{'id':_0x332a85[_0x7995('0x85')][_0x7995('0x87')]},'query':{'section':'Agents','role':_0x7995('0x83'),'online':!![],'nolimit':_0x332a85['query'][_0x7995('0x88')],'sort':_0x332a85[_0x7995('0x7c')]['sort'],'filter':_0x332a85['query'][_0x7995('0x59')],'raw':!![]}};return db['UserProfile'][_0x7995('0x89')](_0x480fdb);}return db[_0x7995('0x44')][_0x7995('0x8a')](_0x74ff38);})[_0x7995('0x15')](function(_0x1a1873){_0x13cd7b[_0x7995('0xb')]=_0x1a1873[_0x7995('0xb')];_0x33c49c=_0x1a1873[_0x7995('0x8b')];return getRealtimeAgents();})[_0x7995('0x15')](function(_0x117317){_0x502d43=_0x117317[_0x7995('0x8b')];return _0x33c49c[_0x7995('0x7e')](function(_0x10a2f5){var _0x1ff436=_[_0x7995('0x38')](_0x502d43,['id',_0x10a2f5['id']]);if(_0x1ff436)_[_0x7995('0x17')](_0x10a2f5,_[_0x7995('0x39')](_[_0x7995('0x8c')](_0x1ff436,_0x40e5fc),_0x5e2d97));_0x10a2f5[_0x7995('0x5b')]=getAgentStatus(_0x10a2f5);return _0x10a2f5;});})[_0x7995('0x15')](function(_0x306fa9){var _0x1e8dad;if(_0x332a85[_0x7995('0x7c')][_0x7995('0x8d')]){_0x1e8dad=_[_0x7995('0x59')](_0x306fa9,[_0x7995('0x5b'),_0x332a85[_0x7995('0x7c')][_0x7995('0x8d')]]);if(_0x332a85['query'][_0x7995('0x8e')]){_0x1e8dad=_[_0x7995('0x59')](_0x1e8dad,['pauseType',_0x332a85['query'][_0x7995('0x8e')]]);}}if(_0x1e8dad)_0x306fa9=_0x1e8dad;if(!_0xef5044)return _0x306fa9;return orderAgentsByStatus(_0x306fa9,_0xef5044);})[_0x7995('0x15')](function(_0x2d45d5){_0x13cd7b[_0x7995('0x8b')]=_0x2d45d5;return _0x13cd7b;})[_0x7995('0x15')](respondWithFilteredResult(_0x51c50b,_0x74ff38))[_0x7995('0x1c')](handleError(_0x51c50b,null));};exports['getQueues']=function(_0x2f8a2d,_0xb68962){var _0x3fea6a=[_0x7995('0x8f'),_0x7995('0x90'),_0x7995('0x91'),_0x7995('0x92'),_0x7995('0x93'),'whatsapp',_0x7995('0x37')];var _0x2b8217={'count':0x0,'rows':[]},_0x5c04c9={},_0x479271,_0xd24c64,_0xf8c2ed,_0x18e1a2,_0x3db7a9;Promise[_0x7995('0x7b')]()['then'](function(){if(_0x2f8a2d[_0x7995('0x7c')][_0x7995('0x94')]){if(!_['includes'](_0x3fea6a,_0x2f8a2d[_0x7995('0x7c')][_0x7995('0x94')]['toLowerCase']()))throw new Error(_0x7995('0x95'));_0x479271=_0x2f8a2d['query'][_0x7995('0x94')][_0x7995('0x96')]();}var _0x3ab421=_[_0x7995('0x18')](_0x479271)+_0x7995('0x45');var _0x5d16da=_[_0x7995('0x7e')](db[_0x3ab421][_0x7995('0x7f')],function(_0x38b37f){return{'name':_0x38b37f['fieldName'],'type':_0x38b37f[_0x7995('0x81')][_0x7995('0x82')]};});_0x5c04c9=qs[_0x7995('0x84')](_0x5d16da,_0x2f8a2d);if(_0x2f8a2d[_0x7995('0x85')]['role']===_0x7995('0x85')){var _0xf59a39={'params':{'id':_0x2f8a2d[_0x7995('0x85')]['userProfileId']},'query':{'section':_0x479271==='voice'&&_0x2f8a2d[_0x7995('0x7c')][_0x7995('0x81')]==='outbound'?'QueueCampaigns':_[_0x7995('0x18')](_0x479271)+_0x7995('0x19'),'type':_0x2f8a2d[_0x7995('0x7c')][_0x7995('0x81')],'nolimit':!![],'sort':_0x7995('0x11'),'filter':_0x2f8a2d['query']['filter']}};return db[_0x7995('0x97')]['getResources'](_0xf59a39);}return db[_0x3ab421]['findAndCountAll'](_0x5c04c9);})[_0x7995('0x15')](function(_0x3b731e){_0x2b8217[_0x7995('0xb')]=_0x3b731e['count'];_0xd24c64=_0x3b731e[_0x7995('0x8b')];return getRealtimeQueues(_0x2f8a2d,_0x479271);})[_0x7995('0x15')](function(_0x2b0b79){_0x18e1a2=_0x2b0b79[_0x7995('0x8b')];return getRealtimeAgents();})[_0x7995('0x15')](function(_0x5799d1){_0xf8c2ed=_0x5799d1[_0x7995('0x8b')];if(_0x479271!=_0x7995('0x37'))return;return getRealtimeVoiceQueueChannels();})[_0x7995('0x15')](function(_0x14b942){_0x3db7a9=_0x14b942?_0x14b942['rows']:[];return initializeQueues(_0xd24c64,_0x18e1a2,_0x479271,_0x2f8a2d[_0x7995('0x7c')][_0x7995('0x81')]);})['then'](function(_0x310272){var _0x20683e=_0x310272['map'](function(_0x135f7a){if(_0x479271==='voice')return getVoiceQueueAgents(_0x135f7a,_0xd24c64,_0xf8c2ed,_0x3db7a9);else return getQueueAgents(_0x135f7a,_0xf8c2ed,_0x479271);});return Promise[_0x7995('0x98')](_0x20683e);})['then'](function(_0x21f496){_0x2b8217['rows']=_0x21f496;return _0x2b8217;})[_0x7995('0x15')](respondWithFilteredResult(_0xb68962,_0x5c04c9))[_0x7995('0x1c')](handleError(_0xb68962,null));};
\ No newline at end of file