565ef8650dc835f1ebc62f5181810c0f19fa8a4a
[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 _0xd5f7=['addQueues','add','remove','ids','addAgents','Voice','Chat','Mail','Whatsapp','each','online','voicePause','interface','upsert','spread','userTeam:save','removeAgents','voice','chat','mail','fax','openchannel','whatsapp','isArray','emit','userTeam:remove','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','save','update','then','destroy','get','Teams','UserProfileResource','error','stack','name','index','map','Team','fieldName','keys','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','merge','filter','count','include','findAll','rows','show','params','includeAll','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getQueues','findOne','channel','isValidChannel','Sequelize','ValidationError','Unknown\x20channel','capitalize','toLowerCase','rawAttributes','Queues'];(function(_0x3d9da2,_0x2e6559){var _0x465aea=function(_0x19ce57){while(--_0x19ce57){_0x3d9da2['push'](_0x3d9da2['shift']());}};_0x465aea(++_0x2e6559);}(_0xd5f7,0x18c));var _0x7d5f=function(_0x37d5b0,_0xa12629){_0x37d5b0=_0x37d5b0-0x0;var _0x3b86a1=_0xd5f7[_0x37d5b0];return _0x3b86a1;};'use strict';var pdf=require(_0x7d5f('0x0'));var emlformat=require(_0x7d5f('0x1'));var rimraf=require(_0x7d5f('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x7d5f('0x3'));var rp=require(_0x7d5f('0x4'));var moment=require(_0x7d5f('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x7d5f('0x6'));var util=require(_0x7d5f('0x7'));var path=require(_0x7d5f('0x8'));var sox=require(_0x7d5f('0x9'));var csv=require(_0x7d5f('0xa'));var ejs=require(_0x7d5f('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x7d5f('0xc'));var jsforce=require(_0x7d5f('0xd'));var deskjs=require(_0x7d5f('0xe'));var toCsv=require(_0x7d5f('0xa'));var querystring=require(_0x7d5f('0xf'));var Papa=require(_0x7d5f('0x10'));var Redis=require(_0x7d5f('0x11'));var authService=require(_0x7d5f('0x12'));var qs=require(_0x7d5f('0x13'));var as=require(_0x7d5f('0x14'));var hardwareService=require(_0x7d5f('0x15'));var logger=require(_0x7d5f('0x16'))('api');var utils=require('../../config/utils');var config=require(_0x7d5f('0x17'));var licenseUtil=require(_0x7d5f('0x18'));var db=require(_0x7d5f('0x19'))['db'];config[_0x7d5f('0x1a')]=_[_0x7d5f('0x1b')](config['redis'],{'host':_0x7d5f('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7d5f('0x1a')]));require('./team.socket')['register'](socket);function respondWithStatusCode(_0x2ed79b,_0x3d1982){_0x3d1982=_0x3d1982||0xcc;return function(_0x214575){if(_0x214575){return _0x2ed79b[_0x7d5f('0x1d')](_0x3d1982);}return _0x2ed79b[_0x7d5f('0x1e')](_0x3d1982)[_0x7d5f('0x1f')]();};}function respondWithResult(_0x14bb28,_0x1587a8){_0x1587a8=_0x1587a8||0xc8;return function(_0x4aa093){if(_0x4aa093){return _0x14bb28[_0x7d5f('0x1e')](_0x1587a8)[_0x7d5f('0x20')](_0x4aa093);}};}function respondWithFilteredResult(_0x81e42e,_0x153d51){return function(_0x57fff5){if(_0x57fff5){var _0x449b43=_0x57fff5['count'],_0x54f850=_0x153d51[_0x7d5f('0x21')],_0x66c440=_0x153d51[_0x7d5f('0x21')]+_0x153d51[_0x7d5f('0x22')],_0x54f53b;if(_0x66c440>=_0x449b43){_0x66c440=_0x449b43;_0x54f53b=0xc8;}else{_0x54f53b=0xce;}_0x81e42e['status'](_0x54f53b);return _0x81e42e[_0x7d5f('0x23')](_0x7d5f('0x24'),_0x54f850+'-'+_0x66c440+'/'+_0x449b43)[_0x7d5f('0x20')](_0x57fff5);}return null;};}function patchUpdates(_0x126aaa){return function(_0xd4500e){try{jsonpatch[_0x7d5f('0x25')](_0xd4500e,_0x126aaa,!![]);}catch(_0xf453bc){return BPromise['reject'](_0xf453bc);}return _0xd4500e[_0x7d5f('0x26')]();};}function saveUpdates(_0xa97e2,_0x3bd0dc){return function(_0x69bb61){if(_0x69bb61){return _0x69bb61[_0x7d5f('0x27')](_0xa97e2)[_0x7d5f('0x28')](function(_0x595d7d){return _0x595d7d;});}return null;};}function removeEntity(_0x456888,_0x53c4ee){return function(_0x5c0fb2){if(_0x5c0fb2){return _0x5c0fb2[_0x7d5f('0x29')]()[_0x7d5f('0x28')](function(){var _0x25f675=_0x5c0fb2[_0x7d5f('0x2a')]({'plain':!![]});var _0x411057=_0x7d5f('0x2b');return db[_0x7d5f('0x2c')][_0x7d5f('0x29')]({'where':{'type':_0x411057,'resourceId':_0x25f675['id']}})[_0x7d5f('0x28')](function(){return _0x5c0fb2;});})['then'](function(){_0x456888[_0x7d5f('0x1e')](0xcc)[_0x7d5f('0x1f')]();});}};}function handleEntityNotFound(_0x1c67f4,_0x13b46d){return function(_0xa129b2){if(!_0xa129b2){_0x1c67f4[_0x7d5f('0x1d')](0x194);}return _0xa129b2;};}function handleError(_0x4dda0d,_0x197e79){_0x197e79=_0x197e79||0x1f4;return function(_0x4f8926){logger[_0x7d5f('0x2d')](_0x4f8926[_0x7d5f('0x2e')]);if(_0x4f8926['name']){delete _0x4f8926[_0x7d5f('0x2f')];}_0x4dda0d[_0x7d5f('0x1e')](_0x197e79)['send'](_0x4f8926);};}exports[_0x7d5f('0x30')]=function(_0x5b1fba,_0xd18eb0){var _0x1ce215={},_0x30c731={},_0x44b07a={'count':0x0,'rows':[]};var _0x211dd6=_[_0x7d5f('0x31')](db[_0x7d5f('0x32')]['rawAttributes'],function(_0x1b310c){return{'name':_0x1b310c[_0x7d5f('0x33')],'type':_0x1b310c['type']['key']};});_0x30c731['model']=_['map'](_0x211dd6,'name');_0x30c731['query']=_[_0x7d5f('0x34')](_0x5b1fba[_0x7d5f('0x35')]);_0x30c731[_0x7d5f('0x36')]=_[_0x7d5f('0x37')](_0x30c731[_0x7d5f('0x38')],_0x30c731['query']);_0x1ce215[_0x7d5f('0x39')]=_[_0x7d5f('0x37')](_0x30c731[_0x7d5f('0x38')],qs[_0x7d5f('0x3a')](_0x5b1fba[_0x7d5f('0x35')]['fields']));_0x1ce215['attributes']=_0x1ce215[_0x7d5f('0x39')][_0x7d5f('0x3b')]?_0x1ce215[_0x7d5f('0x39')]:_0x30c731['model'];if(!_0x5b1fba[_0x7d5f('0x35')]['hasOwnProperty'](_0x7d5f('0x3c'))){_0x1ce215[_0x7d5f('0x22')]=qs[_0x7d5f('0x22')](_0x5b1fba[_0x7d5f('0x35')][_0x7d5f('0x22')]);_0x1ce215[_0x7d5f('0x21')]=qs[_0x7d5f('0x21')](_0x5b1fba[_0x7d5f('0x35')]['offset']);}_0x1ce215[_0x7d5f('0x3d')]=qs[_0x7d5f('0x3e')](_0x5b1fba[_0x7d5f('0x35')][_0x7d5f('0x3e')]);_0x1ce215[_0x7d5f('0x3f')]=qs[_0x7d5f('0x36')](_[_0x7d5f('0x40')](_0x5b1fba['query'],_0x30c731['filters']),_0x211dd6);if(_0x5b1fba[_0x7d5f('0x35')]['filter']){_0x1ce215['where']=_[_0x7d5f('0x41')](_0x1ce215[_0x7d5f('0x3f')],{'$or':_[_0x7d5f('0x31')](_0x211dd6,function(_0x443dbf){if(_0x443dbf['type']!=='VIRTUAL'){var _0x36091e={};_0x36091e[_0x443dbf['name']]={'$like':'%'+_0x5b1fba[_0x7d5f('0x35')][_0x7d5f('0x42')]+'%'};return _0x36091e;}})});}_0x1ce215=_['merge']({},_0x1ce215,_0x5b1fba['options']);var _0x40ed21={'where':_0x1ce215[_0x7d5f('0x3f')]};return db['Team'][_0x7d5f('0x43')](_0x40ed21)['then'](function(_0x47aaa7){_0x44b07a[_0x7d5f('0x43')]=_0x47aaa7;if(_0x5b1fba[_0x7d5f('0x35')]['includeAll']){_0x1ce215[_0x7d5f('0x44')]=[{'all':!![]}];}return db['Team'][_0x7d5f('0x45')](_0x1ce215);})[_0x7d5f('0x28')](function(_0x47018a){_0x44b07a[_0x7d5f('0x46')]=_0x47018a;return _0x44b07a;})[_0x7d5f('0x28')](respondWithFilteredResult(_0xd18eb0,_0x1ce215))['catch'](handleError(_0xd18eb0,null));};exports[_0x7d5f('0x47')]=function(_0x7736e,_0x295fea){var _0x230996={'raw':![],'where':{'id':_0x7736e[_0x7d5f('0x48')]['id']}},_0x4d29f5={};_0x4d29f5[_0x7d5f('0x38')]=_[_0x7d5f('0x34')](db['Team']['rawAttributes']);_0x4d29f5[_0x7d5f('0x35')]=_[_0x7d5f('0x34')](_0x7736e[_0x7d5f('0x35')]);_0x4d29f5[_0x7d5f('0x36')]=_[_0x7d5f('0x37')](_0x4d29f5[_0x7d5f('0x38')],_0x4d29f5['query']);_0x230996[_0x7d5f('0x39')]=_[_0x7d5f('0x37')](_0x4d29f5[_0x7d5f('0x38')],qs[_0x7d5f('0x3a')](_0x7736e[_0x7d5f('0x35')][_0x7d5f('0x3a')]));_0x230996[_0x7d5f('0x39')]=_0x230996[_0x7d5f('0x39')][_0x7d5f('0x3b')]?_0x230996[_0x7d5f('0x39')]:_0x4d29f5['model'];if(_0x7736e['query'][_0x7d5f('0x49')]){_0x230996[_0x7d5f('0x44')]=[{'all':!![]}];}_0x230996=_[_0x7d5f('0x41')]({},_0x230996,_0x7736e[_0x7d5f('0x4a')]);return db[_0x7d5f('0x32')][_0x7d5f('0x4b')](_0x230996)['then'](handleEntityNotFound(_0x295fea,null))[_0x7d5f('0x28')](respondWithResult(_0x295fea,null))['catch'](handleError(_0x295fea,null));};exports[_0x7d5f('0x4c')]=function(_0x5593fe,_0x2cd37d){return db[_0x7d5f('0x32')][_0x7d5f('0x4c')](_0x5593fe[_0x7d5f('0x4d')],{})[_0x7d5f('0x28')](function(_0x301195){var _0x3a2c84=_0x5593fe[_0x7d5f('0x4e')][_0x7d5f('0x2a')]({'plain':!![]});if(!_0x3a2c84)throw new Error(_0x7d5f('0x4f'));if(_0x3a2c84[_0x7d5f('0x50')]==='user'){var _0x217e28=_0x301195['get']({'plain':!![]});var _0x4d603e=_0x7d5f('0x2b');return db['UserProfileSection'][_0x7d5f('0x4b')]({'where':{'name':_0x4d603e,'userProfileId':_0x3a2c84[_0x7d5f('0x51')]},'raw':!![]})['then'](function(_0x4fe51c){if(_0x4fe51c&&_0x4fe51c[_0x7d5f('0x52')]===0x0){return db['UserProfileResource'][_0x7d5f('0x4c')]({'name':_0x217e28['name'],'resourceId':_0x217e28['id'],'type':_0x4fe51c[_0x7d5f('0x2f')],'sectionId':_0x4fe51c['id']},{})['then'](function(){return _0x301195;});}else{return _0x301195;}})[_0x7d5f('0x53')](function(_0x2ea08a){logger[_0x7d5f('0x2d')](_0x7d5f('0x54'),_0x2ea08a);throw _0x2ea08a;});}return _0x301195;})[_0x7d5f('0x28')](respondWithResult(_0x2cd37d,0xc9))['catch'](handleError(_0x2cd37d,null));};exports[_0x7d5f('0x27')]=function(_0x514e86,_0x53ec4b){if(_0x514e86['body']['id']){delete _0x514e86[_0x7d5f('0x4d')]['id'];}return db[_0x7d5f('0x32')][_0x7d5f('0x4b')]({'where':{'id':_0x514e86[_0x7d5f('0x48')]['id']}})['then'](handleEntityNotFound(_0x53ec4b,null))[_0x7d5f('0x28')](saveUpdates(_0x514e86[_0x7d5f('0x4d')],null))[_0x7d5f('0x28')](respondWithResult(_0x53ec4b,null))['catch'](handleError(_0x53ec4b,null));};exports[_0x7d5f('0x29')]=function(_0x4ecbf0,_0x32d1a1){return db[_0x7d5f('0x32')][_0x7d5f('0x4b')]({'where':{'id':_0x4ecbf0[_0x7d5f('0x48')]['id']}})[_0x7d5f('0x28')](handleEntityNotFound(_0x32d1a1,null))[_0x7d5f('0x28')](removeEntity(_0x32d1a1,null))[_0x7d5f('0x53')](handleError(_0x32d1a1,null));};exports[_0x7d5f('0x55')]=function(_0x93e507,_0x415bba,_0x183ef8){return db[_0x7d5f('0x32')][_0x7d5f('0x56')]({'where':{'id':_0x93e507['params']['id']}})[_0x7d5f('0x28')](handleEntityNotFound(_0x415bba,null))[_0x7d5f('0x28')](function(_0x34af3b){if(!_0x93e507[_0x7d5f('0x35')][_0x7d5f('0x57')]||!utils[_0x7d5f('0x58')](_0x93e507['query'][_0x7d5f('0x57')])){throw new db[(_0x7d5f('0x59'))][(_0x7d5f('0x5a'))](_0x7d5f('0x5b'));}var _0x75ae8f={};var _0x46bac4={};_0x46bac4[_0x7d5f('0x38')]=_[_0x7d5f('0x34')](db[_[_0x7d5f('0x5c')](_0x93e507[_0x7d5f('0x35')][_0x7d5f('0x57')][_0x7d5f('0x5d')]())+'Queue'][_0x7d5f('0x5e')]);_0x46bac4[_0x7d5f('0x35')]=_[_0x7d5f('0x34')](_0x93e507[_0x7d5f('0x35')]);_0x46bac4['filters']=_['intersection'](_0x46bac4[_0x7d5f('0x38')],_0x46bac4[_0x7d5f('0x35')]);_0x75ae8f['attributes']=_[_0x7d5f('0x37')](_0x46bac4[_0x7d5f('0x38')],qs['fields'](_0x93e507[_0x7d5f('0x35')][_0x7d5f('0x3a')]));_0x75ae8f['attributes']=_0x75ae8f[_0x7d5f('0x39')][_0x7d5f('0x3b')]?_0x75ae8f[_0x7d5f('0x39')]:_0x46bac4[_0x7d5f('0x38')];_0x75ae8f['limit']=qs[_0x7d5f('0x22')](_0x93e507[_0x7d5f('0x35')][_0x7d5f('0x22')]);_0x75ae8f[_0x7d5f('0x21')]=qs[_0x7d5f('0x21')](_0x93e507[_0x7d5f('0x35')]['offset']);_0x75ae8f[_0x7d5f('0x3d')]=qs[_0x7d5f('0x3e')](_0x93e507[_0x7d5f('0x35')][_0x7d5f('0x3e')]);_0x75ae8f[_0x7d5f('0x3f')]=qs[_0x7d5f('0x36')](_[_0x7d5f('0x40')](_0x93e507[_0x7d5f('0x35')],_0x46bac4[_0x7d5f('0x36')]));_0x75ae8f=_[_0x7d5f('0x41')]({},_0x75ae8f,_0x93e507['options']);return _0x34af3b[_0x7d5f('0x2a')+_[_0x7d5f('0x5c')](_0x93e507['query'][_0x7d5f('0x57')][_0x7d5f('0x5d')]())+_0x7d5f('0x5f')](_0x75ae8f);})['then'](respondWithResult(_0x415bba,null))[_0x7d5f('0x53')](handleError(_0x415bba,null));};exports[_0x7d5f('0x60')]=function(_0x12c003,_0x190a3c,_0x2d37eb){return db[_0x7d5f('0x32')][_0x7d5f('0x56')]({'where':{'id':_0x12c003[_0x7d5f('0x48')]['id']}})['then'](function(_0x14f88a){if(_0x14f88a){if(!_0x12c003[_0x7d5f('0x4d')][_0x7d5f('0x57')]||!utils['isValidChannel'](_0x12c003['body']['channel'])){throw new db[(_0x7d5f('0x59'))]['ValidationError'](_0x7d5f('0x5b'));}return _0x14f88a[_0x7d5f('0x61')+_[_0x7d5f('0x5c')](_0x12c003[_0x7d5f('0x4d')]['channel']['toLowerCase']())+_0x7d5f('0x5f')](_0x12c003[_0x7d5f('0x4d')]['ids']);}return null;})[_0x7d5f('0x28')](handleEntityNotFound(_0x190a3c,null))[_0x7d5f('0x28')](respondWithStatusCode(_0x190a3c,null))[_0x7d5f('0x53')](handleError(_0x190a3c,null));};exports['removeQueues']=function(_0x479360,_0x3f92bc,_0x83a7b1){return db['Team'][_0x7d5f('0x56')]({'where':{'id':_0x479360[_0x7d5f('0x48')]['id']}})['then'](function(_0x473136){if(_0x473136){if(!_0x479360[_0x7d5f('0x35')]['channel']||!utils['isValidChannel'](_0x479360['query']['channel'])){throw new db[(_0x7d5f('0x59'))]['ValidationError'](_0x7d5f('0x5b'));}return _0x473136[_0x7d5f('0x62')+_['capitalize'](_0x479360[_0x7d5f('0x35')][_0x7d5f('0x57')][_0x7d5f('0x5d')]())+_0x7d5f('0x5f')](_0x479360['query'][_0x7d5f('0x63')]);}return null;})['then'](handleEntityNotFound(_0x3f92bc,null))[_0x7d5f('0x28')](respondWithStatusCode(_0x3f92bc,null))[_0x7d5f('0x53')](handleError(_0x3f92bc,null));};exports[_0x7d5f('0x64')]=function(_0xb85652,_0x1f055f,_0x4669bb){return db[_0x7d5f('0x32')][_0x7d5f('0x4b')]({'where':{'id':_0xb85652[_0x7d5f('0x48')]['id']}})[_0x7d5f('0x28')](handleEntityNotFound(_0x1f055f,null))['then'](function(_0xedb944){if(_0xedb944){var _0x143163=[_0x7d5f('0x65'),_0x7d5f('0x66'),_0x7d5f('0x67'),'Sms','Fax','Openchannel',_0x7d5f('0x68')];return BPromise[_0x7d5f('0x69')](_0x143163,function(_0x22bff2){return _0xedb944['get'+_0x22bff2+'Queues']({'attributes':['id',_0x7d5f('0x2f')]})[_0x7d5f('0x28')](function(_0x153437){return BPromise['each'](_0x153437,function(_0x171b20){return _0x171b20['addAgents'](_0xb85652[_0x7d5f('0x4d')][_0x7d5f('0x63')])[_0x7d5f('0x28')](function(){if(_0x22bff2==='Voice'){return db['User'][_0x7d5f('0x45')]({'where':{'id':_0xb85652[_0x7d5f('0x4d')][_0x7d5f('0x63')]},'attributes':['id',_0x7d5f('0x2f'),_0x7d5f('0x6a'),_0x7d5f('0x6b'),_0x7d5f('0x6c')],'raw':!![]})[_0x7d5f('0x28')](function(_0x53cfe8){return BPromise['each'](_[_0x7d5f('0x42')](_0x53cfe8,{'online':0x1}),function(_0x44117e){return db['UserVoiceQueueRt'][_0x7d5f('0x6d')]({'membername':_0x44117e[_0x7d5f('0x2f')],'UserId':_0x44117e['id'],'queue_name':_0x171b20[_0x7d5f('0x2f')],'VoiceQueueId':_0x171b20['id'],'interface':_['isNil'](_0x44117e['interface'])?util['format']('SIP/%s',_0x44117e['name']):_0x44117e['interface'],'paused':_0x44117e[_0x7d5f('0x6b')]||![],'penalty':0x0});});});}});});})[_0x7d5f('0x28')](function(){return _0xedb944;});})[_0x7d5f('0x28')](function(){return _0xedb944;});}})['then'](function(_0x50cdd4){if(_0x50cdd4){return _0x50cdd4[_0x7d5f('0x64')](_0xb85652['body'][_0x7d5f('0x63')],_['omit'](_0xb85652[_0x7d5f('0x4d')],[_0x7d5f('0x63'),'id'])||{})[_0x7d5f('0x6e')](function(_0x4cf7cc){for(var _0x1d8ecb=0x0;_0x1d8ecb<_0xb85652[_0x7d5f('0x4d')][_0x7d5f('0x63')][_0x7d5f('0x3b')];_0x1d8ecb+=0x1){socket['emit'](_0x7d5f('0x6f'),{'UserId':_0xb85652[_0x7d5f('0x4d')]['ids'][_0x1d8ecb],'TeamId':_0xb85652['params']['id']});}return _0x4cf7cc;});}})[_0x7d5f('0x28')](respondWithResult(_0x1f055f,null))[_0x7d5f('0x53')](handleError(_0x1f055f,null));};exports[_0x7d5f('0x70')]=function(_0x5103a3,_0x2eedb6,_0x4a0667){return db['Team'][_0x7d5f('0x4b')]({'where':{'id':_0x5103a3[_0x7d5f('0x48')]['id']}})[_0x7d5f('0x28')](handleEntityNotFound(_0x2eedb6,null))['then'](function(_0x19dfe3){if(_0x19dfe3){return BPromise['each']([_0x7d5f('0x71'),_0x7d5f('0x72'),_0x7d5f('0x73'),'sms',_0x7d5f('0x74'),_0x7d5f('0x75'),_0x7d5f('0x76')],function(_0x4aaa52){return _0x19dfe3[_0x7d5f('0x2a')+_[_0x7d5f('0x5c')](_0x4aaa52)+_0x7d5f('0x5f')]({'attributes':['id',_0x7d5f('0x2f')]})[_0x7d5f('0x28')](function(_0x26c11a){return BPromise[_0x7d5f('0x69')](_0x26c11a,function(_0x4ce222){return _0x4ce222[_0x7d5f('0x70')](_0x5103a3[_0x7d5f('0x35')]['ids'])['then'](function(){if(_0x4aaa52===_0x7d5f('0x71')){return db['UserVoiceQueueRt'][_0x7d5f('0x29')]({'where':{'VoiceQueueId':_0x4ce222['id'],'UserId':_0x5103a3[_0x7d5f('0x35')][_0x7d5f('0x63')]}});}});});})[_0x7d5f('0x28')](function(){return _0x19dfe3;});})['then'](function(){return _0x19dfe3;});}})[_0x7d5f('0x28')](function(_0x1614fd){if(_0x1614fd){return _0x1614fd['removeAgents'](_0x5103a3['query'][_0x7d5f('0x63')])[_0x7d5f('0x28')](function(){if(_[_0x7d5f('0x77')](_0x5103a3[_0x7d5f('0x35')][_0x7d5f('0x63')])){for(var _0xf19ae3=0x0;_0xf19ae3<_0x5103a3[_0x7d5f('0x35')][_0x7d5f('0x63')][_0x7d5f('0x3b')];_0xf19ae3+=0x1){socket[_0x7d5f('0x78')](_0x7d5f('0x79'),{'UserId':Number(_0x5103a3[_0x7d5f('0x35')]['ids'][_0xf19ae3]),'TeamId':Number(_0x5103a3[_0x7d5f('0x48')]['id'])});}}else{socket[_0x7d5f('0x78')](_0x7d5f('0x79'),{'UserId':Number(_0x5103a3[_0x7d5f('0x35')][_0x7d5f('0x63')]),'TeamId':Number(_0x5103a3[_0x7d5f('0x48')]['id'])});}});}})[_0x7d5f('0x28')](respondWithStatusCode(_0x2eedb6,null))['catch'](handleError(_0x2eedb6,null));};exports[_0x7d5f('0x7a')]=function(_0x48b138,_0x3456f2,_0xde5ad){var _0x2cde39={};var _0x29c9ec={};var _0x5109a1;var _0x10fcdb;return db[_0x7d5f('0x32')][_0x7d5f('0x56')]({'where':{'id':_0x48b138[_0x7d5f('0x48')]['id']}})[_0x7d5f('0x28')](handleEntityNotFound(_0x3456f2,null))['then'](function(_0x434bfd){if(_0x434bfd){_0x5109a1=_0x434bfd;_0x29c9ec[_0x7d5f('0x38')]=_[_0x7d5f('0x34')](db['User'][_0x7d5f('0x5e')]);_0x29c9ec['query']=_[_0x7d5f('0x34')](_0x48b138[_0x7d5f('0x35')]);_0x29c9ec[_0x7d5f('0x36')]=_['intersection'](_0x29c9ec[_0x7d5f('0x38')],_0x29c9ec[_0x7d5f('0x35')]);_0x2cde39[_0x7d5f('0x39')]=_['intersection'](_0x29c9ec['model'],qs[_0x7d5f('0x3a')](_0x48b138[_0x7d5f('0x35')]['fields']));_0x2cde39[_0x7d5f('0x39')]=_0x2cde39[_0x7d5f('0x39')][_0x7d5f('0x3b')]?_0x2cde39[_0x7d5f('0x39')]:_0x29c9ec['model'];_0x2cde39[_0x7d5f('0x3d')]=qs['sort'](_0x48b138['query'][_0x7d5f('0x3e')]);_0x2cde39[_0x7d5f('0x3f')]=qs[_0x7d5f('0x36')](_[_0x7d5f('0x40')](_0x48b138[_0x7d5f('0x35')],_0x29c9ec[_0x7d5f('0x36')]));if(_0x48b138[_0x7d5f('0x35')]['filter']){_0x2cde39[_0x7d5f('0x3f')]=_['merge'](_0x2cde39[_0x7d5f('0x3f')],{'$or':_[_0x7d5f('0x31')](_0x2cde39['attributes'],function(_0x32287f){var _0x4880cc={};_0x4880cc[_0x32287f]={'$like':'%'+_0x48b138[_0x7d5f('0x35')][_0x7d5f('0x42')]+'%'};return _0x4880cc;})});}_0x2cde39=_['merge']({},_0x2cde39,_0x48b138[_0x7d5f('0x4a')]);return _0x5109a1[_0x7d5f('0x7a')](_0x2cde39);}})['then'](function(_0x18a987){if(_0x18a987){_0x10fcdb=_0x18a987[_0x7d5f('0x3b')];if(!_0x48b138[_0x7d5f('0x35')]['hasOwnProperty'](_0x7d5f('0x3c'))){_0x2cde39['limit']=qs['limit'](_0x48b138[_0x7d5f('0x35')][_0x7d5f('0x22')]);_0x2cde39[_0x7d5f('0x21')]=qs[_0x7d5f('0x21')](_0x48b138[_0x7d5f('0x35')][_0x7d5f('0x21')]);}return _0x5109a1[_0x7d5f('0x7a')](_0x2cde39);}})['then'](function(_0x573f8c){if(_0x573f8c){return _0x573f8c?{'count':_0x10fcdb,'rows':_0x573f8c}:null;}})[_0x7d5f('0x28')](respondWithResult(_0x3456f2,null))[_0x7d5f('0x53')](handleError(_0x3456f2,null));};