Built motion from commit 43538d75.|2.5.35
[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 _0x9221=['bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./team.socket','register','status','json','offset','limit','undefined','count','set','apply','reject','save','update','then','sendStatus','error','stack','name','send','index','map','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','Team','includeAll','include','findAll','rows','catch','params','keys','rawAttributes','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Teams','UserProfileSection','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','sequelize','QueryTypes','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','end','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','pick','addQueues','add','Queues','ids','removeQueues','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','Whatsapp','through','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','online','voicePause','interface','upsert','isNil','format','SIP/%s','all','VoicePrefixId','spread','removeAgents','emit','Queue:remove','UserVoiceQueueRt','getAgents','eml-format','rimraf','fast-json-patch','moment'];(function(_0x2c7f8c,_0x182892){var _0x160693=function(_0x2d7a7a){while(--_0x2d7a7a){_0x2c7f8c['push'](_0x2c7f8c['shift']());}};_0x160693(++_0x182892);}(_0x9221,0x142));var _0x1922=function(_0x403db1,_0x59018e){_0x403db1=_0x403db1-0x0;var _0x47c48f=_0x9221[_0x403db1];return _0x47c48f;};'use strict';var emlformat=require(_0x1922('0x0'));var rimraf=require(_0x1922('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1922('0x2'));var rp=require('request-promise');var moment=require(_0x1922('0x3'));var BPromise=require(_0x1922('0x4'));var Mustache=require(_0x1922('0x5'));var util=require(_0x1922('0x6'));var path=require(_0x1922('0x7'));var sox=require(_0x1922('0x8'));var csv=require(_0x1922('0x9'));var ejs=require(_0x1922('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x1922('0xb'));var squel=require(_0x1922('0xc'));var crypto=require(_0x1922('0xd'));var jsforce=require(_0x1922('0xe'));var deskjs=require(_0x1922('0xf'));var toCsv=require(_0x1922('0x9'));var querystring=require(_0x1922('0x10'));var Papa=require(_0x1922('0x11'));var Redis=require(_0x1922('0x12'));var authService=require(_0x1922('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x1922('0x14'));var hardwareService=require(_0x1922('0x15'));var logger=require(_0x1922('0x16'))('api');var utils=require(_0x1922('0x17'));var config=require(_0x1922('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x1922('0x19'))['db'];config[_0x1922('0x1a')]=_[_0x1922('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x1922('0x1c'))(new Redis(config[_0x1922('0x1a')]));require(_0x1922('0x1d'))[_0x1922('0x1e')](socket);function respondWithStatusCode(_0x11d674,_0x76828){_0x76828=_0x76828||0xcc;return function(_0x42adaf){if(_0x42adaf){return _0x11d674['sendStatus'](_0x76828);}return _0x11d674[_0x1922('0x1f')](_0x76828)['end']();};}function respondWithResult(_0x58d676,_0x2b6e41){_0x2b6e41=_0x2b6e41||0xc8;return function(_0x390d3d){if(_0x390d3d){return _0x58d676[_0x1922('0x1f')](_0x2b6e41)[_0x1922('0x20')](_0x390d3d);}};}function respondWithFilteredResult(_0x3ee91f,_0xaafc75){return function(_0x1bdebe){if(_0x1bdebe){var _0x57389e=typeof _0xaafc75[_0x1922('0x21')]==='undefined'&&typeof _0xaafc75[_0x1922('0x22')]===_0x1922('0x23');var _0x326235=_0x1bdebe[_0x1922('0x24')];var _0x443c91=_0x57389e?0x0:_0xaafc75[_0x1922('0x21')];var _0x49a4e4=_0x57389e?_0x1bdebe[_0x1922('0x24')]:_0xaafc75['offset']+_0xaafc75[_0x1922('0x22')];var _0x38653f;if(_0x49a4e4>=_0x326235){_0x49a4e4=_0x326235;_0x38653f=0xc8;}else{_0x38653f=0xce;}_0x3ee91f[_0x1922('0x1f')](_0x38653f);return _0x3ee91f[_0x1922('0x25')]('Content-Range',_0x443c91+'-'+_0x49a4e4+'/'+_0x326235)[_0x1922('0x20')](_0x1bdebe);}return null;};}function patchUpdates(_0x381518){return function(_0x3c370e){try{jsonpatch[_0x1922('0x26')](_0x3c370e,_0x381518,!![]);}catch(_0x5875f5){return BPromise[_0x1922('0x27')](_0x5875f5);}return _0x3c370e[_0x1922('0x28')]();};}function saveUpdates(_0x2cd250,_0xd7c7ff){return function(_0x16be19){if(_0x16be19){return _0x16be19[_0x1922('0x29')](_0x2cd250)[_0x1922('0x2a')](function(_0x7e18f1){return _0x7e18f1;});}return null;};}function handleEntityNotFound(_0x21fb56,_0x4fa668){return function(_0x12215c){if(!_0x12215c){_0x21fb56[_0x1922('0x2b')](0x194);}return _0x12215c;};}function handleError(_0x1568f7,_0x5afb40){_0x5afb40=_0x5afb40||0x1f4;return function(_0x48e5ec){logger[_0x1922('0x2c')](_0x48e5ec[_0x1922('0x2d')]);if(_0x48e5ec[_0x1922('0x2e')]){delete _0x48e5ec['name'];}_0x1568f7[_0x1922('0x1f')](_0x5afb40)[_0x1922('0x2f')](_0x48e5ec);};}exports[_0x1922('0x30')]=function(_0x5dd152,_0x30bcdb){var _0x1f4eb5={},_0x52a47a={},_0x381073={'count':0x0,'rows':[]};var _0x2b535c=_[_0x1922('0x31')](db['Team']['rawAttributes'],function(_0x31d150){return{'name':_0x31d150['fieldName'],'type':_0x31d150[_0x1922('0x32')][_0x1922('0x33')]};});_0x52a47a[_0x1922('0x34')]=_[_0x1922('0x31')](_0x2b535c,_0x1922('0x2e'));_0x52a47a[_0x1922('0x35')]=_['keys'](_0x5dd152[_0x1922('0x35')]);_0x52a47a[_0x1922('0x36')]=_[_0x1922('0x37')](_0x52a47a[_0x1922('0x34')],_0x52a47a[_0x1922('0x35')]);_0x1f4eb5[_0x1922('0x38')]=_[_0x1922('0x37')](_0x52a47a[_0x1922('0x34')],qs[_0x1922('0x39')](_0x5dd152[_0x1922('0x35')]['fields']));_0x1f4eb5['attributes']=_0x1f4eb5[_0x1922('0x38')][_0x1922('0x3a')]?_0x1f4eb5['attributes']:_0x52a47a[_0x1922('0x34')];if(!_0x5dd152[_0x1922('0x35')][_0x1922('0x3b')](_0x1922('0x3c'))){_0x1f4eb5[_0x1922('0x22')]=qs[_0x1922('0x22')](_0x5dd152[_0x1922('0x35')]['limit']);_0x1f4eb5['offset']=qs[_0x1922('0x21')](_0x5dd152[_0x1922('0x35')][_0x1922('0x21')]);}_0x1f4eb5[_0x1922('0x3d')]=qs[_0x1922('0x3e')](_0x5dd152[_0x1922('0x35')][_0x1922('0x3e')]);_0x1f4eb5[_0x1922('0x3f')]=qs[_0x1922('0x36')](_['pick'](_0x5dd152['query'],_0x52a47a[_0x1922('0x36')]),_0x2b535c);if(_0x5dd152['query'][_0x1922('0x40')]){_0x1f4eb5[_0x1922('0x3f')]=_[_0x1922('0x41')](_0x1f4eb5[_0x1922('0x3f')],{'$or':_['map'](_0x2b535c,function(_0x449521){if(_0x449521['type']!==_0x1922('0x42')){var _0x24e6a4={};_0x24e6a4[_0x449521[_0x1922('0x2e')]]={'$like':'%'+_0x5dd152['query']['filter']+'%'};return _0x24e6a4;}})});}_0x1f4eb5=_['merge']({},_0x1f4eb5,_0x5dd152[_0x1922('0x43')]);var _0x14f5e2={'where':_0x1f4eb5[_0x1922('0x3f')]};return db[_0x1922('0x44')][_0x1922('0x24')](_0x14f5e2)[_0x1922('0x2a')](function(_0x143b84){_0x381073[_0x1922('0x24')]=_0x143b84;if(_0x5dd152[_0x1922('0x35')][_0x1922('0x45')]){_0x1f4eb5[_0x1922('0x46')]=[{'all':!![]}];}return db[_0x1922('0x44')][_0x1922('0x47')](_0x1f4eb5);})[_0x1922('0x2a')](function(_0x4b71ee){_0x381073[_0x1922('0x48')]=_0x4b71ee;return _0x381073;})[_0x1922('0x2a')](respondWithFilteredResult(_0x30bcdb,_0x1f4eb5))[_0x1922('0x49')](handleError(_0x30bcdb,null));};exports['show']=function(_0x1ad5c1,_0x5c82b9){var _0xe5fd92={'raw':![],'where':{'id':_0x1ad5c1[_0x1922('0x4a')]['id']}},_0x35962d={};_0x35962d[_0x1922('0x34')]=_[_0x1922('0x4b')](db[_0x1922('0x44')][_0x1922('0x4c')]);_0x35962d[_0x1922('0x35')]=_[_0x1922('0x4b')](_0x1ad5c1[_0x1922('0x35')]);_0x35962d[_0x1922('0x36')]=_['intersection'](_0x35962d[_0x1922('0x34')],_0x35962d[_0x1922('0x35')]);_0xe5fd92['attributes']=_[_0x1922('0x37')](_0x35962d[_0x1922('0x34')],qs[_0x1922('0x39')](_0x1ad5c1[_0x1922('0x35')][_0x1922('0x39')]));_0xe5fd92[_0x1922('0x38')]=_0xe5fd92['attributes'][_0x1922('0x3a')]?_0xe5fd92[_0x1922('0x38')]:_0x35962d['model'];if(_0x1ad5c1['query'][_0x1922('0x45')]){_0xe5fd92['include']=[{'all':!![]}];}_0xe5fd92=_[_0x1922('0x41')]({},_0xe5fd92,_0x1ad5c1[_0x1922('0x43')]);return db[_0x1922('0x44')][_0x1922('0x4d')](_0xe5fd92)[_0x1922('0x2a')](handleEntityNotFound(_0x5c82b9,null))[_0x1922('0x2a')](respondWithResult(_0x5c82b9,null))[_0x1922('0x49')](handleError(_0x5c82b9,null));};exports[_0x1922('0x4e')]=function(_0xfdd650,_0x350c82){return db[_0x1922('0x44')][_0x1922('0x4e')](_0xfdd650[_0x1922('0x4f')],{})[_0x1922('0x2a')](function(_0x40953c){var _0xb86632=_0xfdd650[_0x1922('0x50')][_0x1922('0x51')]({'plain':!![]});if(!_0xb86632)throw new Error(_0x1922('0x52'));if(_0xb86632[_0x1922('0x53')]==='user'){var _0x228ecf=_0x40953c[_0x1922('0x51')]({'plain':!![]});var _0xb40f6c=_0x1922('0x54');return db[_0x1922('0x55')][_0x1922('0x4d')]({'where':{'name':_0xb40f6c,'userProfileId':_0xb86632[_0x1922('0x56')]},'raw':!![]})[_0x1922('0x2a')](function(_0x52e23b){if(_0x52e23b&&_0x52e23b['autoAssociation']===0x0){return db[_0x1922('0x57')][_0x1922('0x4e')]({'name':_0x228ecf[_0x1922('0x2e')],'resourceId':_0x228ecf['id'],'type':_0x52e23b[_0x1922('0x2e')],'sectionId':_0x52e23b['id']},{})[_0x1922('0x2a')](function(){return _0x40953c;});}else{return _0x40953c;}})[_0x1922('0x49')](function(_0x54077d){logger[_0x1922('0x2c')](_0x1922('0x58'),_0x54077d);throw _0x54077d;});}return _0x40953c;})[_0x1922('0x2a')](respondWithResult(_0x350c82,0xc9))[_0x1922('0x49')](handleError(_0x350c82,null));};exports[_0x1922('0x29')]=function(_0x266151,_0x1663f4){if(_0x266151['body']['id']){delete _0x266151[_0x1922('0x4f')]['id'];}return db[_0x1922('0x44')][_0x1922('0x4d')]({'where':{'id':_0x266151[_0x1922('0x4a')]['id']}})[_0x1922('0x2a')](handleEntityNotFound(_0x1663f4,null))[_0x1922('0x2a')](saveUpdates(_0x266151[_0x1922('0x4f')],null))[_0x1922('0x2a')](respondWithResult(_0x1663f4,null))['catch'](handleError(_0x1663f4,null));};exports[_0x1922('0x59')]=function(_0x5930b8,_0x39dcc5){var _0x25f654=_0x5930b8[_0x1922('0x4a')]['id'];var _0x38270f=[];return db['sequelize'][_0x1922('0x5a')](function(_0x194329){var _0x5e9ec4=_0x1922('0x5b')+_0x25f654;return db['sequelize'][_0x1922('0x35')](_0x5e9ec4,{'type':db[_0x1922('0x5c')]['QueryTypes'][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329})[_0x1922('0x2a')](function(_0x301ca4){_0x38270f=_[_0x1922('0x31')](_0x301ca4,function(_0x301600){return Number(_0x301600[_0x1922('0x5e')]);});})[_0x1922('0x2a')](function(){var _0x4950d9=_0x1922('0x5f')+_0x25f654;return db[_0x1922('0x60')][_0x1922('0x35')](_0x4950d9,{'type':db[_0x1922('0x5c')][_0x1922('0x61')][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})['then'](function(_0x4cd311){var _0x4962d3=_[_0x1922('0x31')](_0x4cd311,function(_0x6baec9){return Number(_0x6baec9[_0x1922('0x62')]);});return db[_0x1922('0x63')][_0x1922('0x59')]({'where':{'UserId':{'$in':_0x38270f},'VoiceQueueId':{'$in':_0x4962d3}},'transaction':_0x194329});})[_0x1922('0x2a')](function(){var _0x5be6a3=_0x1922('0x64')+_0x25f654;return db[_0x1922('0x60')]['query'](_0x5be6a3,{'type':db['Sequelize']['QueryTypes'][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x167505){var _0x3230f7=_[_0x1922('0x31')](_0x167505,function(_0x13f7f8){return Number(_0x13f7f8[_0x1922('0x65')]);});return db[_0x1922('0x66')]['destroy']({'where':{'UserId':{'$in':_0x38270f},'MailQueueId':{'$in':_0x3230f7}},'transaction':_0x194329});})[_0x1922('0x2a')](function(){var _0x458ffc=_0x1922('0x67')+_0x25f654;return db['sequelize']['query'](_0x458ffc,{'type':db[_0x1922('0x5c')][_0x1922('0x61')][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x37cf69){var _0x38897d=_['map'](_0x37cf69,function(_0x57c2ad){return Number(_0x57c2ad[_0x1922('0x68')]);});return db[_0x1922('0x69')]['destroy']({'where':{'UserId':{'$in':_0x38270f},'SmsQueueId':{'$in':_0x38897d}},'transaction':_0x194329});})[_0x1922('0x2a')](function(){var _0xe3ba55=_0x1922('0x6a')+_0x25f654;return db[_0x1922('0x60')]['query'](_0xe3ba55,{'type':db['Sequelize'][_0x1922('0x61')][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x4c33f1){var _0x34fa57=_[_0x1922('0x31')](_0x4c33f1,function(_0x1d0bd3){return Number(_0x1d0bd3[_0x1922('0x6b')]);});return db[_0x1922('0x6c')][_0x1922('0x59')]({'where':{'UserId':{'$in':_0x38270f},'ChatQueueId':{'$in':_0x34fa57}},'transaction':_0x194329});})['then'](function(){var _0x3e5f14='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x25f654;return db[_0x1922('0x60')][_0x1922('0x35')](_0x3e5f14,{'type':db[_0x1922('0x5c')][_0x1922('0x61')][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x508a45){var _0x116f90=_[_0x1922('0x31')](_0x508a45,function(_0x5cd4c2){return Number(_0x5cd4c2['FaxQueueId']);});return db[_0x1922('0x6d')]['destroy']({'where':{'UserId':{'$in':_0x38270f},'FaxQueueId':{'$in':_0x116f90}},'transaction':_0x194329});})[_0x1922('0x2a')](function(){var _0x57ae52=_0x1922('0x6e')+_0x25f654;return db['sequelize'][_0x1922('0x35')](_0x57ae52,{'type':db[_0x1922('0x5c')][_0x1922('0x61')][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x1c7846){var _0x25e889=_['map'](_0x1c7846,function(_0x5c63ae){return Number(_0x5c63ae['OpenchannelQueueId']);});return db[_0x1922('0x6f')][_0x1922('0x59')]({'where':{'UserId':{'$in':_0x38270f},'OpenchannelQueueId':{'$in':_0x25e889}},'transaction':_0x194329});})[_0x1922('0x2a')](function(){var _0x1273cb=_0x1922('0x70')+_0x25f654;return db['sequelize'][_0x1922('0x35')](_0x1273cb,{'type':db[_0x1922('0x5c')][_0x1922('0x61')][_0x1922('0x5d')],'raw':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x12296c){var _0x18f84d=_[_0x1922('0x31')](_0x12296c,function(_0x1e05fd){return Number(_0x1e05fd[_0x1922('0x71')]);});return db[_0x1922('0x72')]['destroy']({'where':{'UserId':{'$in':_0x38270f},'WhatsappQueueId':{'$in':_0x18f84d}},'transaction':_0x194329});})[_0x1922('0x2a')](function(){return db[_0x1922('0x73')][_0x1922('0x4d')]({'where':{'TeamId':_0x25f654}});})['then'](function(_0x5193ca){if(_0x5193ca===null){return;}return db[_0x1922('0x74')][_0x1922('0x59')]({'where':{'UserId':{'$in':_0x38270f},'VoicePrefixId':_0x5193ca['VoicePrefixId']},'transaction':_0x194329});})[_0x1922('0x2a')](function(){return db[_0x1922('0x44')]['destroy']({'where':{'id':_0x25f654},'cascade':!![],'transaction':_0x194329});})[_0x1922('0x2a')](function(_0x8ccfbb){if(_0x8ccfbb===0x0){_0x39dcc5['sendStatus'](0x194);}else{return db['UserProfileResource']['destroy']({'where':{'type':_0x1922('0x54'),'resourceId':_0x25f654},'cascade':!![],'transaction':_0x194329})[_0x1922('0x2a')](function(){_0x39dcc5[_0x1922('0x1f')](0xcc)[_0x1922('0x75')]();});}})[_0x1922('0x49')](function(_0x1dcd22){_0x39dcc5[_0x1922('0x1f')](0x1f4)['send'](_0x1dcd22);});});};exports[_0x1922('0x76')]=function(_0x5d5f80,_0x12e892,_0x504cb3){return db['Team'][_0x1922('0x77')]({'where':{'id':_0x5d5f80['params']['id']}})[_0x1922('0x2a')](handleEntityNotFound(_0x12e892,null))[_0x1922('0x2a')](function(_0x3ef305){if(!_0x5d5f80['query'][_0x1922('0x78')]||!utils[_0x1922('0x79')](_0x5d5f80[_0x1922('0x35')]['channel'])){throw new db[(_0x1922('0x5c'))][(_0x1922('0x7a'))](_0x1922('0x7b'));}var _0x5f20cc={};var _0x50bab4={};_0x50bab4[_0x1922('0x34')]=_[_0x1922('0x4b')](db[_[_0x1922('0x7c')](_0x5d5f80['query']['channel'][_0x1922('0x7d')]())+_0x1922('0x7e')][_0x1922('0x4c')]);_0x50bab4[_0x1922('0x35')]=_['keys'](_0x5d5f80[_0x1922('0x35')]);_0x50bab4[_0x1922('0x36')]=_['intersection'](_0x50bab4[_0x1922('0x34')],_0x50bab4[_0x1922('0x35')]);_0x5f20cc[_0x1922('0x38')]=_['intersection'](_0x50bab4[_0x1922('0x34')],qs[_0x1922('0x39')](_0x5d5f80[_0x1922('0x35')]['fields']));_0x5f20cc[_0x1922('0x38')]=_0x5f20cc[_0x1922('0x38')][_0x1922('0x3a')]?_0x5f20cc[_0x1922('0x38')]:_0x50bab4[_0x1922('0x34')];_0x5f20cc['limit']=qs[_0x1922('0x22')](_0x5d5f80['query'][_0x1922('0x22')]);_0x5f20cc[_0x1922('0x21')]=qs[_0x1922('0x21')](_0x5d5f80[_0x1922('0x35')][_0x1922('0x21')]);_0x5f20cc[_0x1922('0x3d')]=qs[_0x1922('0x3e')](_0x5d5f80[_0x1922('0x35')]['sort']);_0x5f20cc[_0x1922('0x3f')]=qs[_0x1922('0x36')](_[_0x1922('0x7f')](_0x5d5f80[_0x1922('0x35')],_0x50bab4['filters']));_0x5f20cc=_['merge']({},_0x5f20cc,_0x5d5f80[_0x1922('0x43')]);return _0x3ef305[_0x1922('0x51')+_[_0x1922('0x7c')](_0x5d5f80[_0x1922('0x35')][_0x1922('0x78')][_0x1922('0x7d')]())+'Queues'](_0x5f20cc);})[_0x1922('0x2a')](respondWithResult(_0x12e892,null))['catch'](handleError(_0x12e892,null));};exports[_0x1922('0x80')]=function(_0x2a854a,_0x2ab0c2,_0x5985d9){return db[_0x1922('0x44')]['findOne']({'where':{'id':_0x2a854a['params']['id']}})[_0x1922('0x2a')](function(_0x4efd86){if(_0x4efd86){if(!_0x2a854a[_0x1922('0x4f')][_0x1922('0x78')]||!utils[_0x1922('0x79')](_0x2a854a[_0x1922('0x4f')][_0x1922('0x78')])){throw new db[(_0x1922('0x5c'))]['ValidationError'](_0x1922('0x7b'));}return _0x4efd86[_0x1922('0x81')+_[_0x1922('0x7c')](_0x2a854a['body']['channel']['toLowerCase']())+_0x1922('0x82')](_0x2a854a[_0x1922('0x4f')][_0x1922('0x83')]);}return null;})[_0x1922('0x2a')](handleEntityNotFound(_0x2ab0c2,null))['then'](respondWithStatusCode(_0x2ab0c2,null))[_0x1922('0x49')](handleError(_0x2ab0c2,null));};exports[_0x1922('0x84')]=function(_0x72a8f9,_0x5ed2f6,_0x4d3462){return db[_0x1922('0x44')][_0x1922('0x77')]({'where':{'id':_0x72a8f9[_0x1922('0x4a')]['id']}})['then'](function(_0x115f80){if(_0x115f80){if(!_0x72a8f9['query'][_0x1922('0x78')]||!utils[_0x1922('0x79')](_0x72a8f9['query'][_0x1922('0x78')])){throw new db['Sequelize'][(_0x1922('0x7a'))]('Unknown\x20channel');}return _0x115f80['remove'+_[_0x1922('0x7c')](_0x72a8f9[_0x1922('0x35')]['channel'][_0x1922('0x7d')]())+_0x1922('0x82')](_0x72a8f9[_0x1922('0x35')]['ids']);}return null;})['then'](handleEntityNotFound(_0x5ed2f6,null))[_0x1922('0x2a')](respondWithStatusCode(_0x5ed2f6,null))[_0x1922('0x49')](handleError(_0x5ed2f6,null));};exports[_0x1922('0x85')]=function(_0x1e91a8,_0x5a3a24){var _0x2428bf=_[_0x1922('0x86')](_0x1e91a8['body'][_0x1922('0x83')])?_0x1e91a8[_0x1922('0x4f')][_0x1922('0x83')]:[_0x1e91a8[_0x1922('0x4f')][_0x1922('0x83')]];var _0x4992db=_0x1e91a8['params']['id'];return db['Team'][_0x1922('0x4d')]({'where':{'id':_0x4992db}})['then'](handleEntityNotFound(_0x5a3a24,null))[_0x1922('0x2a')](function(_0xbd3635){if(_0xbd3635){var _0x4463e3=[_0x1922('0x87'),_0x1922('0x88'),_0x1922('0x89'),_0x1922('0x8a'),_0x1922('0x8b'),_0x1922('0x8c'),_0x1922('0x8d')];return db[_0x1922('0x60')]['transaction'](function(_0xc77d50){var _0x568079=_[_0x1922('0x31')](_0x4463e3,function(_0x322044){var _0x32e5ea={'attributes':['id',_0x1922('0x2e')]};if(_0x322044===_0x1922('0x87')){_0x32e5ea[_0x1922('0x8e')]={'attributes':[_0x1922('0x8f')]};}return _0xbd3635[_0x1922('0x51')+_0x322044+_0x1922('0x82')](_0x32e5ea)['then'](function(_0x5a0eb6){var _0x3c3be3=_[_0x1922('0x31')](_0x5a0eb6,function(_0x5f424f){var _0x1ddc11=_['map'](_0x2428bf,function(_0x41a0b1){var _0x4d9733={'where':{'UserId':_0x41a0b1,[_0x322044+_0x1922('0x90')]:_0x5f424f['id']},'transaction':_0xc77d50};if(_0x322044==='Voice'){_0x4d9733[_0x1922('0x1b')]={'penalty':_0x5f424f[_0x1922('0x91')][_0x1922('0x8f')]};}return db[_0x1922('0x92')+_0x322044+_0x1922('0x7e')][_0x1922('0x93')](_0x4d9733)[_0x1922('0x2a')](function(){socket['emit'](_0x1922('0x50')+_0x322044+'Queue:save',{'UserId':_0x41a0b1,[_0x322044+_0x1922('0x90')]:_0x5f424f['id']});if(_0x322044!==_0x1922('0x87')){return;}return db[_0x1922('0x92')]['findAll']({'where':{'id':_0x2428bf,'online':0x1},'attributes':['id',_0x1922('0x2e'),_0x1922('0x94'),_0x1922('0x95'),_0x1922('0x96')],'raw':!![]})[_0x1922('0x2a')](function(_0x3ec9a0){var _0x253e32=_[_0x1922('0x31')](_0x3ec9a0,function(_0x208ba7){return db['UserVoiceQueueRt'][_0x1922('0x97')]({'membername':_0x208ba7['name'],'UserId':_0x208ba7['id'],'queue_name':_0x5f424f['name'],'VoiceQueueId':_0x5f424f['id'],'interface':_[_0x1922('0x98')](_0x208ba7[_0x1922('0x96')])?util[_0x1922('0x99')](_0x1922('0x9a'),_0x208ba7[_0x1922('0x2e')]):_0x208ba7[_0x1922('0x96')],'paused':_0x208ba7[_0x1922('0x95')]||![],'penalty':_0x5f424f['TeamVoiceQueue'][_0x1922('0x8f')]},{'transaction':_0xc77d50});});return Promise[_0x1922('0x9b')](_0x253e32);});});});return Promise[_0x1922('0x9b')](_0x1ddc11);});return Promise[_0x1922('0x9b')](_0x3c3be3);})[_0x1922('0x2a')](function(){return db['TeamVoicePrefix'][_0x1922('0x77')]({'where':{'teamId':_0x4992db}})[_0x1922('0x2a')](function(_0x46e87d){if(_0x46e87d){var _0x200b4e=_['map'](_0x2428bf,function(_0x4e81bc){db[_0x1922('0x74')]['upsert']({'UserId':_0x4e81bc,'VoicePrefixId':_0x46e87d[_0x1922('0x9c')]});});return Promise[_0x1922('0x9b')](_0x200b4e);}});});});return Promise[_0x1922('0x9b')](_0x568079)[_0x1922('0x2a')](function(){return _0xbd3635[_0x1922('0x85')](_0x2428bf,{'transaction':_0xc77d50})[_0x1922('0x9d')](function(_0xed20e0){return _0xed20e0;});});});}})[_0x1922('0x2a')](respondWithResult(_0x5a3a24,null))[_0x1922('0x49')](handleError(_0x5a3a24,null));};exports[_0x1922('0x9e')]=function(_0x33a6ae,_0x368df1){var _0xca5aaf=_['isArray'](_0x33a6ae[_0x1922('0x35')]['ids'])?_0x33a6ae[_0x1922('0x35')]['ids']:[_0x33a6ae['query'][_0x1922('0x83')]];var _0x4135d7=_0x33a6ae[_0x1922('0x4a')]['id'];return db[_0x1922('0x44')][_0x1922('0x4d')]({'where':{'id':_0x4135d7}})[_0x1922('0x2a')](handleEntityNotFound(_0x368df1,null))['then'](function(_0xea9754){if(_0xea9754){var _0x44da23=['Voice','Chat',_0x1922('0x89'),_0x1922('0x8a'),_0x1922('0x8b'),'Openchannel',_0x1922('0x8d')];return db[_0x1922('0x60')][_0x1922('0x5a')](function(_0x379861){var _0x428704=_['map'](_0x44da23,function(_0x290d1c){var _0x23761f={'attributes':['id',_0x1922('0x2e')]};return _0xea9754[_0x1922('0x51')+_0x290d1c+'Queues'](_0x23761f)[_0x1922('0x2a')](function(_0x481907){var _0xd86c4=_[_0x1922('0x31')](_0x481907,function(_0x1b557c){return _0x1b557c[_0x1922('0x9e')](_0xca5aaf,{'transaction':_0x379861})[_0x1922('0x2a')](function(){var _0x204650=_[_0x1922('0x31')](_0xca5aaf,function(_0x4f4b26){socket[_0x1922('0x9f')]('user'+_0x290d1c+_0x1922('0xa0'),{'UserId':Number(_0x4f4b26),[_0x290d1c+_0x1922('0x90')]:_0x1b557c['id']});if(_0x290d1c!==_0x1922('0x87')){return;}return db[_0x1922('0xa1')][_0x1922('0x59')]({'where':{'VoiceQueueId':_0x1b557c['id'],'UserId':_0x4f4b26},'transaction':_0x379861});});return Promise[_0x1922('0x9b')](_0x204650);});});return Promise[_0x1922('0x9b')](_0xd86c4);});});return Promise[_0x1922('0x9b')](_0x428704)[_0x1922('0x2a')](function(){return _0xea9754[_0x1922('0x9e')](_0xca5aaf,{'transaction':_0x379861});})[_0x1922('0x2a')](function(){return db[_0x1922('0x73')][_0x1922('0x77')]({'where':{'teamId':_0x4135d7}})[_0x1922('0x2a')](function(_0x238924){if(_0x238924){var _0x22c399=_[_0x1922('0x31')](_0xca5aaf,function(_0x3260b9){db[_0x1922('0x74')][_0x1922('0x59')]({'where':{'UserId':_0x3260b9,'VoicePrefixId':_0x238924[_0x1922('0x9c')]}});});return Promise['all'](_0x22c399);}});});});}})[_0x1922('0x2a')](respondWithStatusCode(_0x368df1,null))[_0x1922('0x49')](handleError(_0x368df1,null));};exports[_0x1922('0xa2')]=function(_0x366994,_0x2cc583,_0x1fc65e){var _0x5c06ad={};var _0x1fd748={};var _0xe5d140;var _0x20bccb;return db['Team'][_0x1922('0x77')]({'where':{'id':_0x366994['params']['id']}})[_0x1922('0x2a')](handleEntityNotFound(_0x2cc583,null))[_0x1922('0x2a')](function(_0x385dda){if(_0x385dda){_0xe5d140=_0x385dda;_0x1fd748['model']=_['keys'](db['User']['rawAttributes']);_0x1fd748['query']=_[_0x1922('0x4b')](_0x366994[_0x1922('0x35')]);_0x1fd748[_0x1922('0x36')]=_[_0x1922('0x37')](_0x1fd748[_0x1922('0x34')],_0x1fd748[_0x1922('0x35')]);_0x5c06ad[_0x1922('0x38')]=_['intersection'](_0x1fd748[_0x1922('0x34')],qs[_0x1922('0x39')](_0x366994[_0x1922('0x35')][_0x1922('0x39')]));_0x5c06ad[_0x1922('0x38')]=_0x5c06ad[_0x1922('0x38')]['length']?_0x5c06ad[_0x1922('0x38')]:_0x1fd748['model'];_0x5c06ad['order']=qs['sort'](_0x366994[_0x1922('0x35')][_0x1922('0x3e')]);_0x5c06ad[_0x1922('0x3f')]=qs[_0x1922('0x36')](_[_0x1922('0x7f')](_0x366994[_0x1922('0x35')],_0x1fd748[_0x1922('0x36')]));if(_0x366994['query'][_0x1922('0x40')]){_0x5c06ad[_0x1922('0x3f')]=_[_0x1922('0x41')](_0x5c06ad[_0x1922('0x3f')],{'$or':_['map'](_0x5c06ad[_0x1922('0x38')],function(_0x152a39){var _0x287030={};_0x287030[_0x152a39]={'$like':'%'+_0x366994[_0x1922('0x35')]['filter']+'%'};return _0x287030;})});}_0x5c06ad=_['merge']({},_0x5c06ad,_0x366994[_0x1922('0x43')]);return _0xe5d140[_0x1922('0xa2')](_0x5c06ad);}})[_0x1922('0x2a')](function(_0x210cb4){if(_0x210cb4){_0x20bccb=_0x210cb4['length'];if(!_0x366994['query'][_0x1922('0x3b')]('nolimit')){_0x5c06ad[_0x1922('0x22')]=qs[_0x1922('0x22')](_0x366994[_0x1922('0x35')]['limit']);_0x5c06ad[_0x1922('0x21')]=qs[_0x1922('0x21')](_0x366994[_0x1922('0x35')][_0x1922('0x21')]);}return _0xe5d140[_0x1922('0xa2')](_0x5c06ad);}})[_0x1922('0x2a')](function(_0x5c645d){if(_0x5c645d){return _0x5c645d?{'count':_0x20bccb,'rows':_0x5c645d}:null;}})[_0x1922('0x2a')](respondWithResult(_0x2cc583,null))['catch'](handleError(_0x2cc583,null));};