5fb9a983acf4c17b1ab73225984d85865d934426
[motion2.git] / server / api / realtime / realtime.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xc5aa=['Agents','then','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(Routing)','result','catch','startCase','Queues','Unable\x20to\x20retrieve\x20voice\x20queues\x20channels','available','waiting','paused','voice','outbound','push','pTalking','originated','message','dialActive','Trunk','startProgressive','erlangCalls','erlangCallToSecond','erlangAbandonmentRate','erlangBusyFactor','dialPredictiveInterval','dialPredictiveIntervalMaxThreshold','dialPredictiveIntervalMinThreshold','predictiveIntervalAvailable','predictiveIntervalTotalCalls','predictiveIntervalAnsweredCalls','predictiveIntervalDroppedCallsTimeout','predictiveIntervalDroppedCallsCallersExit','predictiveIntervalAvgHoldtime','predictiveIntervalAvgTalktime','map','get','loggedInDb','talking','busy','merge','pick','filter','length','some','connectedlinenum','internal','find','getMembers','UserId','voiceStatus','agents','Queue','findAll','QueueId','online','idle','unknown','unavailable','ringing','faxPause','mailPause','openchannelPause','smsPause','voicePause','whatsappPause','every','pause','chatStatus','faxStatus','mailStatus','smsStatus','whatsappStatus','*pause','mail','chat','sms','openchannel','fax','whatsapp','toLowerCase','Invalid\x20channel','isArray','findOne','all','flatten','uniq','value','split','fields','includes','globalStatus','order','DESC','sort','pauseType','getAgents','lastLoginAt','lastPauseAt','address','chatPause','chatCapacity','openchannelCapacity','mailCapacity','smsCapacity','whatsappCapacity','faxCapacity','chatCurrentCapacity','openchannelCurrentCapacity','mailCurrentCapacity','smsCurrentCapacity','whatsappCurrentCapacity','faxCurrentCapacity','chatStatusTime','openchannelStatusTime','mailStatusTime','smsStatusTime','whatsappStatusTime','voiceStatusTime','queue','phoneBarEnableScreenRecordingByAgent','phoneBarEnableAutomaticScreenRecording','routealias','resolve','query','channel','globalQueueFilter','User','rawAttributes','fieldName','type','key','role','agent','getOptions','raw','where','user','userProfileId','nolimit','UserProfile','getResources','findAndCountAll','rows','omit','globalStatusFilter','pauseTypeFilter','getQueues','QueueCampaigns','util','lodash','jayson/promise','../../components/parsers/qs','../../config/logger','api','client','http','offset','undefined','limit','count','status','set','Content-Range','json','error','stack','name','request','Unable\x20to\x20retrieve\x20RPC\x20agents\x20(AMI)'];(function(_0x561098,_0xdd1933){var _0x42701a=function(_0x2ab50f){while(--_0x2ab50f){_0x561098['push'](_0x561098['shift']());}};_0x42701a(++_0xdd1933);}(_0xc5aa,0x1e6));var _0xac5a=function(_0x414851,_0x1c0559){_0x414851=_0x414851-0x0;var _0x511816=_0xc5aa[_0x414851];return _0x511816;};'use strict';var util=require(_0xac5a('0x0'));var _=require(_0xac5a('0x1'));var jayson=require(_0xac5a('0x2'));var qs=require(_0xac5a('0x3'));var logger=require(_0xac5a('0x4'))(_0xac5a('0x5'));var db=require('../../mysqldb')['db'];var amiClient=jayson[_0xac5a('0x6')][_0xac5a('0x7')]({'port':0x232a});var routingClient=jayson[_0xac5a('0x6')]['http']({'port':0x232c});function respondWithFilteredResult(_0x14b09c,_0x278b11){return function(_0x45e6d1){if(_0x45e6d1){var _0x1d9f71=typeof _0x278b11[_0xac5a('0x8')]===_0xac5a('0x9')&&typeof _0x278b11[_0xac5a('0xa')]===_0xac5a('0x9');var _0x6a4907=_0x45e6d1[_0xac5a('0xb')];var _0x165fc3=_0x1d9f71?0x0:_0x278b11['offset'];var _0x36bf20=_0x1d9f71?_0x45e6d1[_0xac5a('0xb')]:_0x278b11[_0xac5a('0x8')]+_0x278b11['limit'];var _0x119d0c;if(_0x36bf20>=_0x6a4907){_0x36bf20=_0x6a4907;_0x119d0c=0xc8;}else{_0x119d0c=0xce;}_0x14b09c[_0xac5a('0xc')](_0x119d0c);return _0x14b09c[_0xac5a('0xd')](_0xac5a('0xe'),_0x165fc3+'-'+_0x36bf20+'/'+_0x6a4907)[_0xac5a('0xf')](_0x45e6d1);}return null;};}function handleError(_0x26a421,_0x4fa6cf){_0x4fa6cf=_0x4fa6cf||0x1f4;return function(_0x4e5027){logger[_0xac5a('0x10')](_0x4e5027[_0xac5a('0x11')]);if(_0x4e5027[_0xac5a('0x12')]){delete _0x4e5027[_0xac5a('0x12')];}_0x26a421['status'](_0x4fa6cf)['send'](_0x4e5027);};}function getRealtimeAgents(){return new Promise(function(_0x387474,_0x310c30){return amiClient[_0xac5a('0x13')]('Agents',{})['then'](function(_0x583b8a){if(_0x583b8a[_0xac5a('0x10')])throw new Error(_0xac5a('0x14'));var _0x5bfb98=_0x583b8a['result'];return routingClient[_0xac5a('0x13')](_0xac5a('0x15'),{})[_0xac5a('0x16')](function(_0x1c81dd){if(_0x1c81dd[_0xac5a('0x10')])throw new Error(_0xac5a('0x17'));var _0x115ef3=_0x1c81dd[_0xac5a('0x18')];return _0x387474(_['merge']({},_0x5bfb98,_0x115ef3));});})[_0xac5a('0x19')](function(_0x566501){_0x310c30(_0x566501);});});}function getRealtimeQueues(_0x49bc45,_0x309a46){return new Promise(function(_0x5f40a3,_0x46a11c){var _0x222fd0=_0x309a46==='voice'?amiClient:routingClient;return _0x222fd0['request'](_[_0xac5a('0x1a')](_0x309a46)+_0xac5a('0x1b'),_0x49bc45)[_0xac5a('0x16')](function(_0x4f9548){if(_0x4f9548[_0xac5a('0x10')])throw new Error(util['format']('Unable\x20to\x20retrieve\x20RPC\x20%s\x20queues',_0x309a46));return _0x5f40a3(_0x4f9548[_0xac5a('0x18')]);})[_0xac5a('0x19')](function(_0x21b074){_0x46a11c(_0x21b074);});});}function getRealtimeVoiceQueueChannels(){return new Promise(function(_0x537c95,_0x33dfc1){return amiClient[_0xac5a('0x13')]('VoiceQueuesChannels',{})[_0xac5a('0x16')](function(_0x2d0e17){if(_0x2d0e17['error'])throw new Error(_0xac5a('0x1c'));return _0x537c95(_0x2d0e17[_0xac5a('0x18')]);})[_0xac5a('0x19')](function(_0x358a3a){_0x33dfc1(_0x358a3a);});});}function initializeQueues(_0x2f1100,_0x1533fa,_0x9de8ee,_0x2853ed){var _0x219a1a=['loggedIn',_0xac5a('0x1d'),_0xac5a('0x1e'),'talking',_0xac5a('0x1f')];if(_0x9de8ee===_0xac5a('0x20')&&_0x2853ed===_0xac5a('0x21')){_0x219a1a[_0xac5a('0x22')](_0xac5a('0x23'),_0xac5a('0x24'),_0xac5a('0x25'),_0xac5a('0x26'),'dialMethod',_0xac5a('0x27'),'startPredictive',_0xac5a('0x28'),_0xac5a('0x29'),_0xac5a('0x2a'),_0xac5a('0x2b'),_0xac5a('0x2c'),_0xac5a('0x2d'),_0xac5a('0x2e'),_0xac5a('0x2f'),_0xac5a('0x30'),_0xac5a('0x31'),_0xac5a('0x32'),_0xac5a('0x33'),_0xac5a('0x34'),_0xac5a('0x35'),_0xac5a('0x36'));}return _0x2f1100[_0xac5a('0x37')](function(_0x1077cf){var _0x16a433=_0x1077cf[_0xac5a('0x38')]({'plain':!![]});_0x16a433['agents']=[];_0x16a433[_0xac5a('0x1f')]=0x0;_0x16a433[_0xac5a('0x39')]=0x0;_0x16a433['loggedIn']=0x0;_0x16a433[_0xac5a('0x1d')]=0x0;_0x16a433[_0xac5a('0x1e')]=0x0;if(_0x9de8ee===_0xac5a('0x20')){_0x16a433[_0xac5a('0x3a')]=0x0;_0x16a433[_0xac5a('0x3b')]=0x0;if(_0x2853ed===_0xac5a('0x21')){_0x16a433[_0xac5a('0x23')]=0x0;_0x16a433['originated']=0x0;}}var _0x4cd2ce=_['find'](_0x1533fa,['id',_0x16a433['id']]);if(_0x4cd2ce)_[_0xac5a('0x3c')](_0x16a433,_[_0xac5a('0x3d')](_0x4cd2ce,_0x219a1a));return _0x16a433;});}function updateAgentVoiceStatus(_0x40f25e,_0x361618,_0x267904){var _0x221091=_[_0xac5a('0x3e')](_0x267904,['queue',_0x361618['name']]);if(_0x221091[_0xac5a('0x3f')]===0x0)return _0x40f25e[_0xac5a('0x3b')]=!![];if(_[_0xac5a('0x40')](_0x221091,[_0xac5a('0x41'),_0x40f25e[_0xac5a('0x42')]['toString']()]))return _0x40f25e[_0xac5a('0x3a')]=!![];if(!_0x40f25e[_0xac5a('0x3a')])return _0x40f25e[_0xac5a('0x3b')]=!![];}function getVoiceQueueAgents(_0x1818e7,_0x48531f,_0x59c31d,_0x5a434c){var _0x17fd5f=_[_0xac5a('0x43')](_0x48531f,['id',_0x1818e7['id']]);if(!_0x17fd5f)return _0x1818e7;return _0x17fd5f[_0xac5a('0x44')]({'raw':!![]})[_0xac5a('0x16')](function(_0x19bda5){for(var _0x3b8e19=0x0;_0x3b8e19<_0x19bda5[_0xac5a('0x3f')];_0x3b8e19++){var _0x32a63d=_[_0xac5a('0x43')](_0x59c31d,['id',_0x19bda5[_0x3b8e19]['UserId']]);if(!_0x32a63d){_0x32a63d={'id':_0x19bda5[_0x3b8e19][_0xac5a('0x45')],'name':_0x19bda5[_0x3b8e19]['UserId'],'accountcode':'','online':![]};}var _0x401e91={'id':_0x32a63d['id'],'name':_0x32a63d[_0xac5a('0x12')],'internal':_0x32a63d['accountcode'],'online':Boolean(_0x32a63d['online']),'paused':Boolean(_0x19bda5[_0x3b8e19]['paused'])};if(_0x32a63d[_0xac5a('0x46')]===_0xac5a('0x3a'))updateAgentVoiceStatus(_0x401e91,_0x1818e7,_0x5a434c);if(_0x401e91['online'])_0x1818e7[_0xac5a('0x39')]++;if(_0x401e91[_0xac5a('0x3b')])_0x1818e7['busy']++;if(_0x401e91[_0xac5a('0x1f')]&&!_0x401e91['busy']&&!_0x401e91[_0xac5a('0x3a')])_0x1818e7[_0xac5a('0x1f')]++;_0x1818e7[_0xac5a('0x47')][_0xac5a('0x22')](_0x401e91);}return _0x1818e7;});}function getQueueAgents(_0x27e597,_0x38f930,_0x3712de){var _0x47dd4f='User'+_[_0xac5a('0x1a')](_0x3712de)+_0xac5a('0x48');var _0x46039f=_0x3712de+'Pause';return db[_0x47dd4f][_0xac5a('0x49')]({'where':{[_[_0xac5a('0x1a')](_0x3712de)+_0xac5a('0x4a')]:_0x27e597['id']},'raw':!![]})[_0xac5a('0x16')](function(_0x5cf061){for(var _0x2a7bf3=0x0;_0x2a7bf3<_0x5cf061['length'];_0x2a7bf3++){var _0x49e387=_[_0xac5a('0x43')](_0x38f930,['id',_0x5cf061[_0x2a7bf3][_0xac5a('0x45')]]);if(!_0x49e387){_0x49e387={'id':_0x5cf061[_0x2a7bf3]['UserId'],'name':_0x5cf061[_0x2a7bf3][_0xac5a('0x45')],'online':![],['pauseField']:![]};}var _0x22090f={'id':_0x49e387['id'],'name':_0x49e387[_0xac5a('0x12')],'online':Boolean(_0x49e387[_0xac5a('0x4b')]),'paused':Boolean(_0x49e387[_0x46039f])};if(_0x22090f['online'])_0x27e597[_0xac5a('0x39')]++;_0x27e597[_0xac5a('0x47')][_0xac5a('0x22')](_0x22090f);}return _0x27e597;});}function isIdle(_0x3541b2){return _0x3541b2===_0xac5a('0x4c')||_0x3541b2===_0xac5a('0x4d')||_0x3541b2===_0xac5a('0x4e')||_0x3541b2===_0xac5a('0x4f')||_['isNil'](_0x3541b2);}function isAgentPaused(_0x132dd1,_0x3f277d){var _0x39cb8f=[_0x132dd1['chatPause'],_0x132dd1[_0xac5a('0x50')],_0x132dd1[_0xac5a('0x51')],_0x132dd1[_0xac5a('0x52')],_0x132dd1[_0xac5a('0x53')],_0x132dd1[_0xac5a('0x54')],_0x132dd1[_0xac5a('0x55')]];if(!_0x3f277d)return _[_0xac5a('0x56')](_0x39cb8f);var _0x147204=_[_0xac5a('0x3e')](_0x39cb8f);return _0x147204['length']>0x0&&_0x147204[_0xac5a('0x3f')]<_0x39cb8f[_0xac5a('0x3f')]?!![]:![];}function isAgentIdle(_0x1e2683){if(_0x1e2683[_0xac5a('0x46')]!=='idle'&&_0x1e2683[_0xac5a('0x54')]){_0x1e2683[_0xac5a('0x46')]=_0xac5a('0x57');return![];}return _[_0xac5a('0x56')]([_0x1e2683[_0xac5a('0x58')],_0x1e2683[_0xac5a('0x59')],_0x1e2683[_0xac5a('0x5a')],_0x1e2683['openchannelStatus'],_0x1e2683[_0xac5a('0x5b')],_0x1e2683[_0xac5a('0x46')],_0x1e2683[_0xac5a('0x5c')]],isIdle);}function getAgentStatus(_0x3316ff){var _0x1cfcea=_0xac5a('0x4d');if(isAgentPaused(_0x3316ff))_0x1cfcea=_0xac5a('0x57');else if(isAgentPaused(_0x3316ff,!![]))_0x1cfcea=_0xac5a('0x5d');else if(isAgentIdle(_0x3316ff))_0x1cfcea='idle';else _0x1cfcea=_0xac5a('0x3b');return _0x1cfcea;}function validateChannel(_0x1a79ef){var _0x2a04f5=[_0xac5a('0x5e'),_0xac5a('0x5f'),_0xac5a('0x60'),_0xac5a('0x61'),_0xac5a('0x62'),_0xac5a('0x63'),_0xac5a('0x20')];if(!_['includes'](_0x2a04f5,_0x1a79ef[_0xac5a('0x64')]()))throw new Error(_0xac5a('0x65'));return _0x1a79ef[_0xac5a('0x64')]();}function getFilteredAgentIds(_0x842d4a,_0x4cdbcb){var _0x368efd=_[_0xac5a('0x66')](_0x842d4a)?_0x842d4a:[_0x842d4a];var _0x267116=_[_0xac5a('0x37')](_0x368efd,function(_0x2c9cd8){return db[_0x4cdbcb][_0xac5a('0x67')]({'where':{'name':_0x2c9cd8}})[_0xac5a('0x16')](function(_0x25267c){if(!_0x25267c)return[];return _0x25267c['getAgents']({'attributes':['id'],'raw':!![]});});});return Promise[_0xac5a('0x68')](_0x267116)[_0xac5a('0x16')](function(_0x14e9d6){var _0x5b0693=_(_0x14e9d6)[_0xac5a('0x69')]()[_0xac5a('0x37')]('id')[_0xac5a('0x6a')]()[_0xac5a('0x6b')]();return _0x5b0693;});}function getUpdatedSortOptions(_0x414649){var _0x25d760={'fields':[],'order':null};var _0x499d7b=_0x414649[_0xac5a('0x6c')](',');_0x25d760[_0xac5a('0x6d')]=_[_0xac5a('0x3e')](_0x499d7b,function(_0xaeb3f1){if(!_0xaeb3f1[_0xac5a('0x6e')](_0xac5a('0x6f')))return!![];_0x25d760[_0xac5a('0x70')]=_['startsWith'](_0xaeb3f1,'-')?_0xac5a('0x71'):'ASC';return![];});return _0x25d760;}function orderAgentsByStatus(_0x1408fa,_0x2b4058){return _0x1408fa[_0xac5a('0x72')](function(_0xcfe028,_0x2d005e){if(_0xcfe028[_0xac5a('0x6f')]===_0x2d005e[_0xac5a('0x6f')]&&_0xcfe028['globalStatus']===_0xac5a('0x57')){if(_0x2b4058===_0xac5a('0x71'))return(_0xcfe028[_0xac5a('0x73')]||'')<(_0x2d005e[_0xac5a('0x73')]||'')?0x1:-0x1;return _0xcfe028[_0xac5a('0x73')]<_0x2d005e[_0xac5a('0x73')]?-0x1:0x1;}else{if(_0x2b4058==='DESC')return _0xcfe028[_0xac5a('0x6f')]<_0x2d005e[_0xac5a('0x6f')]?0x1:-0x1;return _0xcfe028[_0xac5a('0x6f')]<_0x2d005e[_0xac5a('0x6f')]?-0x1:0x1;}});}exports[_0xac5a('0x74')]=function(_0x39bff1,_0xa9ca0e){var _0x3f0602={'count':0x0,'rows':[]},_0x4f3429={},_0x203356,_0x3297df,_0x17df81,_0x13bc19,_0x888828=['userpic',_0xac5a('0x4b'),_0xac5a('0x75'),_0xac5a('0x76'),'pauseType',_0xac5a('0x76'),_0xac5a('0x42'),_0xac5a('0x77'),_0xac5a('0x78'),_0xac5a('0x52'),_0xac5a('0x51'),'smsPause',_0xac5a('0x55'),_0xac5a('0x50'),'voicePause',_0xac5a('0x79'),_0xac5a('0x7a'),_0xac5a('0x7b'),_0xac5a('0x7c'),_0xac5a('0x7d'),_0xac5a('0x7e'),_0xac5a('0x7f'),_0xac5a('0x80'),_0xac5a('0x81'),_0xac5a('0x82'),_0xac5a('0x83'),_0xac5a('0x84'),'chatStatus','openchannelStatus','mailStatus',_0xac5a('0x5b'),_0xac5a('0x5c'),_0xac5a('0x59'),_0xac5a('0x46'),_0xac5a('0x85'),_0xac5a('0x86'),_0xac5a('0x87'),_0xac5a('0x88'),_0xac5a('0x89'),'faxStatusTime',_0xac5a('0x8a'),_0xac5a('0x8b'),'destconnectedlinenum','screenrecording',_0xac5a('0x8c'),_0xac5a('0x8d'),_0xac5a('0x8e')],_0x4d44af=[_0xac5a('0x78'),_0xac5a('0x52'),_0xac5a('0x51'),_0xac5a('0x53'),_0xac5a('0x55'),_0xac5a('0x50'),'voicePause',_0xac5a('0x4b')];Promise[_0xac5a('0x8f')]()[_0xac5a('0x16')](function(){if(_0x39bff1[_0xac5a('0x90')][_0xac5a('0x91')])_0x203356=validateChannel(_0x39bff1[_0xac5a('0x90')]['channel']);if(!_0x39bff1[_0xac5a('0x90')]['sort']||!_0x39bff1['query'][_0xac5a('0x72')]['includes'](_0xac5a('0x6f')))return;var _0x31c89a=getUpdatedSortOptions(_0x39bff1[_0xac5a('0x90')]['sort']);_0x39bff1[_0xac5a('0x90')]['sort']=_0x31c89a[_0xac5a('0x6d')]['join'](',');_0x3297df=_0x31c89a[_0xac5a('0x70')];})[_0xac5a('0x16')](function(){if(!_0x39bff1[_0xac5a('0x90')][_0xac5a('0x92')])return[];var _0x1c215b=_[_0xac5a('0x1a')](_0x203356)+'Queue';return getFilteredAgentIds(_0x39bff1['query'][_0xac5a('0x92')],_0x1c215b);})[_0xac5a('0x16')](function(_0x98e27b){var _0x324a02=_[_0xac5a('0x37')](db[_0xac5a('0x93')][_0xac5a('0x94')],function(_0x183582){return{'name':_0x183582[_0xac5a('0x95')],'type':_0x183582[_0xac5a('0x96')][_0xac5a('0x97')]};});_0x39bff1[_0xac5a('0x90')][_0xac5a('0x98')]=_0xac5a('0x99');_0x39bff1[_0xac5a('0x90')][_0xac5a('0x4b')]=!![];_0x4f3429=qs[_0xac5a('0x9a')](_0x324a02,_0x39bff1);_0x4f3429[_0xac5a('0x9b')]=!![];if(!_['isEmpty'](_0x98e27b)){_0x4f3429[_0xac5a('0x9c')]=_['merge'](_0x4f3429[_0xac5a('0x9c')],{'$and':[{'id':{'$in':_0x98e27b}}]});}else if(!_['isEmpty'](_0x39bff1[_0xac5a('0x90')][_0xac5a('0x92')])){return _0x3f0602;}if(_0x39bff1['user'][_0xac5a('0x98')]===_0xac5a('0x9d')){var _0x5cad2d={'params':{'id':_0x39bff1[_0xac5a('0x9d')][_0xac5a('0x9e')]},'query':{'section':'Agents','role':_0xac5a('0x99'),'online':!![],'nolimit':_0x39bff1[_0xac5a('0x90')][_0xac5a('0x9f')],'sort':_0x39bff1['query'][_0xac5a('0x72')],'filter':_0x39bff1[_0xac5a('0x90')][_0xac5a('0x3e')],'raw':!![],'ids':_0x98e27b}};return db[_0xac5a('0xa0')][_0xac5a('0xa1')](_0x5cad2d);}return db[_0xac5a('0x93')][_0xac5a('0xa2')](_0x4f3429);})[_0xac5a('0x16')](function(_0x22e10c){_0x3f0602['count']=_0x22e10c[_0xac5a('0xb')];_0x17df81=_0x22e10c[_0xac5a('0xa3')];return getRealtimeAgents();})[_0xac5a('0x16')](function(_0x5cc640){_0x13bc19=_0x5cc640[_0xac5a('0xa3')];return _0x17df81[_0xac5a('0x37')](function(_0x5830f3){var _0x1a4714=_['find'](_0x13bc19,['id',_0x5830f3['id']]);if(_0x1a4714)_['merge'](_0x5830f3,_[_0xac5a('0x3d')](_[_0xac5a('0xa4')](_0x1a4714,_0x4d44af),_0x888828));_0x5830f3['globalStatus']=getAgentStatus(_0x5830f3);return _0x5830f3;});})['then'](function(_0x1805c2){var _0x1bfe4a;if(_0x39bff1[_0xac5a('0x90')][_0xac5a('0xa5')]){_0x1bfe4a=_[_0xac5a('0x3e')](_0x1805c2,[_0xac5a('0x6f'),_0x39bff1[_0xac5a('0x90')][_0xac5a('0xa5')]]);if(_0x39bff1[_0xac5a('0x90')][_0xac5a('0xa6')]){_0x1bfe4a=_[_0xac5a('0x3e')](_0x1bfe4a,[_0xac5a('0x73'),_0x39bff1[_0xac5a('0x90')][_0xac5a('0xa6')]]);}}if(_0x1bfe4a)_0x1805c2=_0x1bfe4a;if(!_0x3297df)return _0x1805c2;return orderAgentsByStatus(_0x1805c2,_0x3297df);})[_0xac5a('0x16')](function(_0x13583f){_0x3f0602[_0xac5a('0xa3')]=_0x13583f;return _0x3f0602;})[_0xac5a('0x16')](respondWithFilteredResult(_0xa9ca0e,_0x4f3429))[_0xac5a('0x19')](handleError(_0xa9ca0e,null));};exports[_0xac5a('0xa7')]=function(_0x555a9a,_0x3efb21){var _0x2c1b34={'count':0x0,'rows':[]},_0x944659={},_0x29db9c,_0x11031f,_0x8f6297,_0x59b4fa,_0x5716ef;Promise[_0xac5a('0x8f')]()[_0xac5a('0x16')](function(){if(_0x555a9a[_0xac5a('0x90')][_0xac5a('0x91')])_0x29db9c=validateChannel(_0x555a9a['query'][_0xac5a('0x91')]);var _0x237e30=_[_0xac5a('0x1a')](_0x29db9c)+_0xac5a('0x48');var _0x552856=_['map'](db[_0x237e30][_0xac5a('0x94')],function(_0x44d4dc){return{'name':_0x44d4dc[_0xac5a('0x95')],'type':_0x44d4dc[_0xac5a('0x96')][_0xac5a('0x97')]};});_0x944659=qs['getOptions'](_0x552856,_0x555a9a);if(_0x555a9a[_0xac5a('0x9d')][_0xac5a('0x98')]==='user'){var _0x488dc9={'params':{'id':_0x555a9a['user'][_0xac5a('0x9e')]},'query':{'section':_0x29db9c===_0xac5a('0x20')&&_0x555a9a['query'][_0xac5a('0x96')]===_0xac5a('0x21')?_0xac5a('0xa8'):_[_0xac5a('0x1a')](_0x29db9c)+_0xac5a('0x1b'),'type':_0x555a9a['query'][_0xac5a('0x96')],'nolimit':!![],'sort':'name','filter':_0x555a9a[_0xac5a('0x90')]['filter']}};return db[_0xac5a('0xa0')][_0xac5a('0xa1')](_0x488dc9);}return db[_0x237e30][_0xac5a('0xa2')](_0x944659);})[_0xac5a('0x16')](function(_0x1bfecf){_0x2c1b34['count']=_0x1bfecf[_0xac5a('0xb')];_0x11031f=_0x1bfecf[_0xac5a('0xa3')];return getRealtimeQueues(_0x555a9a,_0x29db9c);})[_0xac5a('0x16')](function(_0x11d681){_0x59b4fa=_0x11d681[_0xac5a('0xa3')];return getRealtimeAgents();})[_0xac5a('0x16')](function(_0x31d924){_0x8f6297=_0x31d924[_0xac5a('0xa3')];if(_0x29db9c!=_0xac5a('0x20'))return;return getRealtimeVoiceQueueChannels();})[_0xac5a('0x16')](function(_0x2104b0){_0x5716ef=_0x2104b0?_0x2104b0['rows']:[];return initializeQueues(_0x11031f,_0x59b4fa,_0x29db9c,_0x555a9a[_0xac5a('0x90')][_0xac5a('0x96')]);})[_0xac5a('0x16')](function(_0x551cdf){var _0x478bfe=_0x551cdf[_0xac5a('0x37')](function(_0x366dfc){if(_0x29db9c===_0xac5a('0x20'))return getVoiceQueueAgents(_0x366dfc,_0x11031f,_0x8f6297,_0x5716ef);else return getQueueAgents(_0x366dfc,_0x8f6297,_0x29db9c);});return Promise[_0xac5a('0x68')](_0x478bfe);})[_0xac5a('0x16')](function(_0xea383a){_0x2c1b34[_0xac5a('0xa3')]=_0xea383a;return _0x2c1b34;})[_0xac5a('0x16')](respondWithFilteredResult(_0x3efb21,_0x944659))[_0xac5a('0x19')](handleError(_0x3efb21,null));};