cd2db7c90f6fac0975667b11ea7f40dae01404b8
[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 _0xce9b=['options','Team','includeAll','include','findAll','rows','catch','show','params','create','body','role','user','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','findOne','isValidChannel','Sequelize','ValidationError','Unknown\x20channel','channel','toLowerCase','Queue','Queues','addQueues','add','removeQueues','remove','capitalize','ids','Voice','Chat','Mail','Sms','Openchannel','Whatsapp','sequelize','transaction','through','TeamVoiceQueue','penalty','User','findOrCreate','emit','Queue:save','QueueId','online','voicePause','interface','UserVoiceQueueRt','format','SIP/%s','all','spread','removeAgents','Fax','parse','hasOwnProperty','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./team.socket','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','get','Teams','UserProfileResource','destroy','stack','send','index','rawAttributes','fieldName','type','key','model','map','name','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL'];(function(_0x55d4c1,_0x132127){var _0x415c51=function(_0x275c3b){while(--_0x275c3b){_0x55d4c1['push'](_0x55d4c1['shift']());}};_0x415c51(++_0x132127);}(_0xce9b,0xc6));var _0xbce9=function(_0x5eface,_0x783140){_0x5eface=_0x5eface-0x0;var _0x3418b2=_0xce9b[_0x5eface];return _0x3418b2;};'use strict';var emlformat=require(_0xbce9('0x0'));var rimraf=require(_0xbce9('0x1'));var zipdir=require(_0xbce9('0x2'));var jsonpatch=require(_0xbce9('0x3'));var rp=require(_0xbce9('0x4'));var moment=require(_0xbce9('0x5'));var BPromise=require(_0xbce9('0x6'));var Mustache=require(_0xbce9('0x7'));var util=require('util');var path=require(_0xbce9('0x8'));var sox=require(_0xbce9('0x9'));var csv=require(_0xbce9('0xa'));var ejs=require(_0xbce9('0xb'));var fs=require('fs');var fs_extra=require(_0xbce9('0xc'));var _=require(_0xbce9('0xd'));var squel=require(_0xbce9('0xe'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xbce9('0xf'));var toCsv=require(_0xbce9('0xa'));var querystring=require('querystring');var Papa=require(_0xbce9('0x10'));var Redis=require(_0xbce9('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xbce9('0x12'));var hardwareService=require(_0xbce9('0x13'));var logger=require(_0xbce9('0x14'))('api');var utils=require('../../config/utils');var config=require(_0xbce9('0x15'));var licenseUtil=require(_0xbce9('0x16'));var db=require(_0xbce9('0x17'))['db'];config[_0xbce9('0x18')]=_[_0xbce9('0x19')](config[_0xbce9('0x18')],{'host':_0xbce9('0x1a'),'port':0x18eb});var socket=require(_0xbce9('0x1b'))(new Redis(config[_0xbce9('0x18')]));require(_0xbce9('0x1c'))['register'](socket);function respondWithStatusCode(_0x4353ae,_0x3376d3){_0x3376d3=_0x3376d3||0xcc;return function(_0x12d5df){if(_0x12d5df){return _0x4353ae[_0xbce9('0x1d')](_0x3376d3);}return _0x4353ae[_0xbce9('0x1e')](_0x3376d3)['end']();};}function respondWithResult(_0x19f941,_0x3a5312){_0x3a5312=_0x3a5312||0xc8;return function(_0x326a5e){if(_0x326a5e){return _0x19f941[_0xbce9('0x1e')](_0x3a5312)[_0xbce9('0x1f')](_0x326a5e);}};}function respondWithFilteredResult(_0x420efe,_0x22e6ec){return function(_0x2b1104){if(_0x2b1104){var _0x371483=typeof _0x22e6ec[_0xbce9('0x20')]===_0xbce9('0x21')&&typeof _0x22e6ec[_0xbce9('0x22')]==='undefined';var _0x443c95=_0x2b1104[_0xbce9('0x23')];var _0x1c08b8=_0x371483?0x0:_0x22e6ec[_0xbce9('0x20')];var _0x1e1284=_0x371483?_0x2b1104[_0xbce9('0x23')]:_0x22e6ec['offset']+_0x22e6ec[_0xbce9('0x22')];var _0x103f2d;if(_0x1e1284>=_0x443c95){_0x1e1284=_0x443c95;_0x103f2d=0xc8;}else{_0x103f2d=0xce;}_0x420efe[_0xbce9('0x1e')](_0x103f2d);return _0x420efe[_0xbce9('0x24')](_0xbce9('0x25'),_0x1c08b8+'-'+_0x1e1284+'/'+_0x443c95)[_0xbce9('0x1f')](_0x2b1104);}return null;};}function patchUpdates(_0x337210){return function(_0x22ea13){try{jsonpatch[_0xbce9('0x26')](_0x22ea13,_0x337210,!![]);}catch(_0xcb2cf){return BPromise[_0xbce9('0x27')](_0xcb2cf);}return _0x22ea13[_0xbce9('0x28')]();};}function saveUpdates(_0x379567,_0x473645){return function(_0x39e3b8){if(_0x39e3b8){return _0x39e3b8[_0xbce9('0x29')](_0x379567)[_0xbce9('0x2a')](function(_0x2544c8){return _0x2544c8;});}return null;};}function removeEntity(_0x5e73a8,_0x55f5d5){return function(_0x411951){if(_0x411951){return _0x411951['destroy']()[_0xbce9('0x2a')](function(){var _0x3d8777=_0x411951[_0xbce9('0x2b')]({'plain':!![]});var _0x1dd967=_0xbce9('0x2c');return db[_0xbce9('0x2d')][_0xbce9('0x2e')]({'where':{'type':_0x1dd967,'resourceId':_0x3d8777['id']}})[_0xbce9('0x2a')](function(){return _0x411951;});})[_0xbce9('0x2a')](function(){_0x5e73a8[_0xbce9('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x53e69d,_0x33aa48){return function(_0x5125f5){if(!_0x5125f5){_0x53e69d[_0xbce9('0x1d')](0x194);}return _0x5125f5;};}function handleError(_0x81b807,_0x5c4db2){_0x5c4db2=_0x5c4db2||0x1f4;return function(_0x1b0cc0){logger['error'](_0x1b0cc0[_0xbce9('0x2f')]);if(_0x1b0cc0['name']){delete _0x1b0cc0['name'];}_0x81b807[_0xbce9('0x1e')](_0x5c4db2)[_0xbce9('0x30')](_0x1b0cc0);};}exports[_0xbce9('0x31')]=function(_0x571198,_0x5039ac){var _0x286b56={},_0x5407f1={},_0x4b2ab4={'count':0x0,'rows':[]};var _0x237f95=_['map'](db['Team'][_0xbce9('0x32')],function(_0x53db53){return{'name':_0x53db53[_0xbce9('0x33')],'type':_0x53db53[_0xbce9('0x34')][_0xbce9('0x35')]};});_0x5407f1[_0xbce9('0x36')]=_[_0xbce9('0x37')](_0x237f95,_0xbce9('0x38'));_0x5407f1[_0xbce9('0x39')]=_[_0xbce9('0x3a')](_0x571198[_0xbce9('0x39')]);_0x5407f1[_0xbce9('0x3b')]=_[_0xbce9('0x3c')](_0x5407f1[_0xbce9('0x36')],_0x5407f1[_0xbce9('0x39')]);_0x286b56['attributes']=_[_0xbce9('0x3c')](_0x5407f1[_0xbce9('0x36')],qs[_0xbce9('0x3d')](_0x571198['query'][_0xbce9('0x3d')]));_0x286b56[_0xbce9('0x3e')]=_0x286b56[_0xbce9('0x3e')][_0xbce9('0x3f')]?_0x286b56[_0xbce9('0x3e')]:_0x5407f1['model'];if(!_0x571198['query']['hasOwnProperty'](_0xbce9('0x40'))){_0x286b56[_0xbce9('0x22')]=qs[_0xbce9('0x22')](_0x571198[_0xbce9('0x39')][_0xbce9('0x22')]);_0x286b56[_0xbce9('0x20')]=qs[_0xbce9('0x20')](_0x571198[_0xbce9('0x39')][_0xbce9('0x20')]);}_0x286b56[_0xbce9('0x41')]=qs[_0xbce9('0x42')](_0x571198[_0xbce9('0x39')][_0xbce9('0x42')]);_0x286b56[_0xbce9('0x43')]=qs[_0xbce9('0x3b')](_[_0xbce9('0x44')](_0x571198[_0xbce9('0x39')],_0x5407f1[_0xbce9('0x3b')]),_0x237f95);if(_0x571198[_0xbce9('0x39')][_0xbce9('0x45')]){_0x286b56['where']=_[_0xbce9('0x46')](_0x286b56[_0xbce9('0x43')],{'$or':_[_0xbce9('0x37')](_0x237f95,function(_0x52bb9f){if(_0x52bb9f['type']!==_0xbce9('0x47')){var _0x4485cf={};_0x4485cf[_0x52bb9f[_0xbce9('0x38')]]={'$like':'%'+_0x571198[_0xbce9('0x39')]['filter']+'%'};return _0x4485cf;}})});}_0x286b56=_[_0xbce9('0x46')]({},_0x286b56,_0x571198[_0xbce9('0x48')]);var _0xb549ce={'where':_0x286b56[_0xbce9('0x43')]};return db[_0xbce9('0x49')]['count'](_0xb549ce)['then'](function(_0x2e8838){_0x4b2ab4[_0xbce9('0x23')]=_0x2e8838;if(_0x571198[_0xbce9('0x39')][_0xbce9('0x4a')]){_0x286b56[_0xbce9('0x4b')]=[{'all':!![]}];}return db['Team'][_0xbce9('0x4c')](_0x286b56);})[_0xbce9('0x2a')](function(_0x330607){_0x4b2ab4[_0xbce9('0x4d')]=_0x330607;return _0x4b2ab4;})[_0xbce9('0x2a')](respondWithFilteredResult(_0x5039ac,_0x286b56))[_0xbce9('0x4e')](handleError(_0x5039ac,null));};exports[_0xbce9('0x4f')]=function(_0x4f7e54,_0x45865b){var _0x1d9bb5={'raw':![],'where':{'id':_0x4f7e54[_0xbce9('0x50')]['id']}},_0x314e86={};_0x314e86[_0xbce9('0x36')]=_['keys'](db['Team'][_0xbce9('0x32')]);_0x314e86[_0xbce9('0x39')]=_[_0xbce9('0x3a')](_0x4f7e54[_0xbce9('0x39')]);_0x314e86[_0xbce9('0x3b')]=_[_0xbce9('0x3c')](_0x314e86[_0xbce9('0x36')],_0x314e86[_0xbce9('0x39')]);_0x1d9bb5['attributes']=_[_0xbce9('0x3c')](_0x314e86[_0xbce9('0x36')],qs[_0xbce9('0x3d')](_0x4f7e54['query']['fields']));_0x1d9bb5[_0xbce9('0x3e')]=_0x1d9bb5[_0xbce9('0x3e')][_0xbce9('0x3f')]?_0x1d9bb5[_0xbce9('0x3e')]:_0x314e86[_0xbce9('0x36')];if(_0x4f7e54[_0xbce9('0x39')][_0xbce9('0x4a')]){_0x1d9bb5[_0xbce9('0x4b')]=[{'all':!![]}];}_0x1d9bb5=_['merge']({},_0x1d9bb5,_0x4f7e54['options']);return db[_0xbce9('0x49')]['find'](_0x1d9bb5)['then'](handleEntityNotFound(_0x45865b,null))[_0xbce9('0x2a')](respondWithResult(_0x45865b,null))[_0xbce9('0x4e')](handleError(_0x45865b,null));};exports[_0xbce9('0x51')]=function(_0x255f25,_0x472f08){return db[_0xbce9('0x49')][_0xbce9('0x51')](_0x255f25[_0xbce9('0x52')],{})[_0xbce9('0x2a')](function(_0xba0cc2){var _0x5a173a=_0x255f25['user'][_0xbce9('0x2b')]({'plain':!![]});if(!_0x5a173a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5a173a[_0xbce9('0x53')]===_0xbce9('0x54')){var _0x5a0f56=_0xba0cc2['get']({'plain':!![]});var _0x3ace5d=_0xbce9('0x2c');return db[_0xbce9('0x55')][_0xbce9('0x56')]({'where':{'name':_0x3ace5d,'userProfileId':_0x5a173a[_0xbce9('0x57')]},'raw':!![]})[_0xbce9('0x2a')](function(_0x2b4d5a){if(_0x2b4d5a&&_0x2b4d5a[_0xbce9('0x58')]===0x0){return db['UserProfileResource'][_0xbce9('0x51')]({'name':_0x5a0f56[_0xbce9('0x38')],'resourceId':_0x5a0f56['id'],'type':_0x2b4d5a['name'],'sectionId':_0x2b4d5a['id']},{})[_0xbce9('0x2a')](function(){return _0xba0cc2;});}else{return _0xba0cc2;}})['catch'](function(_0x1cc2a7){logger[_0xbce9('0x59')](_0xbce9('0x5a'),_0x1cc2a7);throw _0x1cc2a7;});}return _0xba0cc2;})[_0xbce9('0x2a')](respondWithResult(_0x472f08,0xc9))[_0xbce9('0x4e')](handleError(_0x472f08,null));};exports['update']=function(_0x55d333,_0x583567){if(_0x55d333['body']['id']){delete _0x55d333['body']['id'];}return db[_0xbce9('0x49')]['find']({'where':{'id':_0x55d333[_0xbce9('0x50')]['id']}})[_0xbce9('0x2a')](handleEntityNotFound(_0x583567,null))[_0xbce9('0x2a')](saveUpdates(_0x55d333[_0xbce9('0x52')],null))[_0xbce9('0x2a')](respondWithResult(_0x583567,null))['catch'](handleError(_0x583567,null));};exports[_0xbce9('0x2e')]=function(_0x2a2353,_0xc01ebf){return db['Team'][_0xbce9('0x56')]({'where':{'id':_0x2a2353[_0xbce9('0x50')]['id']}})[_0xbce9('0x2a')](handleEntityNotFound(_0xc01ebf,null))[_0xbce9('0x2a')](removeEntity(_0xc01ebf,null))['catch'](handleError(_0xc01ebf,null));};exports['getQueues']=function(_0x527297,_0x26c928,_0x531e86){return db[_0xbce9('0x49')][_0xbce9('0x5b')]({'where':{'id':_0x527297['params']['id']}})['then'](handleEntityNotFound(_0x26c928,null))['then'](function(_0x25c544){if(!_0x527297['query']['channel']||!utils[_0xbce9('0x5c')](_0x527297['query']['channel'])){throw new db[(_0xbce9('0x5d'))][(_0xbce9('0x5e'))](_0xbce9('0x5f'));}var _0xa0a88e={};var _0x3bd4e7={};_0x3bd4e7[_0xbce9('0x36')]=_[_0xbce9('0x3a')](db[_['capitalize'](_0x527297[_0xbce9('0x39')][_0xbce9('0x60')][_0xbce9('0x61')]())+_0xbce9('0x62')][_0xbce9('0x32')]);_0x3bd4e7['query']=_['keys'](_0x527297['query']);_0x3bd4e7[_0xbce9('0x3b')]=_['intersection'](_0x3bd4e7[_0xbce9('0x36')],_0x3bd4e7[_0xbce9('0x39')]);_0xa0a88e[_0xbce9('0x3e')]=_['intersection'](_0x3bd4e7['model'],qs[_0xbce9('0x3d')](_0x527297[_0xbce9('0x39')]['fields']));_0xa0a88e[_0xbce9('0x3e')]=_0xa0a88e[_0xbce9('0x3e')][_0xbce9('0x3f')]?_0xa0a88e['attributes']:_0x3bd4e7[_0xbce9('0x36')];_0xa0a88e[_0xbce9('0x22')]=qs[_0xbce9('0x22')](_0x527297[_0xbce9('0x39')][_0xbce9('0x22')]);_0xa0a88e['offset']=qs['offset'](_0x527297[_0xbce9('0x39')]['offset']);_0xa0a88e[_0xbce9('0x41')]=qs[_0xbce9('0x42')](_0x527297['query']['sort']);_0xa0a88e[_0xbce9('0x43')]=qs[_0xbce9('0x3b')](_[_0xbce9('0x44')](_0x527297[_0xbce9('0x39')],_0x3bd4e7[_0xbce9('0x3b')]));_0xa0a88e=_[_0xbce9('0x46')]({},_0xa0a88e,_0x527297[_0xbce9('0x48')]);return _0x25c544['get'+_['capitalize'](_0x527297[_0xbce9('0x39')][_0xbce9('0x60')][_0xbce9('0x61')]())+_0xbce9('0x63')](_0xa0a88e);})['then'](respondWithResult(_0x26c928,null))[_0xbce9('0x4e')](handleError(_0x26c928,null));};exports[_0xbce9('0x64')]=function(_0x47c3b8,_0x4ca962,_0x2b2620){return db[_0xbce9('0x49')][_0xbce9('0x5b')]({'where':{'id':_0x47c3b8[_0xbce9('0x50')]['id']}})[_0xbce9('0x2a')](function(_0x2f21da){if(_0x2f21da){if(!_0x47c3b8[_0xbce9('0x52')][_0xbce9('0x60')]||!utils[_0xbce9('0x5c')](_0x47c3b8[_0xbce9('0x52')][_0xbce9('0x60')])){throw new db[(_0xbce9('0x5d'))][(_0xbce9('0x5e'))](_0xbce9('0x5f'));}return _0x2f21da[_0xbce9('0x65')+_['capitalize'](_0x47c3b8[_0xbce9('0x52')][_0xbce9('0x60')][_0xbce9('0x61')]())+'Queues'](_0x47c3b8[_0xbce9('0x52')]['ids']);}return null;})[_0xbce9('0x2a')](handleEntityNotFound(_0x4ca962,null))['then'](respondWithStatusCode(_0x4ca962,null))[_0xbce9('0x4e')](handleError(_0x4ca962,null));};exports[_0xbce9('0x66')]=function(_0x350650,_0xc08f83,_0x30af2d){return db[_0xbce9('0x49')][_0xbce9('0x5b')]({'where':{'id':_0x350650[_0xbce9('0x50')]['id']}})[_0xbce9('0x2a')](function(_0x43cd99){if(_0x43cd99){if(!_0x350650[_0xbce9('0x39')][_0xbce9('0x60')]||!utils['isValidChannel'](_0x350650['query'][_0xbce9('0x60')])){throw new db[(_0xbce9('0x5d'))][(_0xbce9('0x5e'))]('Unknown\x20channel');}return _0x43cd99[_0xbce9('0x67')+_[_0xbce9('0x68')](_0x350650[_0xbce9('0x39')][_0xbce9('0x60')][_0xbce9('0x61')]())+'Queues'](_0x350650['query'][_0xbce9('0x69')]);}return null;})[_0xbce9('0x2a')](handleEntityNotFound(_0xc08f83,null))[_0xbce9('0x2a')](respondWithStatusCode(_0xc08f83,null))[_0xbce9('0x4e')](handleError(_0xc08f83,null));};exports['addAgents']=function(_0x1470cb,_0x3caac7){return db[_0xbce9('0x49')][_0xbce9('0x56')]({'where':{'id':_0x1470cb[_0xbce9('0x50')]['id']}})[_0xbce9('0x2a')](handleEntityNotFound(_0x3caac7,null))[_0xbce9('0x2a')](function(_0x3b61dc){if(_0x3b61dc){var _0x336daa=[_0xbce9('0x6a'),_0xbce9('0x6b'),_0xbce9('0x6c'),_0xbce9('0x6d'),'Fax',_0xbce9('0x6e'),_0xbce9('0x6f')];return db[_0xbce9('0x70')][_0xbce9('0x71')](function(_0x5db945){var _0x3b4cde=_[_0xbce9('0x37')](_0x336daa,function(_0xe49c0d){var _0x1b8880={'attributes':['id',_0xbce9('0x38')]};if(_0xe49c0d==='Voice'){_0x1b8880[_0xbce9('0x72')]={'attributes':['penalty']};}return _0x3b61dc['get'+_0xe49c0d+'Queues'](_0x1b8880)['then'](function(_0x462c04){var _0x701682=_[_0xbce9('0x37')](_0x462c04,function(_0x1153f8){var _0x45adc3=_['map'](_0x1470cb[_0xbce9('0x52')][_0xbce9('0x69')],function(_0x45faa8){var _0xc1c1e9={'where':{'UserId':_0x45faa8,[_0xe49c0d+'QueueId']:_0x1153f8['id']},'transaction':_0x5db945};if(_0xe49c0d===_0xbce9('0x6a')){_0xc1c1e9[_0xbce9('0x19')]={'penalty':_0x1153f8[_0xbce9('0x73')][_0xbce9('0x74')]};}return db[_0xbce9('0x75')+_0xe49c0d+_0xbce9('0x62')][_0xbce9('0x76')](_0xc1c1e9)['then'](function(){socket[_0xbce9('0x77')]('user'+_0xe49c0d+_0xbce9('0x78'),{'UserId':_0x45faa8,[_0xe49c0d+_0xbce9('0x79')]:_0x1153f8['id']});if(_0xe49c0d!=='Voice')return;return db[_0xbce9('0x75')][_0xbce9('0x4c')]({'where':{'id':_0x1470cb[_0xbce9('0x52')][_0xbce9('0x69')],'online':0x1},'attributes':['id','name',_0xbce9('0x7a'),_0xbce9('0x7b'),_0xbce9('0x7c')],'raw':!![]})['then'](function(_0x203893){var _0x4c32d2=_['map'](_0x203893,function(_0x390728){return db[_0xbce9('0x7d')]['upsert']({'membername':_0x390728[_0xbce9('0x38')],'UserId':_0x390728['id'],'queue_name':_0x1153f8['name'],'VoiceQueueId':_0x1153f8['id'],'interface':_['isNil'](_0x390728[_0xbce9('0x7c')])?util[_0xbce9('0x7e')](_0xbce9('0x7f'),_0x390728[_0xbce9('0x38')]):_0x390728[_0xbce9('0x7c')],'paused':_0x390728[_0xbce9('0x7b')]||![],'penalty':_0x1153f8[_0xbce9('0x73')][_0xbce9('0x74')]},{'transaction':_0x5db945});});return Promise[_0xbce9('0x80')](_0x4c32d2);});});});return Promise[_0xbce9('0x80')](_0x45adc3);});return Promise[_0xbce9('0x80')](_0x701682);});});return Promise[_0xbce9('0x80')](_0x3b4cde)[_0xbce9('0x2a')](function(){return _0x3b61dc['addAgents'](_0x1470cb['body']['ids'],{'transaction':_0x5db945})[_0xbce9('0x81')](function(_0x19cbb8){return _0x19cbb8;});});});}})[_0xbce9('0x2a')](respondWithResult(_0x3caac7,null))['catch'](handleError(_0x3caac7,null));};exports[_0xbce9('0x82')]=function(_0x322682,_0x3bf24c){return db[_0xbce9('0x49')][_0xbce9('0x56')]({'where':{'id':_0x322682['params']['id']}})['then'](handleEntityNotFound(_0x3bf24c,null))[_0xbce9('0x2a')](function(_0x382a3b){if(_0x382a3b){var _0x152e5b=[_0xbce9('0x6a'),_0xbce9('0x6b'),_0xbce9('0x6c'),_0xbce9('0x6d'),_0xbce9('0x83'),_0xbce9('0x6e'),_0xbce9('0x6f')];return db[_0xbce9('0x70')][_0xbce9('0x71')](function(_0x2bdb03){var _0x1028a6=_[_0xbce9('0x37')](_0x152e5b,function(_0x504ace){var _0xae0401={'attributes':['id',_0xbce9('0x38')]};return _0x382a3b[_0xbce9('0x2b')+_0x504ace+_0xbce9('0x63')](_0xae0401)[_0xbce9('0x2a')](function(_0xe1d559){var _0x5ea8f5=_[_0xbce9('0x37')](_0xe1d559,function(_0x3ae153){return _0x3ae153[_0xbce9('0x82')](_0x322682[_0xbce9('0x39')][_0xbce9('0x69')],{'transaction':_0x2bdb03})['then'](function(){var _0x2b83f6=JSON[_0xbce9('0x84')]('['+_0x322682[_0xbce9('0x39')]['ids']+']');var _0x22fac1=_[_0xbce9('0x37')](_0x2b83f6,function(_0xcad113){socket[_0xbce9('0x77')]('user'+_0x504ace+'Queue:remove',{'UserId':Number(_0xcad113),[_0x504ace+_0xbce9('0x79')]:_0x3ae153['id']});if(_0x504ace!=='Voice')return;return db[_0xbce9('0x7d')][_0xbce9('0x2e')]({'where':{'VoiceQueueId':_0x3ae153['id'],'UserId':_0xcad113},'transaction':_0x2bdb03});});return Promise[_0xbce9('0x80')](_0x22fac1);});});return Promise['all'](_0x5ea8f5);});});return Promise[_0xbce9('0x80')](_0x1028a6)[_0xbce9('0x2a')](function(){return _0x382a3b[_0xbce9('0x82')](_0x322682[_0xbce9('0x39')]['ids'],{'transaction':_0x2bdb03});});});}})[_0xbce9('0x2a')](respondWithStatusCode(_0x3bf24c,null))['catch'](handleError(_0x3bf24c,null));};exports['getAgents']=function(_0x31c252,_0x112bee,_0x4f71f3){var _0x3b0f6b={};var _0x13fcd3={};var _0x451c15;var _0x48d14f;return db['Team']['findOne']({'where':{'id':_0x31c252[_0xbce9('0x50')]['id']}})[_0xbce9('0x2a')](handleEntityNotFound(_0x112bee,null))[_0xbce9('0x2a')](function(_0x3eb9aa){if(_0x3eb9aa){_0x451c15=_0x3eb9aa;_0x13fcd3[_0xbce9('0x36')]=_['keys'](db['User'][_0xbce9('0x32')]);_0x13fcd3[_0xbce9('0x39')]=_[_0xbce9('0x3a')](_0x31c252[_0xbce9('0x39')]);_0x13fcd3[_0xbce9('0x3b')]=_[_0xbce9('0x3c')](_0x13fcd3[_0xbce9('0x36')],_0x13fcd3[_0xbce9('0x39')]);_0x3b0f6b[_0xbce9('0x3e')]=_['intersection'](_0x13fcd3[_0xbce9('0x36')],qs['fields'](_0x31c252[_0xbce9('0x39')][_0xbce9('0x3d')]));_0x3b0f6b[_0xbce9('0x3e')]=_0x3b0f6b[_0xbce9('0x3e')][_0xbce9('0x3f')]?_0x3b0f6b[_0xbce9('0x3e')]:_0x13fcd3['model'];_0x3b0f6b[_0xbce9('0x41')]=qs[_0xbce9('0x42')](_0x31c252[_0xbce9('0x39')][_0xbce9('0x42')]);_0x3b0f6b['where']=qs[_0xbce9('0x3b')](_[_0xbce9('0x44')](_0x31c252[_0xbce9('0x39')],_0x13fcd3[_0xbce9('0x3b')]));if(_0x31c252[_0xbce9('0x39')]['filter']){_0x3b0f6b['where']=_[_0xbce9('0x46')](_0x3b0f6b[_0xbce9('0x43')],{'$or':_[_0xbce9('0x37')](_0x3b0f6b[_0xbce9('0x3e')],function(_0x385386){var _0x274c78={};_0x274c78[_0x385386]={'$like':'%'+_0x31c252['query'][_0xbce9('0x45')]+'%'};return _0x274c78;})});}_0x3b0f6b=_[_0xbce9('0x46')]({},_0x3b0f6b,_0x31c252['options']);return _0x451c15['getAgents'](_0x3b0f6b);}})[_0xbce9('0x2a')](function(_0xe037c3){if(_0xe037c3){_0x48d14f=_0xe037c3[_0xbce9('0x3f')];if(!_0x31c252[_0xbce9('0x39')][_0xbce9('0x85')](_0xbce9('0x40'))){_0x3b0f6b[_0xbce9('0x22')]=qs['limit'](_0x31c252[_0xbce9('0x39')]['limit']);_0x3b0f6b[_0xbce9('0x20')]=qs[_0xbce9('0x20')](_0x31c252[_0xbce9('0x39')][_0xbce9('0x20')]);}return _0x451c15[_0xbce9('0x86')](_0x3b0f6b);}})[_0xbce9('0x2a')](function(_0x1ff64b){if(_0x1ff64b){return _0x1ff64b?{'count':_0x48d14f,'rows':_0x1ff64b}:null;}})['then'](respondWithResult(_0x112bee,null))[_0xbce9('0x4e')](handleError(_0x112bee,null));};