de5c61632b16c551c29d8967dd7d6307fdb1cf49
[motion2.git] / server / api / team / team.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 _0x5853=['SIP/%s','interface','all','spread','removeAgents','Mail','Openchannel','parse','Queue:remove','length','getAgents','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','ejs','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','./team.socket','sendStatus','status','json','count','offset','set','Content-Range','reject','save','destroy','then','get','Teams','UserProfileResource','end','error','stack','name','send','index','map','Team','rawAttributes','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','filter','includeAll','include','rows','show','params','keys','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','getQueues','findOne','channel','Sequelize','capitalize','toLowerCase','pick','Queues','addQueues','isValidChannel','ValidationError','Unknown\x20channel','add','ids','remove','addAgents','Voice','Chat','Whatsapp','sequelize','transaction','penalty','TeamVoiceQueue','User','Queue','emit','Queue:save','QueueId','findAll','online','voicePause','UserVoiceQueueRt','upsert','isNil','format'];(function(_0x55e6e1,_0x284e1a){var _0x205220=function(_0xc891c9){while(--_0xc891c9){_0x55e6e1['push'](_0x55e6e1['shift']());}};_0x205220(++_0x284e1a);}(_0x5853,0x113));var _0x3585=function(_0x1f9f5f,_0x509fb7){_0x1f9f5f=_0x1f9f5f-0x0;var _0x51d649=_0x5853[_0x1f9f5f];return _0x51d649;};'use strict';var pdf=require(_0x3585('0x0'));var emlformat=require(_0x3585('0x1'));var rimraf=require(_0x3585('0x2'));var zipdir=require(_0x3585('0x3'));var jsonpatch=require(_0x3585('0x4'));var rp=require('request-promise');var moment=require(_0x3585('0x5'));var BPromise=require(_0x3585('0x6'));var Mustache=require(_0x3585('0x7'));var util=require(_0x3585('0x8'));var path=require(_0x3585('0x9'));var sox=require(_0x3585('0xa'));var csv=require('to-csv');var ejs=require(_0x3585('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x3585('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x3585('0xd'));var toCsv=require(_0x3585('0xe'));var querystring=require(_0x3585('0xf'));var Papa=require(_0x3585('0x10'));var Redis=require(_0x3585('0x11'));var authService=require(_0x3585('0x12'));var qs=require(_0x3585('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3585('0x14'));var logger=require(_0x3585('0x15'))(_0x3585('0x16'));var utils=require(_0x3585('0x17'));var config=require(_0x3585('0x18'));var licenseUtil=require(_0x3585('0x19'));var db=require(_0x3585('0x1a'))['db'];config['redis']=_[_0x3585('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x3585('0x1c'))['register'](socket);function respondWithStatusCode(_0x16b42a,_0x1cfae3){_0x1cfae3=_0x1cfae3||0xcc;return function(_0x5434ee){if(_0x5434ee){return _0x16b42a[_0x3585('0x1d')](_0x1cfae3);}return _0x16b42a[_0x3585('0x1e')](_0x1cfae3)['end']();};}function respondWithResult(_0x366723,_0x10449b){_0x10449b=_0x10449b||0xc8;return function(_0x43c5d7){if(_0x43c5d7){return _0x366723[_0x3585('0x1e')](_0x10449b)[_0x3585('0x1f')](_0x43c5d7);}};}function respondWithFilteredResult(_0x59e340,_0x3bd298){return function(_0x48c1db){if(_0x48c1db){var _0x22cfec=_0x48c1db[_0x3585('0x20')],_0x4493e5=_0x3bd298[_0x3585('0x21')],_0x3206d6=_0x3bd298[_0x3585('0x21')]+_0x3bd298['limit'],_0xb9fa97;if(_0x3206d6>=_0x22cfec){_0x3206d6=_0x22cfec;_0xb9fa97=0xc8;}else{_0xb9fa97=0xce;}_0x59e340['status'](_0xb9fa97);return _0x59e340[_0x3585('0x22')](_0x3585('0x23'),_0x4493e5+'-'+_0x3206d6+'/'+_0x22cfec)[_0x3585('0x1f')](_0x48c1db);}return null;};}function patchUpdates(_0x1eba01){return function(_0x2b085d){try{jsonpatch['apply'](_0x2b085d,_0x1eba01,!![]);}catch(_0xa61b5a){return BPromise[_0x3585('0x24')](_0xa61b5a);}return _0x2b085d[_0x3585('0x25')]();};}function saveUpdates(_0x2de21d,_0x610d07){return function(_0x4b18b9){if(_0x4b18b9){return _0x4b18b9['update'](_0x2de21d)['then'](function(_0x5ec4c3){return _0x5ec4c3;});}return null;};}function removeEntity(_0x568937,_0x4d0cf6){return function(_0x349571){if(_0x349571){return _0x349571[_0x3585('0x26')]()[_0x3585('0x27')](function(){var _0x3a6bf0=_0x349571[_0x3585('0x28')]({'plain':!![]});var _0x504106=_0x3585('0x29');return db[_0x3585('0x2a')]['destroy']({'where':{'type':_0x504106,'resourceId':_0x3a6bf0['id']}})[_0x3585('0x27')](function(){return _0x349571;});})['then'](function(){_0x568937[_0x3585('0x1e')](0xcc)[_0x3585('0x2b')]();});}};}function handleEntityNotFound(_0xeb24a0,_0x490ab0){return function(_0x9f8a57){if(!_0x9f8a57){_0xeb24a0[_0x3585('0x1d')](0x194);}return _0x9f8a57;};}function handleError(_0x3cb377,_0x149c99){_0x149c99=_0x149c99||0x1f4;return function(_0x425057){logger[_0x3585('0x2c')](_0x425057[_0x3585('0x2d')]);if(_0x425057[_0x3585('0x2e')]){delete _0x425057['name'];}_0x3cb377[_0x3585('0x1e')](_0x149c99)[_0x3585('0x2f')](_0x425057);};}exports[_0x3585('0x30')]=function(_0x269e30,_0x2f7da9){var _0x462254={},_0x5f1fd0={},_0x404806={'count':0x0,'rows':[]};var _0x31ea79=_[_0x3585('0x31')](db[_0x3585('0x32')][_0x3585('0x33')],function(_0x209d30){return{'name':_0x209d30['fieldName'],'type':_0x209d30['type'][_0x3585('0x34')]};});_0x5f1fd0[_0x3585('0x35')]=_[_0x3585('0x31')](_0x31ea79,_0x3585('0x2e'));_0x5f1fd0['query']=_['keys'](_0x269e30[_0x3585('0x36')]);_0x5f1fd0[_0x3585('0x37')]=_[_0x3585('0x38')](_0x5f1fd0[_0x3585('0x35')],_0x5f1fd0['query']);_0x462254[_0x3585('0x39')]=_[_0x3585('0x38')](_0x5f1fd0['model'],qs[_0x3585('0x3a')](_0x269e30[_0x3585('0x36')]['fields']));_0x462254[_0x3585('0x39')]=_0x462254['attributes']['length']?_0x462254[_0x3585('0x39')]:_0x5f1fd0[_0x3585('0x35')];if(!_0x269e30['query'][_0x3585('0x3b')](_0x3585('0x3c'))){_0x462254[_0x3585('0x3d')]=qs[_0x3585('0x3d')](_0x269e30[_0x3585('0x36')]['limit']);_0x462254[_0x3585('0x21')]=qs[_0x3585('0x21')](_0x269e30[_0x3585('0x36')]['offset']);}_0x462254[_0x3585('0x3e')]=qs['sort'](_0x269e30[_0x3585('0x36')][_0x3585('0x3f')]);_0x462254[_0x3585('0x40')]=qs[_0x3585('0x37')](_['pick'](_0x269e30['query'],_0x5f1fd0[_0x3585('0x37')]),_0x31ea79);if(_0x269e30[_0x3585('0x36')]['filter']){_0x462254[_0x3585('0x40')]=_[_0x3585('0x41')](_0x462254[_0x3585('0x40')],{'$or':_[_0x3585('0x31')](_0x31ea79,function(_0x210710){if(_0x210710['type']!==_0x3585('0x42')){var _0x3ea701={};_0x3ea701[_0x210710[_0x3585('0x2e')]]={'$like':'%'+_0x269e30[_0x3585('0x36')][_0x3585('0x43')]+'%'};return _0x3ea701;}})});}_0x462254=_['merge']({},_0x462254,_0x269e30['options']);var _0x4b4879={'where':_0x462254[_0x3585('0x40')]};return db['Team'][_0x3585('0x20')](_0x4b4879)[_0x3585('0x27')](function(_0x7332b){_0x404806[_0x3585('0x20')]=_0x7332b;if(_0x269e30[_0x3585('0x36')][_0x3585('0x44')]){_0x462254[_0x3585('0x45')]=[{'all':!![]}];}return db[_0x3585('0x32')]['findAll'](_0x462254);})['then'](function(_0x3c7e6d){_0x404806[_0x3585('0x46')]=_0x3c7e6d;return _0x404806;})[_0x3585('0x27')](respondWithFilteredResult(_0x2f7da9,_0x462254))['catch'](handleError(_0x2f7da9,null));};exports[_0x3585('0x47')]=function(_0x40b5ef,_0x3bb158){var _0xc7e54d={'raw':![],'where':{'id':_0x40b5ef[_0x3585('0x48')]['id']}},_0x79bf0b={};_0x79bf0b[_0x3585('0x35')]=_[_0x3585('0x49')](db[_0x3585('0x32')][_0x3585('0x33')]);_0x79bf0b[_0x3585('0x36')]=_[_0x3585('0x49')](_0x40b5ef[_0x3585('0x36')]);_0x79bf0b[_0x3585('0x37')]=_[_0x3585('0x38')](_0x79bf0b['model'],_0x79bf0b['query']);_0xc7e54d['attributes']=_['intersection'](_0x79bf0b[_0x3585('0x35')],qs[_0x3585('0x3a')](_0x40b5ef[_0x3585('0x36')][_0x3585('0x3a')]));_0xc7e54d[_0x3585('0x39')]=_0xc7e54d['attributes']['length']?_0xc7e54d[_0x3585('0x39')]:_0x79bf0b['model'];if(_0x40b5ef['query'][_0x3585('0x44')]){_0xc7e54d['include']=[{'all':!![]}];}_0xc7e54d=_[_0x3585('0x41')]({},_0xc7e54d,_0x40b5ef[_0x3585('0x4a')]);return db[_0x3585('0x32')][_0x3585('0x4b')](_0xc7e54d)[_0x3585('0x27')](handleEntityNotFound(_0x3bb158,null))[_0x3585('0x27')](respondWithResult(_0x3bb158,null))[_0x3585('0x4c')](handleError(_0x3bb158,null));};exports[_0x3585('0x4d')]=function(_0x2b0bdb,_0x2ff832){return db[_0x3585('0x32')][_0x3585('0x4d')](_0x2b0bdb[_0x3585('0x4e')],{})[_0x3585('0x27')](function(_0x18298f){var _0x8cfb8d=_0x2b0bdb[_0x3585('0x4f')][_0x3585('0x28')]({'plain':!![]});if(!_0x8cfb8d)throw new Error(_0x3585('0x50'));if(_0x8cfb8d[_0x3585('0x51')]===_0x3585('0x4f')){var _0x187ad5=_0x18298f[_0x3585('0x28')]({'plain':!![]});var _0x4e2909=_0x3585('0x29');return db[_0x3585('0x52')][_0x3585('0x4b')]({'where':{'name':_0x4e2909,'userProfileId':_0x8cfb8d[_0x3585('0x53')]},'raw':!![]})[_0x3585('0x27')](function(_0x906522){if(_0x906522&&_0x906522['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x187ad5['name'],'resourceId':_0x187ad5['id'],'type':_0x906522[_0x3585('0x2e')],'sectionId':_0x906522['id']},{})[_0x3585('0x27')](function(){return _0x18298f;});}else{return _0x18298f;}})[_0x3585('0x4c')](function(_0x3c7916){logger['error'](_0x3585('0x54'),_0x3c7916);throw _0x3c7916;});}return _0x18298f;})[_0x3585('0x27')](respondWithResult(_0x2ff832,0xc9))[_0x3585('0x4c')](handleError(_0x2ff832,null));};exports[_0x3585('0x55')]=function(_0x23e635,_0x42b7ad){if(_0x23e635[_0x3585('0x4e')]['id']){delete _0x23e635[_0x3585('0x4e')]['id'];}return db['Team'][_0x3585('0x4b')]({'where':{'id':_0x23e635[_0x3585('0x48')]['id']}})['then'](handleEntityNotFound(_0x42b7ad,null))[_0x3585('0x27')](saveUpdates(_0x23e635[_0x3585('0x4e')],null))[_0x3585('0x27')](respondWithResult(_0x42b7ad,null))[_0x3585('0x4c')](handleError(_0x42b7ad,null));};exports['destroy']=function(_0x1c68d9,_0x4bc70d){return db[_0x3585('0x32')]['find']({'where':{'id':_0x1c68d9[_0x3585('0x48')]['id']}})['then'](handleEntityNotFound(_0x4bc70d,null))[_0x3585('0x27')](removeEntity(_0x4bc70d,null))['catch'](handleError(_0x4bc70d,null));};exports[_0x3585('0x56')]=function(_0x5ce4f1,_0x53e1f0,_0x5eb1e6){return db[_0x3585('0x32')][_0x3585('0x57')]({'where':{'id':_0x5ce4f1[_0x3585('0x48')]['id']}})[_0x3585('0x27')](handleEntityNotFound(_0x53e1f0,null))[_0x3585('0x27')](function(_0x508884){if(!_0x5ce4f1['query']['channel']||!utils['isValidChannel'](_0x5ce4f1[_0x3585('0x36')][_0x3585('0x58')])){throw new db[(_0x3585('0x59'))]['ValidationError']('Unknown\x20channel');}var _0xb28aac={};var _0x49aad8={};_0x49aad8['model']=_[_0x3585('0x49')](db[_[_0x3585('0x5a')](_0x5ce4f1[_0x3585('0x36')]['channel'][_0x3585('0x5b')]())+'Queue'][_0x3585('0x33')]);_0x49aad8[_0x3585('0x36')]=_['keys'](_0x5ce4f1[_0x3585('0x36')]);_0x49aad8[_0x3585('0x37')]=_[_0x3585('0x38')](_0x49aad8[_0x3585('0x35')],_0x49aad8[_0x3585('0x36')]);_0xb28aac[_0x3585('0x39')]=_[_0x3585('0x38')](_0x49aad8[_0x3585('0x35')],qs[_0x3585('0x3a')](_0x5ce4f1['query'][_0x3585('0x3a')]));_0xb28aac[_0x3585('0x39')]=_0xb28aac[_0x3585('0x39')]['length']?_0xb28aac['attributes']:_0x49aad8[_0x3585('0x35')];_0xb28aac[_0x3585('0x3d')]=qs[_0x3585('0x3d')](_0x5ce4f1['query'][_0x3585('0x3d')]);_0xb28aac[_0x3585('0x21')]=qs['offset'](_0x5ce4f1[_0x3585('0x36')]['offset']);_0xb28aac['order']=qs[_0x3585('0x3f')](_0x5ce4f1[_0x3585('0x36')][_0x3585('0x3f')]);_0xb28aac['where']=qs[_0x3585('0x37')](_[_0x3585('0x5c')](_0x5ce4f1['query'],_0x49aad8['filters']));_0xb28aac=_[_0x3585('0x41')]({},_0xb28aac,_0x5ce4f1[_0x3585('0x4a')]);return _0x508884[_0x3585('0x28')+_[_0x3585('0x5a')](_0x5ce4f1[_0x3585('0x36')]['channel']['toLowerCase']())+_0x3585('0x5d')](_0xb28aac);})['then'](respondWithResult(_0x53e1f0,null))['catch'](handleError(_0x53e1f0,null));};exports[_0x3585('0x5e')]=function(_0x4d783b,_0x3c4ff5,_0x668691){return db[_0x3585('0x32')]['findOne']({'where':{'id':_0x4d783b[_0x3585('0x48')]['id']}})[_0x3585('0x27')](function(_0x3c3eaa){if(_0x3c3eaa){if(!_0x4d783b[_0x3585('0x4e')]['channel']||!utils[_0x3585('0x5f')](_0x4d783b[_0x3585('0x4e')][_0x3585('0x58')])){throw new db[(_0x3585('0x59'))][(_0x3585('0x60'))](_0x3585('0x61'));}return _0x3c3eaa[_0x3585('0x62')+_[_0x3585('0x5a')](_0x4d783b['body'][_0x3585('0x58')][_0x3585('0x5b')]())+_0x3585('0x5d')](_0x4d783b[_0x3585('0x4e')][_0x3585('0x63')]);}return null;})[_0x3585('0x27')](handleEntityNotFound(_0x3c4ff5,null))[_0x3585('0x27')](respondWithStatusCode(_0x3c4ff5,null))[_0x3585('0x4c')](handleError(_0x3c4ff5,null));};exports['removeQueues']=function(_0x3c878c,_0x5ebf46,_0x472e93){return db['Team'][_0x3585('0x57')]({'where':{'id':_0x3c878c['params']['id']}})['then'](function(_0x51ca0f){if(_0x51ca0f){if(!_0x3c878c[_0x3585('0x36')][_0x3585('0x58')]||!utils[_0x3585('0x5f')](_0x3c878c[_0x3585('0x36')][_0x3585('0x58')])){throw new db['Sequelize'][(_0x3585('0x60'))](_0x3585('0x61'));}return _0x51ca0f[_0x3585('0x64')+_['capitalize'](_0x3c878c[_0x3585('0x36')][_0x3585('0x58')]['toLowerCase']())+'Queues'](_0x3c878c[_0x3585('0x36')][_0x3585('0x63')]);}return null;})[_0x3585('0x27')](handleEntityNotFound(_0x5ebf46,null))[_0x3585('0x27')](respondWithStatusCode(_0x5ebf46,null))[_0x3585('0x4c')](handleError(_0x5ebf46,null));};exports[_0x3585('0x65')]=function(_0x468456,_0x3444ac){return db[_0x3585('0x32')][_0x3585('0x4b')]({'where':{'id':_0x468456['params']['id']}})[_0x3585('0x27')](handleEntityNotFound(_0x3444ac,null))['then'](function(_0x91ae8f){if(_0x91ae8f){var _0x5ec686=[_0x3585('0x66'),_0x3585('0x67'),'Mail','Sms','Fax','Openchannel',_0x3585('0x68')];return db[_0x3585('0x69')][_0x3585('0x6a')](function(_0x10d049){var _0x3e2d21=_['map'](_0x5ec686,function(_0x4da084){var _0x9a3dc5={'attributes':['id','name']};if(_0x4da084===_0x3585('0x66')){_0x9a3dc5['through']={'attributes':[_0x3585('0x6b')]};}return _0x91ae8f[_0x3585('0x28')+_0x4da084+_0x3585('0x5d')](_0x9a3dc5)[_0x3585('0x27')](function(_0x28f1af){var _0x14b9c0=_['map'](_0x28f1af,function(_0x115787){var _0x1b8117=_[_0x3585('0x31')](_0x468456[_0x3585('0x4e')]['ids'],function(_0x5c656d){var _0x45eff9={'where':{'UserId':_0x5c656d,[_0x4da084+'QueueId']:_0x115787['id']},'transaction':_0x10d049};if(_0x4da084==='Voice'){_0x45eff9['defaults']={'penalty':_0x115787[_0x3585('0x6c')]['penalty']};}return db[_0x3585('0x6d')+_0x4da084+_0x3585('0x6e')]['findOrCreate'](_0x45eff9)[_0x3585('0x27')](function(){socket[_0x3585('0x6f')]('user'+_0x4da084+_0x3585('0x70'),{'UserId':_0x5c656d,[_0x4da084+_0x3585('0x71')]:_0x115787['id']});if(_0x4da084!=='Voice')return;return db[_0x3585('0x6d')][_0x3585('0x72')]({'where':{'id':_0x468456[_0x3585('0x4e')]['ids'],'online':0x1},'attributes':['id',_0x3585('0x2e'),_0x3585('0x73'),_0x3585('0x74'),'interface'],'raw':!![]})[_0x3585('0x27')](function(_0x4a8d82){var _0x5cc879=_['map'](_0x4a8d82,function(_0x1f9037){return db[_0x3585('0x75')][_0x3585('0x76')]({'membername':_0x1f9037[_0x3585('0x2e')],'UserId':_0x1f9037['id'],'queue_name':_0x115787['name'],'VoiceQueueId':_0x115787['id'],'interface':_[_0x3585('0x77')](_0x1f9037['interface'])?util[_0x3585('0x78')](_0x3585('0x79'),_0x1f9037[_0x3585('0x2e')]):_0x1f9037[_0x3585('0x7a')],'paused':_0x1f9037[_0x3585('0x74')]||![],'penalty':_0x115787[_0x3585('0x6c')][_0x3585('0x6b')]},{'transaction':_0x10d049});});return Promise['all'](_0x5cc879);});});});return Promise[_0x3585('0x7b')](_0x1b8117);});return Promise['all'](_0x14b9c0);});});return Promise[_0x3585('0x7b')](_0x3e2d21)[_0x3585('0x27')](function(){return _0x91ae8f[_0x3585('0x65')](_0x468456[_0x3585('0x4e')]['ids'],{'transaction':_0x10d049})[_0x3585('0x7c')](function(_0x2aa183){return _0x2aa183;});});});}})[_0x3585('0x27')](respondWithResult(_0x3444ac,null))[_0x3585('0x4c')](handleError(_0x3444ac,null));};exports[_0x3585('0x7d')]=function(_0x8c309d,_0x45339d){return db[_0x3585('0x32')][_0x3585('0x4b')]({'where':{'id':_0x8c309d[_0x3585('0x48')]['id']}})[_0x3585('0x27')](handleEntityNotFound(_0x45339d,null))[_0x3585('0x27')](function(_0x2c9788){if(_0x2c9788){var _0x3fc306=[_0x3585('0x66'),_0x3585('0x67'),_0x3585('0x7e'),'Sms','Fax',_0x3585('0x7f'),_0x3585('0x68')];return db['sequelize']['transaction'](function(_0x236076){var _0x3d6133=_[_0x3585('0x31')](_0x3fc306,function(_0x2c5c16){var _0x1d8713={'attributes':['id','name']};return _0x2c9788[_0x3585('0x28')+_0x2c5c16+_0x3585('0x5d')](_0x1d8713)[_0x3585('0x27')](function(_0x37fc05){var _0x44144f=_[_0x3585('0x31')](_0x37fc05,function(_0xacd251){return _0xacd251[_0x3585('0x7d')](_0x8c309d[_0x3585('0x36')][_0x3585('0x63')],{'transaction':_0x236076})[_0x3585('0x27')](function(){var _0x1c0369=JSON[_0x3585('0x80')]('['+_0x8c309d[_0x3585('0x36')][_0x3585('0x63')]+']');var _0x123e33=_['map'](_0x1c0369,function(_0xd3ed65){socket[_0x3585('0x6f')](_0x3585('0x4f')+_0x2c5c16+_0x3585('0x81'),{'UserId':Number(_0xd3ed65),[_0x2c5c16+'QueueId']:_0xacd251['id']});if(_0x2c5c16!=='Voice')return;return db[_0x3585('0x75')][_0x3585('0x26')]({'where':{'VoiceQueueId':_0xacd251['id'],'UserId':_0xd3ed65},'transaction':_0x236076});});return Promise['all'](_0x123e33);});});return Promise[_0x3585('0x7b')](_0x44144f);});});return Promise[_0x3585('0x7b')](_0x3d6133)[_0x3585('0x27')](function(){return _0x2c9788[_0x3585('0x7d')](_0x8c309d[_0x3585('0x36')][_0x3585('0x63')],{'transaction':_0x236076});});});}})[_0x3585('0x27')](respondWithStatusCode(_0x45339d,null))[_0x3585('0x4c')](handleError(_0x45339d,null));};exports['getAgents']=function(_0x1091c0,_0x58e22c,_0x57d275){var _0x200ba2={};var _0x24cf57={};var _0x596c58;var _0x5d0cf8;return db[_0x3585('0x32')][_0x3585('0x57')]({'where':{'id':_0x1091c0[_0x3585('0x48')]['id']}})[_0x3585('0x27')](handleEntityNotFound(_0x58e22c,null))[_0x3585('0x27')](function(_0x343cd4){if(_0x343cd4){_0x596c58=_0x343cd4;_0x24cf57['model']=_['keys'](db[_0x3585('0x6d')][_0x3585('0x33')]);_0x24cf57[_0x3585('0x36')]=_[_0x3585('0x49')](_0x1091c0[_0x3585('0x36')]);_0x24cf57['filters']=_[_0x3585('0x38')](_0x24cf57[_0x3585('0x35')],_0x24cf57['query']);_0x200ba2[_0x3585('0x39')]=_['intersection'](_0x24cf57[_0x3585('0x35')],qs[_0x3585('0x3a')](_0x1091c0[_0x3585('0x36')][_0x3585('0x3a')]));_0x200ba2[_0x3585('0x39')]=_0x200ba2[_0x3585('0x39')][_0x3585('0x82')]?_0x200ba2[_0x3585('0x39')]:_0x24cf57[_0x3585('0x35')];_0x200ba2[_0x3585('0x3e')]=qs[_0x3585('0x3f')](_0x1091c0['query'][_0x3585('0x3f')]);_0x200ba2[_0x3585('0x40')]=qs['filters'](_[_0x3585('0x5c')](_0x1091c0[_0x3585('0x36')],_0x24cf57[_0x3585('0x37')]));if(_0x1091c0[_0x3585('0x36')][_0x3585('0x43')]){_0x200ba2[_0x3585('0x40')]=_[_0x3585('0x41')](_0x200ba2[_0x3585('0x40')],{'$or':_[_0x3585('0x31')](_0x200ba2[_0x3585('0x39')],function(_0x5bc283){var _0x5789c9={};_0x5789c9[_0x5bc283]={'$like':'%'+_0x1091c0[_0x3585('0x36')][_0x3585('0x43')]+'%'};return _0x5789c9;})});}_0x200ba2=_['merge']({},_0x200ba2,_0x1091c0['options']);return _0x596c58[_0x3585('0x83')](_0x200ba2);}})[_0x3585('0x27')](function(_0x1e95c6){if(_0x1e95c6){_0x5d0cf8=_0x1e95c6[_0x3585('0x82')];if(!_0x1091c0[_0x3585('0x36')][_0x3585('0x3b')](_0x3585('0x3c'))){_0x200ba2[_0x3585('0x3d')]=qs[_0x3585('0x3d')](_0x1091c0['query'][_0x3585('0x3d')]);_0x200ba2[_0x3585('0x21')]=qs[_0x3585('0x21')](_0x1091c0[_0x3585('0x36')][_0x3585('0x21')]);}return _0x596c58[_0x3585('0x83')](_0x200ba2);}})['then'](function(_0x4702d0){if(_0x4702d0){return _0x4702d0?{'count':_0x5d0cf8,'rows':_0x4702d0}:null;}})[_0x3585('0x27')](respondWithResult(_0x58e22c,null))['catch'](handleError(_0x58e22c,null));};