2f94b26a67c1c5bd05460b3e2b2143c02566dbe7
[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 _0xdd30=['sms','whatsapp','voice','isArray','userTeam:remove','getAgents','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','util','to-csv','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','./team.socket','register','sendStatus','status','json','count','offset','limit','set','Content-Range','reject','save','update','then','Teams','UserProfileResource','destroy','end','error','stack','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','options','Team','includeAll','findAll','rows','catch','show','params','include','merge','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','body','findOne','channel','isValidChannel','Sequelize','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','order','Queues','ids','remove','addAgents','Voice','Chat','Sms','Openchannel','Whatsapp','each','User','voicePause','UserVoiceQueueRt','upsert','isNil','format','SIP/%s','omit','spread','emit','userTeam:save','removeAgents','chat','mail'];(function(_0x3853c0,_0x57191c){var _0x228860=function(_0xdad3){while(--_0xdad3){_0x3853c0['push'](_0x3853c0['shift']());}};_0x228860(++_0x57191c);}(_0xdd30,0x102));var _0x0dd3=function(_0x595e1f,_0x3c3c87){_0x595e1f=_0x595e1f-0x0;var _0x396b4d=_0xdd30[_0x595e1f];return _0x396b4d;};'use strict';var pdf=require(_0x0dd3('0x0'));var emlformat=require(_0x0dd3('0x1'));var rimraf=require(_0x0dd3('0x2'));var zipdir=require(_0x0dd3('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0dd3('0x4'));var moment=require(_0x0dd3('0x5'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x0dd3('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x0dd3('0x7'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x0dd3('0x8'));var crypto=require(_0x0dd3('0x9'));var jsforce=require(_0x0dd3('0xa'));var deskjs=require(_0x0dd3('0xb'));var toCsv=require(_0x0dd3('0x7'));var querystring=require(_0x0dd3('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x0dd3('0xd'));var as=require(_0x0dd3('0xe'));var hardwareService=require(_0x0dd3('0xf'));var logger=require(_0x0dd3('0x10'))(_0x0dd3('0x11'));var utils=require(_0x0dd3('0x12'));var config=require(_0x0dd3('0x13'));var licenseUtil=require(_0x0dd3('0x14'));var db=require('../../mysqldb')['db'];config[_0x0dd3('0x15')]=_[_0x0dd3('0x16')](config[_0x0dd3('0x15')],{'host':'localhost','port':0x18eb});var socket=require(_0x0dd3('0x17'))(new Redis(config[_0x0dd3('0x15')]));require(_0x0dd3('0x18'))[_0x0dd3('0x19')](socket);function respondWithStatusCode(_0x19b5cd,_0x2a8569){_0x2a8569=_0x2a8569||0xcc;return function(_0x53e04c){if(_0x53e04c){return _0x19b5cd[_0x0dd3('0x1a')](_0x2a8569);}return _0x19b5cd[_0x0dd3('0x1b')](_0x2a8569)['end']();};}function respondWithResult(_0x494381,_0x1811d0){_0x1811d0=_0x1811d0||0xc8;return function(_0x3632f5){if(_0x3632f5){return _0x494381['status'](_0x1811d0)[_0x0dd3('0x1c')](_0x3632f5);}};}function respondWithFilteredResult(_0x5ed403,_0x3bb581){return function(_0x3597c3){if(_0x3597c3){var _0xb7b5b9=_0x3597c3[_0x0dd3('0x1d')],_0xbdd062=_0x3bb581[_0x0dd3('0x1e')],_0x12d326=_0x3bb581['offset']+_0x3bb581[_0x0dd3('0x1f')],_0x4a7729;if(_0x12d326>=_0xb7b5b9){_0x12d326=_0xb7b5b9;_0x4a7729=0xc8;}else{_0x4a7729=0xce;}_0x5ed403[_0x0dd3('0x1b')](_0x4a7729);return _0x5ed403[_0x0dd3('0x20')](_0x0dd3('0x21'),_0xbdd062+'-'+_0x12d326+'/'+_0xb7b5b9)['json'](_0x3597c3);}return null;};}function patchUpdates(_0x2c5143){return function(_0x10da90){try{jsonpatch['apply'](_0x10da90,_0x2c5143,!![]);}catch(_0x437b58){return BPromise[_0x0dd3('0x22')](_0x437b58);}return _0x10da90[_0x0dd3('0x23')]();};}function saveUpdates(_0x5f5153,_0x5bc9c9){return function(_0x5d74e1){if(_0x5d74e1){return _0x5d74e1[_0x0dd3('0x24')](_0x5f5153)[_0x0dd3('0x25')](function(_0xcb905c){return _0xcb905c;});}return null;};}function removeEntity(_0x4ade3b,_0x3ec08e){return function(_0x1d37cd){if(_0x1d37cd){return _0x1d37cd['destroy']()[_0x0dd3('0x25')](function(){var _0x52a813=_0x1d37cd['get']({'plain':!![]});var _0x3d2533=_0x0dd3('0x26');return db[_0x0dd3('0x27')][_0x0dd3('0x28')]({'where':{'type':_0x3d2533,'resourceId':_0x52a813['id']}})[_0x0dd3('0x25')](function(){return _0x1d37cd;});})[_0x0dd3('0x25')](function(){_0x4ade3b[_0x0dd3('0x1b')](0xcc)[_0x0dd3('0x29')]();});}};}function handleEntityNotFound(_0x13b3d3,_0x1074c4){return function(_0x10cac2){if(!_0x10cac2){_0x13b3d3[_0x0dd3('0x1a')](0x194);}return _0x10cac2;};}function handleError(_0x25df3c,_0x402a12){_0x402a12=_0x402a12||0x1f4;return function(_0x1c6f0d){logger[_0x0dd3('0x2a')](_0x1c6f0d[_0x0dd3('0x2b')]);if(_0x1c6f0d[_0x0dd3('0x2c')]){delete _0x1c6f0d[_0x0dd3('0x2c')];}_0x25df3c[_0x0dd3('0x1b')](_0x402a12)[_0x0dd3('0x2d')](_0x1c6f0d);};}exports['index']=function(_0x4b1973,_0x4f7c03){var _0x44247f={},_0xade5cb={},_0x176f70={'count':0x0,'rows':[]};var _0x453c9d=_[_0x0dd3('0x2e')](db['Team'][_0x0dd3('0x2f')],function(_0x2e15c0){return{'name':_0x2e15c0[_0x0dd3('0x30')],'type':_0x2e15c0[_0x0dd3('0x31')][_0x0dd3('0x32')]};});_0xade5cb[_0x0dd3('0x33')]=_[_0x0dd3('0x2e')](_0x453c9d,_0x0dd3('0x2c'));_0xade5cb[_0x0dd3('0x34')]=_[_0x0dd3('0x35')](_0x4b1973['query']);_0xade5cb[_0x0dd3('0x36')]=_[_0x0dd3('0x37')](_0xade5cb['model'],_0xade5cb[_0x0dd3('0x34')]);_0x44247f[_0x0dd3('0x38')]=_[_0x0dd3('0x37')](_0xade5cb[_0x0dd3('0x33')],qs[_0x0dd3('0x39')](_0x4b1973[_0x0dd3('0x34')][_0x0dd3('0x39')]));_0x44247f[_0x0dd3('0x38')]=_0x44247f['attributes'][_0x0dd3('0x3a')]?_0x44247f['attributes']:_0xade5cb['model'];if(!_0x4b1973[_0x0dd3('0x34')][_0x0dd3('0x3b')](_0x0dd3('0x3c'))){_0x44247f['limit']=qs[_0x0dd3('0x1f')](_0x4b1973['query'][_0x0dd3('0x1f')]);_0x44247f[_0x0dd3('0x1e')]=qs[_0x0dd3('0x1e')](_0x4b1973[_0x0dd3('0x34')]['offset']);}_0x44247f['order']=qs[_0x0dd3('0x3d')](_0x4b1973[_0x0dd3('0x34')][_0x0dd3('0x3d')]);_0x44247f[_0x0dd3('0x3e')]=qs[_0x0dd3('0x36')](_[_0x0dd3('0x3f')](_0x4b1973[_0x0dd3('0x34')],_0xade5cb['filters']),_0x453c9d);if(_0x4b1973[_0x0dd3('0x34')][_0x0dd3('0x40')]){_0x44247f[_0x0dd3('0x3e')]=_['merge'](_0x44247f[_0x0dd3('0x3e')],{'$or':_['map'](_0x453c9d,function(_0x51333f){if(_0x51333f[_0x0dd3('0x31')]!==_0x0dd3('0x41')){var _0x994676={};_0x994676[_0x51333f[_0x0dd3('0x2c')]]={'$like':'%'+_0x4b1973['query']['filter']+'%'};return _0x994676;}})});}_0x44247f=_['merge']({},_0x44247f,_0x4b1973[_0x0dd3('0x42')]);var _0x341aa0={'where':_0x44247f[_0x0dd3('0x3e')]};return db[_0x0dd3('0x43')][_0x0dd3('0x1d')](_0x341aa0)[_0x0dd3('0x25')](function(_0x193ceb){_0x176f70[_0x0dd3('0x1d')]=_0x193ceb;if(_0x4b1973[_0x0dd3('0x34')][_0x0dd3('0x44')]){_0x44247f['include']=[{'all':!![]}];}return db[_0x0dd3('0x43')][_0x0dd3('0x45')](_0x44247f);})[_0x0dd3('0x25')](function(_0x457213){_0x176f70[_0x0dd3('0x46')]=_0x457213;return _0x176f70;})[_0x0dd3('0x25')](respondWithFilteredResult(_0x4f7c03,_0x44247f))[_0x0dd3('0x47')](handleError(_0x4f7c03,null));};exports[_0x0dd3('0x48')]=function(_0x5eeb5c,_0x10e4df){var _0x31e9cb={'raw':![],'where':{'id':_0x5eeb5c[_0x0dd3('0x49')]['id']}},_0x5be0be={};_0x5be0be[_0x0dd3('0x33')]=_[_0x0dd3('0x35')](db[_0x0dd3('0x43')][_0x0dd3('0x2f')]);_0x5be0be[_0x0dd3('0x34')]=_[_0x0dd3('0x35')](_0x5eeb5c[_0x0dd3('0x34')]);_0x5be0be[_0x0dd3('0x36')]=_[_0x0dd3('0x37')](_0x5be0be[_0x0dd3('0x33')],_0x5be0be['query']);_0x31e9cb['attributes']=_[_0x0dd3('0x37')](_0x5be0be[_0x0dd3('0x33')],qs[_0x0dd3('0x39')](_0x5eeb5c[_0x0dd3('0x34')]['fields']));_0x31e9cb['attributes']=_0x31e9cb[_0x0dd3('0x38')]['length']?_0x31e9cb[_0x0dd3('0x38')]:_0x5be0be[_0x0dd3('0x33')];if(_0x5eeb5c[_0x0dd3('0x34')][_0x0dd3('0x44')]){_0x31e9cb[_0x0dd3('0x4a')]=[{'all':!![]}];}_0x31e9cb=_[_0x0dd3('0x4b')]({},_0x31e9cb,_0x5eeb5c[_0x0dd3('0x42')]);return db[_0x0dd3('0x43')]['find'](_0x31e9cb)['then'](handleEntityNotFound(_0x10e4df,null))['then'](respondWithResult(_0x10e4df,null))['catch'](handleError(_0x10e4df,null));};exports[_0x0dd3('0x4c')]=function(_0x218654,_0xf9b96b){return db[_0x0dd3('0x43')][_0x0dd3('0x4c')](_0x218654['body'],{})[_0x0dd3('0x25')](function(_0x211104){var _0x9e06b7=_0x218654[_0x0dd3('0x4d')][_0x0dd3('0x4e')]({'plain':!![]});if(!_0x9e06b7)throw new Error(_0x0dd3('0x4f'));if(_0x9e06b7[_0x0dd3('0x50')]==='user'){var _0x104dc1=_0x211104[_0x0dd3('0x4e')]({'plain':!![]});var _0x31d03a=_0x0dd3('0x26');return db[_0x0dd3('0x51')][_0x0dd3('0x52')]({'where':{'name':_0x31d03a,'userProfileId':_0x9e06b7[_0x0dd3('0x53')]},'raw':!![]})['then'](function(_0x228d34){if(_0x228d34&&_0x228d34[_0x0dd3('0x54')]===0x0){return db[_0x0dd3('0x27')][_0x0dd3('0x4c')]({'name':_0x104dc1['name'],'resourceId':_0x104dc1['id'],'type':_0x228d34[_0x0dd3('0x2c')],'sectionId':_0x228d34['id']},{})[_0x0dd3('0x25')](function(){return _0x211104;});}else{return _0x211104;}})[_0x0dd3('0x47')](function(_0x1f1253){logger[_0x0dd3('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1f1253);throw _0x1f1253;});}return _0x211104;})[_0x0dd3('0x25')](respondWithResult(_0xf9b96b,0xc9))['catch'](handleError(_0xf9b96b,null));};exports['update']=function(_0x2c8622,_0x448c18){if(_0x2c8622[_0x0dd3('0x55')]['id']){delete _0x2c8622[_0x0dd3('0x55')]['id'];}return db[_0x0dd3('0x43')][_0x0dd3('0x52')]({'where':{'id':_0x2c8622[_0x0dd3('0x49')]['id']}})['then'](handleEntityNotFound(_0x448c18,null))['then'](saveUpdates(_0x2c8622[_0x0dd3('0x55')],null))[_0x0dd3('0x25')](respondWithResult(_0x448c18,null))[_0x0dd3('0x47')](handleError(_0x448c18,null));};exports['destroy']=function(_0x5a19e7,_0x26291b){return db['Team'][_0x0dd3('0x52')]({'where':{'id':_0x5a19e7[_0x0dd3('0x49')]['id']}})['then'](handleEntityNotFound(_0x26291b,null))[_0x0dd3('0x25')](removeEntity(_0x26291b,null))[_0x0dd3('0x47')](handleError(_0x26291b,null));};exports['getQueues']=function(_0x511070,_0x3aab01,_0x3427e7){return db['Team'][_0x0dd3('0x56')]({'where':{'id':_0x511070['params']['id']}})[_0x0dd3('0x25')](handleEntityNotFound(_0x3aab01,null))[_0x0dd3('0x25')](function(_0x456ed7){if(!_0x511070['query'][_0x0dd3('0x57')]||!utils[_0x0dd3('0x58')](_0x511070[_0x0dd3('0x34')]['channel'])){throw new db[(_0x0dd3('0x59'))][(_0x0dd3('0x5a'))](_0x0dd3('0x5b'));}var _0x26576c={};var _0x2b3407={};_0x2b3407['model']=_[_0x0dd3('0x35')](db[_[_0x0dd3('0x5c')](_0x511070[_0x0dd3('0x34')][_0x0dd3('0x57')][_0x0dd3('0x5d')]())+_0x0dd3('0x5e')][_0x0dd3('0x2f')]);_0x2b3407[_0x0dd3('0x34')]=_[_0x0dd3('0x35')](_0x511070[_0x0dd3('0x34')]);_0x2b3407[_0x0dd3('0x36')]=_[_0x0dd3('0x37')](_0x2b3407['model'],_0x2b3407[_0x0dd3('0x34')]);_0x26576c['attributes']=_[_0x0dd3('0x37')](_0x2b3407[_0x0dd3('0x33')],qs[_0x0dd3('0x39')](_0x511070[_0x0dd3('0x34')][_0x0dd3('0x39')]));_0x26576c['attributes']=_0x26576c[_0x0dd3('0x38')][_0x0dd3('0x3a')]?_0x26576c[_0x0dd3('0x38')]:_0x2b3407[_0x0dd3('0x33')];_0x26576c[_0x0dd3('0x1f')]=qs[_0x0dd3('0x1f')](_0x511070['query'][_0x0dd3('0x1f')]);_0x26576c[_0x0dd3('0x1e')]=qs[_0x0dd3('0x1e')](_0x511070[_0x0dd3('0x34')][_0x0dd3('0x1e')]);_0x26576c[_0x0dd3('0x5f')]=qs['sort'](_0x511070['query'][_0x0dd3('0x3d')]);_0x26576c[_0x0dd3('0x3e')]=qs[_0x0dd3('0x36')](_[_0x0dd3('0x3f')](_0x511070['query'],_0x2b3407[_0x0dd3('0x36')]));_0x26576c=_['merge']({},_0x26576c,_0x511070[_0x0dd3('0x42')]);return _0x456ed7[_0x0dd3('0x4e')+_[_0x0dd3('0x5c')](_0x511070[_0x0dd3('0x34')]['channel']['toLowerCase']())+_0x0dd3('0x60')](_0x26576c);})[_0x0dd3('0x25')](respondWithResult(_0x3aab01,null))['catch'](handleError(_0x3aab01,null));};exports['addQueues']=function(_0x26ccd9,_0x506a14,_0x22e5b7){return db[_0x0dd3('0x43')]['findOne']({'where':{'id':_0x26ccd9[_0x0dd3('0x49')]['id']}})[_0x0dd3('0x25')](function(_0x414c95){if(_0x414c95){if(!_0x26ccd9[_0x0dd3('0x55')][_0x0dd3('0x57')]||!utils['isValidChannel'](_0x26ccd9[_0x0dd3('0x55')][_0x0dd3('0x57')])){throw new db['Sequelize']['ValidationError'](_0x0dd3('0x5b'));}return _0x414c95['add'+_['capitalize'](_0x26ccd9[_0x0dd3('0x55')]['channel'][_0x0dd3('0x5d')]())+_0x0dd3('0x60')](_0x26ccd9[_0x0dd3('0x55')][_0x0dd3('0x61')]);}return null;})['then'](handleEntityNotFound(_0x506a14,null))['then'](respondWithStatusCode(_0x506a14,null))[_0x0dd3('0x47')](handleError(_0x506a14,null));};exports['removeQueues']=function(_0x47df8f,_0x33375b,_0x154bcd){return db[_0x0dd3('0x43')][_0x0dd3('0x56')]({'where':{'id':_0x47df8f['params']['id']}})['then'](function(_0xa53aca){if(_0xa53aca){if(!_0x47df8f[_0x0dd3('0x34')][_0x0dd3('0x57')]||!utils[_0x0dd3('0x58')](_0x47df8f[_0x0dd3('0x34')]['channel'])){throw new db['Sequelize'][(_0x0dd3('0x5a'))](_0x0dd3('0x5b'));}return _0xa53aca[_0x0dd3('0x62')+_['capitalize'](_0x47df8f[_0x0dd3('0x34')]['channel'][_0x0dd3('0x5d')]())+_0x0dd3('0x60')](_0x47df8f['query'][_0x0dd3('0x61')]);}return null;})[_0x0dd3('0x25')](handleEntityNotFound(_0x33375b,null))[_0x0dd3('0x25')](respondWithStatusCode(_0x33375b,null))['catch'](handleError(_0x33375b,null));};exports[_0x0dd3('0x63')]=function(_0x3bb382,_0x2e94bc,_0x3bd83f){return db[_0x0dd3('0x43')][_0x0dd3('0x52')]({'where':{'id':_0x3bb382['params']['id']}})['then'](handleEntityNotFound(_0x2e94bc,null))[_0x0dd3('0x25')](function(_0x4f7081){if(_0x4f7081){var _0x4fac31=[_0x0dd3('0x64'),_0x0dd3('0x65'),'Mail',_0x0dd3('0x66'),'Fax',_0x0dd3('0x67'),_0x0dd3('0x68')];return BPromise[_0x0dd3('0x69')](_0x4fac31,function(_0x8f9f7e){return _0x4f7081['get'+_0x8f9f7e+_0x0dd3('0x60')]({'attributes':['id','name']})['then'](function(_0x232a01){return BPromise[_0x0dd3('0x69')](_0x232a01,function(_0x3e6da4){return _0x3e6da4['addAgents'](_0x3bb382[_0x0dd3('0x55')][_0x0dd3('0x61')])[_0x0dd3('0x25')](function(){if(_0x8f9f7e==='Voice'){return db[_0x0dd3('0x6a')][_0x0dd3('0x45')]({'where':{'id':_0x3bb382[_0x0dd3('0x55')][_0x0dd3('0x61')]},'attributes':['id',_0x0dd3('0x2c'),'online',_0x0dd3('0x6b'),'interface'],'raw':!![]})[_0x0dd3('0x25')](function(_0x4c9b3b){return BPromise['each'](_[_0x0dd3('0x40')](_0x4c9b3b,{'online':0x1}),function(_0x30070e){return db[_0x0dd3('0x6c')][_0x0dd3('0x6d')]({'membername':_0x30070e[_0x0dd3('0x2c')],'UserId':_0x30070e['id'],'queue_name':_0x3e6da4[_0x0dd3('0x2c')],'VoiceQueueId':_0x3e6da4['id'],'interface':_[_0x0dd3('0x6e')](_0x30070e['interface'])?util[_0x0dd3('0x6f')](_0x0dd3('0x70'),_0x30070e[_0x0dd3('0x2c')]):_0x30070e['interface'],'paused':_0x30070e['voicePause']||![],'penalty':0x0});});});}});});})[_0x0dd3('0x25')](function(){return _0x4f7081;});})[_0x0dd3('0x25')](function(){return _0x4f7081;});}})['then'](function(_0x44f341){if(_0x44f341){return _0x44f341[_0x0dd3('0x63')](_0x3bb382['body']['ids'],_[_0x0dd3('0x71')](_0x3bb382[_0x0dd3('0x55')],[_0x0dd3('0x61'),'id'])||{})[_0x0dd3('0x72')](function(_0x2dca3d){for(var _0x1dd137=0x0;_0x1dd137<_0x3bb382[_0x0dd3('0x55')][_0x0dd3('0x61')][_0x0dd3('0x3a')];_0x1dd137+=0x1){socket[_0x0dd3('0x73')](_0x0dd3('0x74'),{'UserId':_0x3bb382[_0x0dd3('0x55')]['ids'][_0x1dd137],'TeamId':_0x3bb382['params']['id']});}return _0x2dca3d;});}})[_0x0dd3('0x25')](respondWithResult(_0x2e94bc,null))[_0x0dd3('0x47')](handleError(_0x2e94bc,null));};exports[_0x0dd3('0x75')]=function(_0x4e75a6,_0x13e8ec,_0x2187d7){return db['Team'][_0x0dd3('0x52')]({'where':{'id':_0x4e75a6[_0x0dd3('0x49')]['id']}})['then'](handleEntityNotFound(_0x13e8ec,null))['then'](function(_0x5f2244){if(_0x5f2244){return BPromise[_0x0dd3('0x69')](['voice',_0x0dd3('0x76'),_0x0dd3('0x77'),_0x0dd3('0x78'),'fax','openchannel',_0x0dd3('0x79')],function(_0x34a2ef){return _0x5f2244[_0x0dd3('0x4e')+_[_0x0dd3('0x5c')](_0x34a2ef)+_0x0dd3('0x60')]({'attributes':['id','name']})['then'](function(_0x1b322a){return BPromise[_0x0dd3('0x69')](_0x1b322a,function(_0x130b63){return _0x130b63[_0x0dd3('0x75')](_0x4e75a6[_0x0dd3('0x34')][_0x0dd3('0x61')])[_0x0dd3('0x25')](function(){if(_0x34a2ef===_0x0dd3('0x7a')){return db[_0x0dd3('0x6c')][_0x0dd3('0x28')]({'where':{'VoiceQueueId':_0x130b63['id'],'UserId':_0x4e75a6[_0x0dd3('0x34')][_0x0dd3('0x61')]}});}});});})[_0x0dd3('0x25')](function(){return _0x5f2244;});})['then'](function(){return _0x5f2244;});}})[_0x0dd3('0x25')](function(_0x5108e8){if(_0x5108e8){return _0x5108e8[_0x0dd3('0x75')](_0x4e75a6[_0x0dd3('0x34')][_0x0dd3('0x61')])['then'](function(){if(_[_0x0dd3('0x7b')](_0x4e75a6['query']['ids'])){for(var _0x3d2f59=0x0;_0x3d2f59<_0x4e75a6[_0x0dd3('0x34')]['ids']['length'];_0x3d2f59+=0x1){socket['emit']('userTeam:remove',{'UserId':Number(_0x4e75a6[_0x0dd3('0x34')][_0x0dd3('0x61')][_0x3d2f59]),'TeamId':Number(_0x4e75a6[_0x0dd3('0x49')]['id'])});}}else{socket[_0x0dd3('0x73')](_0x0dd3('0x7c'),{'UserId':Number(_0x4e75a6[_0x0dd3('0x34')][_0x0dd3('0x61')]),'TeamId':Number(_0x4e75a6[_0x0dd3('0x49')]['id'])});}});}})['then'](respondWithStatusCode(_0x13e8ec,null))[_0x0dd3('0x47')](handleError(_0x13e8ec,null));};exports[_0x0dd3('0x7d')]=function(_0x23b7d3,_0x5319d8,_0x430efd){var _0x169958={};var _0x5b83e9={};var _0x20292a;var _0x5e6bab;return db['Team'][_0x0dd3('0x56')]({'where':{'id':_0x23b7d3[_0x0dd3('0x49')]['id']}})[_0x0dd3('0x25')](handleEntityNotFound(_0x5319d8,null))['then'](function(_0x54be1d){if(_0x54be1d){_0x20292a=_0x54be1d;_0x5b83e9[_0x0dd3('0x33')]=_[_0x0dd3('0x35')](db[_0x0dd3('0x6a')][_0x0dd3('0x2f')]);_0x5b83e9['query']=_[_0x0dd3('0x35')](_0x23b7d3[_0x0dd3('0x34')]);_0x5b83e9[_0x0dd3('0x36')]=_[_0x0dd3('0x37')](_0x5b83e9['model'],_0x5b83e9['query']);_0x169958[_0x0dd3('0x38')]=_[_0x0dd3('0x37')](_0x5b83e9[_0x0dd3('0x33')],qs['fields'](_0x23b7d3[_0x0dd3('0x34')][_0x0dd3('0x39')]));_0x169958['attributes']=_0x169958[_0x0dd3('0x38')][_0x0dd3('0x3a')]?_0x169958['attributes']:_0x5b83e9[_0x0dd3('0x33')];_0x169958[_0x0dd3('0x5f')]=qs[_0x0dd3('0x3d')](_0x23b7d3['query'][_0x0dd3('0x3d')]);_0x169958[_0x0dd3('0x3e')]=qs['filters'](_['pick'](_0x23b7d3[_0x0dd3('0x34')],_0x5b83e9[_0x0dd3('0x36')]));if(_0x23b7d3[_0x0dd3('0x34')][_0x0dd3('0x40')]){_0x169958['where']=_[_0x0dd3('0x4b')](_0x169958[_0x0dd3('0x3e')],{'$or':_['map'](_0x169958[_0x0dd3('0x38')],function(_0x24df09){var _0x46f300={};_0x46f300[_0x24df09]={'$like':'%'+_0x23b7d3[_0x0dd3('0x34')][_0x0dd3('0x40')]+'%'};return _0x46f300;})});}_0x169958=_[_0x0dd3('0x4b')]({},_0x169958,_0x23b7d3['options']);return _0x20292a[_0x0dd3('0x7d')](_0x169958);}})[_0x0dd3('0x25')](function(_0xd42403){if(_0xd42403){_0x5e6bab=_0xd42403['length'];if(!_0x23b7d3['query'][_0x0dd3('0x3b')](_0x0dd3('0x3c'))){_0x169958[_0x0dd3('0x1f')]=qs[_0x0dd3('0x1f')](_0x23b7d3[_0x0dd3('0x34')][_0x0dd3('0x1f')]);_0x169958[_0x0dd3('0x1e')]=qs[_0x0dd3('0x1e')](_0x23b7d3['query']['offset']);}return _0x20292a['getAgents'](_0x169958);}})[_0x0dd3('0x25')](function(_0x212d5a){if(_0x212d5a){return _0x212d5a?{'count':_0x5e6bab,'rows':_0x212d5a}:null;}})[_0x0dd3('0x25')](respondWithResult(_0x5319d8,null))['catch'](handleError(_0x5319d8,null));};