Built motion from commit ab870f9e.|2.5.44
[motion2.git] / server / api / realtime / realtime.controller.js
index 8d2743d..18bbafe 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 _0x5fab=['pause','every','faxStatus','mailStatus','whatsappStatus','*pause','getAgents','lastLoginAt','lastPauseAt','pauseType','internal','address','mailPause','faxPause','chatCapacity','mailCapacity','smsCapacity','whatsappCapacity','faxCapacity','chatCurrentCapacity','openchannelCurrentCapacity','mailCurrentCapacity','whatsappCurrentCapacity','faxCurrentCapacity','openchannelStatus','chatStatusTime','openchannelStatusTime','mailStatusTime','smsStatusTime','whatsappStatusTime','faxStatusTime','voiceStatusTime','destconnectedlinenum','screenrecording','phoneBarEnableScreenRecordingByAgent','phoneBarEnableAutomaticScreenRecording','routealias','smsPause','resolve','fieldName','type','role','agent','query','getOptions','raw','user','userProfileId','nolimit','sort','UserProfile','getResources','findAndCountAll','rows','globalStatus','globalStatusFilter','pauseTypeFilter','getQueues','mail','sms','openchannel','fax','channel','includes','toLowerCase','rawAttributes','key','QueueCampaigns','all','util','lodash','../../components/parsers/qs','../../config/logger','api','../../mysqldb','client','http','offset','undefined','limit','count','status','set','Content-Range','json','error','name','send','request','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)','Agents','then','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','result','merge','catch','voice','startCase','Queues','format','VoiceQueuesChannels','Unable\x20to\x20retrieve\x20voice\x20queues\x20channels','loggedIn','available','waiting','talking','paused','outbound','push','pTalking','originated','message','dialActive','dialMethod','Trunk','startPredictive','startProgressive','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveInterval','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalTotalCalls','predictiveIntervalAvgHoldtime','map','get','agents','busy','pick','filter','queue','toString','find','UserId','accountcode','online','voiceStatus','User','Queue','QueueId','length','loggedInDb','idle','unknown','unavailable','ringing','isNil','chatPause','openchannelPause','voicePause','whatsappPause'];(function(_0x6acb69,_0xd36dbf){var _0x29a021=function(_0x374293){while(--_0x374293){_0x6acb69['push'](_0x6acb69['shift']());}};_0x29a021(++_0xd36dbf);}(_0x5fab,0x177));var _0xb5fa=function(_0x4e9df2,_0x36818e){_0x4e9df2=_0x4e9df2-0x0;var _0x9fe790=_0x5fab[_0x4e9df2];return _0x9fe790;};'use strict';var util=require(_0xb5fa('0x0'));var _=require(_0xb5fa('0x1'));var jayson=require('jayson/promise');var qs=require(_0xb5fa('0x2'));var logger=require(_0xb5fa('0x3'))(_0xb5fa('0x4'));var db=require(_0xb5fa('0x5'))['db'];var amiClient=jayson[_0xb5fa('0x6')][_0xb5fa('0x7')]({'port':0x232a});var routingClient=jayson[_0xb5fa('0x6')][_0xb5fa('0x7')]({'port':0x232c});function respondWithFilteredResult(_0x10361d,_0x44df89){return function(_0x4a0249){if(_0x4a0249){var _0x5d70f6=typeof _0x44df89[_0xb5fa('0x8')]===_0xb5fa('0x9')&&typeof _0x44df89[_0xb5fa('0xa')]==='undefined';var _0x410eff=_0x4a0249[_0xb5fa('0xb')];var _0x2cf4a5=_0x5d70f6?0x0:_0x44df89['offset'];var _0x5b5ea8=_0x5d70f6?_0x4a0249[_0xb5fa('0xb')]:_0x44df89[_0xb5fa('0x8')]+_0x44df89[_0xb5fa('0xa')];var _0x44e6c8;if(_0x5b5ea8>=_0x410eff){_0x5b5ea8=_0x410eff;_0x44e6c8=0xc8;}else{_0x44e6c8=0xce;}_0x10361d[_0xb5fa('0xc')](_0x44e6c8);return _0x10361d[_0xb5fa('0xd')](_0xb5fa('0xe'),_0x2cf4a5+'-'+_0x5b5ea8+'/'+_0x410eff)[_0xb5fa('0xf')](_0x4a0249);}return null;};}function handleError(_0x309740,_0x4d3576){_0x4d3576=_0x4d3576||0x1f4;return function(_0x2ad830){logger[_0xb5fa('0x10')](_0x2ad830['stack']);if(_0x2ad830[_0xb5fa('0x11')]){delete _0x2ad830['name'];}_0x309740[_0xb5fa('0xc')](_0x4d3576)[_0xb5fa('0x12')](_0x2ad830);};}function getRealtimeAgents(){return new Promise(function(_0x40c914,_0xca8d82){return amiClient[_0xb5fa('0x13')]('Agents',{})['then'](function(_0x38e964){if(_0x38e964[_0xb5fa('0x10')])throw new Error(_0xb5fa('0x14'));var _0x27c8f7=_0x38e964['result'];return routingClient['request'](_0xb5fa('0x15'),{})[_0xb5fa('0x16')](function(_0x32e9e5){if(_0x32e9e5[_0xb5fa('0x10')])throw new Error(_0xb5fa('0x17'));var _0x13e82b=_0x32e9e5[_0xb5fa('0x18')];return _0x40c914(_[_0xb5fa('0x19')]({},_0x27c8f7,_0x13e82b));});})[_0xb5fa('0x1a')](function(_0x368cb1){_0xca8d82(_0x368cb1);});});}function getRealtimeQueues(_0x3c8d53,_0x1f5064){return new Promise(function(_0x5cd822,_0x432bfa){var _0x519e20=_0x1f5064===_0xb5fa('0x1b')?amiClient:routingClient;return _0x519e20['request'](_[_0xb5fa('0x1c')](_0x1f5064)+_0xb5fa('0x1d'),_0x3c8d53)['then'](function(_0x40dfdf){if(_0x40dfdf[_0xb5fa('0x10')])throw new Error(util[_0xb5fa('0x1e')]('Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues',_0x1f5064));return _0x5cd822(_0x40dfdf[_0xb5fa('0x18')]);})[_0xb5fa('0x1a')](function(_0x444237){_0x432bfa(_0x444237);});});}function getRealtimeVoiceQueueChannels(){return new Promise(function(_0x542348,_0x224ec8){return amiClient['request'](_0xb5fa('0x1f'),{})[_0xb5fa('0x16')](function(_0x11053a){if(_0x11053a[_0xb5fa('0x10')])throw new Error(_0xb5fa('0x20'));return _0x542348(_0x11053a[_0xb5fa('0x18')]);})[_0xb5fa('0x1a')](function(_0x20d649){_0x224ec8(_0x20d649);});});}function initializeQueues(_0x568870,_0x4ec294,_0x5bdf11,_0x5a1c39){var _0x28a350=[_0xb5fa('0x21'),_0xb5fa('0x22'),_0xb5fa('0x23'),_0xb5fa('0x24'),_0xb5fa('0x25')];if(_0x5bdf11===_0xb5fa('0x1b')&&_0x5a1c39===_0xb5fa('0x26')){_0x28a350[_0xb5fa('0x27')](_0xb5fa('0x28'),_0xb5fa('0x29'),_0xb5fa('0x2a'),_0xb5fa('0x2b'),_0xb5fa('0x2c'),_0xb5fa('0x2d'),_0xb5fa('0x2e'),_0xb5fa('0x2f'),_0xb5fa('0x30'),_0xb5fa('0x31'),_0xb5fa('0x32'),_0xb5fa('0x33'),_0xb5fa('0x34'),_0xb5fa('0x35'),_0xb5fa('0x36'),'predictiveIntervalAvailable',_0xb5fa('0x37'),'predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit',_0xb5fa('0x38'),'predictiveIntervalAvgTalktime');}return _0x568870[_0xb5fa('0x39')](function(_0x5876f1){var _0x5518b1=_0x5876f1[_0xb5fa('0x3a')]({'plain':!![]});_0x5518b1[_0xb5fa('0x3b')]=[];_0x5518b1['paused']=0x0;_0x5518b1['loggedInDb']=0x0;_0x5518b1[_0xb5fa('0x21')]=0x0;_0x5518b1[_0xb5fa('0x22')]=0x0;_0x5518b1[_0xb5fa('0x23')]=0x0;if(_0x5bdf11==='voice'){_0x5518b1[_0xb5fa('0x24')]=0x0;_0x5518b1[_0xb5fa('0x3c')]=0x0;if(_0x5a1c39==='outbound'){_0x5518b1[_0xb5fa('0x28')]=0x0;_0x5518b1[_0xb5fa('0x29')]=0x0;}}var _0x204d6b=_['find'](_0x4ec294,['id',_0x5518b1['id']]);if(_0x204d6b)_[_0xb5fa('0x19')](_0x5518b1,_[_0xb5fa('0x3d')](_0x204d6b,_0x28a350));return _0x5518b1;});}function updateAgentVoiceStatus(_0x24ef11,_0x55bdb7,_0x117694){var _0x1c818f=_[_0xb5fa('0x3e')](_0x117694,[_0xb5fa('0x3f'),_0x55bdb7['name']]);if(_0x1c818f['length']===0x0)return _0x24ef11['busy']=!![];if(_['some'](_0x1c818f,['connectedlinenum',_0x24ef11['internal'][_0xb5fa('0x40')]()]))return _0x24ef11['talking']=!![];if(!_0x24ef11[_0xb5fa('0x24')])return _0x24ef11[_0xb5fa('0x3c')]=!![];}function getVoiceQueueAgents(_0x36db1a,_0x30b288,_0x40c1c0,_0x269d21){var _0x4b4c4c=_['find'](_0x30b288,['id',_0x36db1a['id']]);if(!_0x4b4c4c)return _0x36db1a;return _0x4b4c4c['getMembers']({'raw':!![]})[_0xb5fa('0x16')](function(_0x4d23f1){for(var _0x73d425=0x0;_0x73d425<_0x4d23f1['length'];_0x73d425++){var _0x58aa97=_[_0xb5fa('0x41')](_0x40c1c0,['id',_0x4d23f1[_0x73d425][_0xb5fa('0x42')]]);if(!_0x58aa97){_0x58aa97={'id':_0x4d23f1[_0x73d425][_0xb5fa('0x42')],'name':_0x4d23f1[_0x73d425][_0xb5fa('0x42')],'accountcode':'','online':![]};}var _0x5bc93f={'id':_0x58aa97['id'],'name':_0x58aa97[_0xb5fa('0x11')],'internal':_0x58aa97[_0xb5fa('0x43')],'online':Boolean(_0x58aa97[_0xb5fa('0x44')]),'paused':Boolean(_0x4d23f1[_0x73d425][_0xb5fa('0x25')])};if(_0x58aa97[_0xb5fa('0x45')]==='talking')updateAgentVoiceStatus(_0x5bc93f,_0x36db1a,_0x269d21);if(_0x5bc93f[_0xb5fa('0x44')])_0x36db1a['loggedInDb']++;if(_0x5bc93f[_0xb5fa('0x3c')])_0x36db1a[_0xb5fa('0x3c')]++;if(_0x5bc93f[_0xb5fa('0x25')]&&!_0x5bc93f[_0xb5fa('0x3c')]&&!_0x5bc93f[_0xb5fa('0x24')])_0x36db1a[_0xb5fa('0x25')]++;_0x36db1a[_0xb5fa('0x3b')][_0xb5fa('0x27')](_0x5bc93f);}return _0x36db1a;});}function getQueueAgents(_0x4da448,_0x1c3c2c,_0xc03e44){var _0x59ae64=_0xb5fa('0x46')+_['startCase'](_0xc03e44)+_0xb5fa('0x47');var _0x5ae45a=_0xc03e44+'Pause';return db[_0x59ae64]['findAll']({'where':{[_[_0xb5fa('0x1c')](_0xc03e44)+_0xb5fa('0x48')]:_0x4da448['id']},'raw':!![]})[_0xb5fa('0x16')](function(_0x19e662){for(var _0x430f46=0x0;_0x430f46<_0x19e662[_0xb5fa('0x49')];_0x430f46++){var _0x10f354=_[_0xb5fa('0x41')](_0x1c3c2c,['id',_0x19e662[_0x430f46]['UserId']]);if(!_0x10f354){_0x10f354={'id':_0x19e662[_0x430f46][_0xb5fa('0x42')],'name':_0x19e662[_0x430f46][_0xb5fa('0x42')],'online':![],['pauseField']:![]};}var _0x4e0fe7={'id':_0x10f354['id'],'name':_0x10f354[_0xb5fa('0x11')],'online':Boolean(_0x10f354[_0xb5fa('0x44')]),'paused':Boolean(_0x10f354[_0x5ae45a])};if(_0x4e0fe7[_0xb5fa('0x44')])_0x4da448[_0xb5fa('0x4a')]++;_0x4da448[_0xb5fa('0x3b')][_0xb5fa('0x27')](_0x4e0fe7);}return _0x4da448;});}function isIdle(_0x1e1c2){return _0x1e1c2===_0xb5fa('0x4b')||_0x1e1c2===_0xb5fa('0x4c')||_0x1e1c2===_0xb5fa('0x4d')||_0x1e1c2===_0xb5fa('0x4e')||_[_0xb5fa('0x4f')](_0x1e1c2);}function isAgentPaused(_0x6ae261,_0x23be4c){var _0x42a359=[_0x6ae261[_0xb5fa('0x50')],_0x6ae261['faxPause'],_0x6ae261['mailPause'],_0x6ae261[_0xb5fa('0x51')],_0x6ae261['smsPause'],_0x6ae261[_0xb5fa('0x52')],_0x6ae261[_0xb5fa('0x53')]];if(!_0x23be4c)return _['every'](_0x42a359);var _0x4ef1d0=_[_0xb5fa('0x3e')](_0x42a359);return _0x4ef1d0[_0xb5fa('0x49')]>0x0&&_0x4ef1d0[_0xb5fa('0x49')]<_0x42a359[_0xb5fa('0x49')]?!![]:![];}function isAgentIdle(_0x3ffee0){if(_0x3ffee0['voiceStatus']!==_0xb5fa('0x4b')&&_0x3ffee0['voicePause']){_0x3ffee0[_0xb5fa('0x45')]=_0xb5fa('0x54');return![];}return _[_0xb5fa('0x55')]([_0x3ffee0['chatStatus'],_0x3ffee0[_0xb5fa('0x56')],_0x3ffee0[_0xb5fa('0x57')],_0x3ffee0['openchannelStatus'],_0x3ffee0['smsStatus'],_0x3ffee0[_0xb5fa('0x45')],_0x3ffee0[_0xb5fa('0x58')]],isIdle);}function getAgentStatus(_0x320745){var _0x3ffdb5=_0xb5fa('0x4c');if(isAgentPaused(_0x320745))_0x3ffdb5=_0xb5fa('0x54');else if(isAgentPaused(_0x320745,!![]))_0x3ffdb5=_0xb5fa('0x59');else if(isAgentIdle(_0x320745))_0x3ffdb5=_0xb5fa('0x4b');else _0x3ffdb5=_0xb5fa('0x3c');return _0x3ffdb5;}exports[_0xb5fa('0x5a')]=function(_0x25de19,_0x35cf5a){var _0x3ccfd1={'count':0x0,'rows':[]},_0x2799e7={},_0x23f235,_0x42c34f,_0x10830a=['userpic',_0xb5fa('0x44'),_0xb5fa('0x5b'),_0xb5fa('0x5c'),_0xb5fa('0x5d'),_0xb5fa('0x5c'),_0xb5fa('0x5e'),_0xb5fa('0x5f'),_0xb5fa('0x50'),_0xb5fa('0x51'),_0xb5fa('0x60'),'smsPause','whatsappPause',_0xb5fa('0x61'),_0xb5fa('0x52'),_0xb5fa('0x62'),'openchannelCapacity',_0xb5fa('0x63'),_0xb5fa('0x64'),_0xb5fa('0x65'),_0xb5fa('0x66'),_0xb5fa('0x67'),_0xb5fa('0x68'),_0xb5fa('0x69'),'smsCurrentCapacity',_0xb5fa('0x6a'),_0xb5fa('0x6b'),'chatStatus',_0xb5fa('0x6c'),_0xb5fa('0x57'),'smsStatus',_0xb5fa('0x58'),_0xb5fa('0x56'),_0xb5fa('0x45'),_0xb5fa('0x6d'),_0xb5fa('0x6e'),_0xb5fa('0x6f'),_0xb5fa('0x70'),_0xb5fa('0x71'),_0xb5fa('0x72'),_0xb5fa('0x73'),_0xb5fa('0x3f'),_0xb5fa('0x74'),_0xb5fa('0x75'),_0xb5fa('0x76'),_0xb5fa('0x77'),_0xb5fa('0x78')],_0x24acea=[_0xb5fa('0x50'),_0xb5fa('0x51'),_0xb5fa('0x60'),_0xb5fa('0x79'),_0xb5fa('0x53'),_0xb5fa('0x61'),'voicePause',_0xb5fa('0x44')];Promise[_0xb5fa('0x7a')]()[_0xb5fa('0x16')](function(){var _0x580d1a=_[_0xb5fa('0x39')](db[_0xb5fa('0x46')]['rawAttributes'],function(_0x44fd4a){return{'name':_0x44fd4a[_0xb5fa('0x7b')],'type':_0x44fd4a[_0xb5fa('0x7c')]['key']};});_0x25de19['query'][_0xb5fa('0x7d')]=_0xb5fa('0x7e');_0x25de19[_0xb5fa('0x7f')]['online']=!![];_0x2799e7=qs[_0xb5fa('0x80')](_0x580d1a,_0x25de19);_0x2799e7[_0xb5fa('0x81')]=!![];if(_0x25de19[_0xb5fa('0x82')][_0xb5fa('0x7d')]==='user'){var _0x55000b={'params':{'id':_0x25de19['user'][_0xb5fa('0x83')]},'query':{'section':_0xb5fa('0x15'),'role':_0xb5fa('0x7e'),'online':!![],'nolimit':_0x25de19['query'][_0xb5fa('0x84')],'sort':_0x25de19[_0xb5fa('0x7f')][_0xb5fa('0x85')],'filter':_0x25de19[_0xb5fa('0x7f')][_0xb5fa('0x3e')],'raw':!![]}};return db[_0xb5fa('0x86')][_0xb5fa('0x87')](_0x55000b);}return db[_0xb5fa('0x46')][_0xb5fa('0x88')](_0x2799e7);})[_0xb5fa('0x16')](function(_0x3a1db9){_0x3ccfd1[_0xb5fa('0xb')]=_0x3a1db9[_0xb5fa('0xb')];_0x23f235=_0x3a1db9[_0xb5fa('0x89')];return getRealtimeAgents();})[_0xb5fa('0x16')](function(_0x5eeaa1){_0x42c34f=_0x5eeaa1[_0xb5fa('0x89')];return _0x23f235['map'](function(_0x47193c){var _0x209213=_[_0xb5fa('0x41')](_0x42c34f,['id',_0x47193c['id']]);if(_0x209213)_[_0xb5fa('0x19')](_0x47193c,_[_0xb5fa('0x3d')](_['omit'](_0x209213,_0x24acea),_0x10830a));_0x47193c[_0xb5fa('0x8a')]=getAgentStatus(_0x47193c);return _0x47193c;});})['then'](function(_0x77a831){if(_0x25de19[_0xb5fa('0x7f')][_0xb5fa('0x8b')]){var _0x394386=_['filter'](_0x77a831,['globalStatus',_0x25de19['query'][_0xb5fa('0x8b')]]);if(_0x25de19[_0xb5fa('0x7f')][_0xb5fa('0x8c')]){_0x394386=_[_0xb5fa('0x3e')](_0x394386,[_0xb5fa('0x5d'),_0x25de19[_0xb5fa('0x7f')]['pauseTypeFilter']]);}}_0x3ccfd1[_0xb5fa('0x89')]=_0x394386||_0x77a831;return _0x3ccfd1;})['then'](respondWithFilteredResult(_0x35cf5a,_0x2799e7))['catch'](handleError(_0x35cf5a,null));};exports[_0xb5fa('0x8d')]=function(_0x4cba86,_0x5d11bb){var _0x4e2253=[_0xb5fa('0x8e'),'chat',_0xb5fa('0x8f'),_0xb5fa('0x90'),_0xb5fa('0x91'),'whatsapp','voice'];var _0xb1fcac={'count':0x0,'rows':[]},_0x2abe24={},_0x4c70d1,_0x2d0c95,_0x3c7cb4,_0x244892,_0x2aaa2c;Promise['resolve']()[_0xb5fa('0x16')](function(){if(_0x4cba86[_0xb5fa('0x7f')][_0xb5fa('0x92')]){if(!_[_0xb5fa('0x93')](_0x4e2253,_0x4cba86[_0xb5fa('0x7f')][_0xb5fa('0x92')][_0xb5fa('0x94')]()))throw new Error('Invalid\x20channel');_0x4c70d1=_0x4cba86[_0xb5fa('0x7f')]['channel'][_0xb5fa('0x94')]();}var _0x45790c=_['startCase'](_0x4c70d1)+_0xb5fa('0x47');var _0x212d4e=_[_0xb5fa('0x39')](db[_0x45790c][_0xb5fa('0x95')],function(_0x3034b0){return{'name':_0x3034b0[_0xb5fa('0x7b')],'type':_0x3034b0[_0xb5fa('0x7c')][_0xb5fa('0x96')]};});_0x2abe24=qs['getOptions'](_0x212d4e,_0x4cba86);if(_0x4cba86[_0xb5fa('0x82')][_0xb5fa('0x7d')]===_0xb5fa('0x82')){var _0x20ffa1={'params':{'id':_0x4cba86['user']['userProfileId']},'query':{'section':_0x4c70d1==='voice'&&_0x4cba86['query'][_0xb5fa('0x7c')]===_0xb5fa('0x26')?_0xb5fa('0x97'):_[_0xb5fa('0x1c')](_0x4c70d1)+'Queues','type':_0x4cba86['query'][_0xb5fa('0x7c')],'nolimit':!![],'sort':'name','filter':_0x4cba86[_0xb5fa('0x7f')][_0xb5fa('0x3e')]}};return db[_0xb5fa('0x86')][_0xb5fa('0x87')](_0x20ffa1);}return db[_0x45790c]['findAndCountAll'](_0x2abe24);})[_0xb5fa('0x16')](function(_0x5c6b09){_0xb1fcac[_0xb5fa('0xb')]=_0x5c6b09[_0xb5fa('0xb')];_0x2d0c95=_0x5c6b09['rows'];return getRealtimeQueues(_0x4cba86,_0x4c70d1);})['then'](function(_0x391412){_0x244892=_0x391412[_0xb5fa('0x89')];return getRealtimeAgents();})[_0xb5fa('0x16')](function(_0x1bcca7){_0x3c7cb4=_0x1bcca7[_0xb5fa('0x89')];if(_0x4c70d1!=_0xb5fa('0x1b'))return;return getRealtimeVoiceQueueChannels();})[_0xb5fa('0x16')](function(_0x25b278){_0x2aaa2c=_0x25b278?_0x25b278[_0xb5fa('0x89')]:[];return initializeQueues(_0x2d0c95,_0x244892,_0x4c70d1,_0x4cba86[_0xb5fa('0x7f')][_0xb5fa('0x7c')]);})[_0xb5fa('0x16')](function(_0x86dfe9){var _0x53c7b5=_0x86dfe9['map'](function(_0x3dd9ab){if(_0x4c70d1==='voice')return getVoiceQueueAgents(_0x3dd9ab,_0x2d0c95,_0x3c7cb4,_0x2aaa2c);else return getQueueAgents(_0x3dd9ab,_0x3c7cb4,_0x4c70d1);});return Promise[_0xb5fa('0x98')](_0x53c7b5);})[_0xb5fa('0x16')](function(_0x502946){_0xb1fcac[_0xb5fa('0x89')]=_0x502946;return _0xb1fcac;})[_0xb5fa('0x16')](respondWithFilteredResult(_0x5d11bb,_0x2abe24))['catch'](handleError(_0x5d11bb,null));};
\ No newline at end of file