8bc020c9d4a98457f5839245c5b993ed4f8df312
[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 _0x2d7c=['reject','save','update','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','filter','options','Team','include','findAll','rows','catch','params','keys','includeAll','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','Teams','UserProfileSection','find','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','Sequelize','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','UserVoiceQueue','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','FaxQueueId','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','getQueues','channel','isValidChannel','ValidationError','capitalize','toLowerCase','Queue','order','Queues','addQueues','Unknown\x20channel','add','ids','findOne','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','Whatsapp','through','penalty','TeamVoiceQueue','User','emit','QueueId','online','voicePause','UserVoiceQueueRt','upsert','isNil','interface','format','SIP/%s','all','VoicePrefixId','removeAgents','Queue:remove','getAgents','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','undefined','count','offset','limit','set'];(function(_0x283782,_0x41ef05){var _0x5af2de=function(_0x43b3ac){while(--_0x43b3ac){_0x283782['push'](_0x283782['shift']());}};_0x5af2de(++_0x41ef05);}(_0x2d7c,0x1a3));var _0xc2d7=function(_0x20f060,_0xe160c9){_0x20f060=_0x20f060-0x0;var _0x46077c=_0x2d7c[_0x20f060];return _0x46077c;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xc2d7('0x0'));var jsonpatch=require(_0xc2d7('0x1'));var rp=require(_0xc2d7('0x2'));var moment=require('moment');var BPromise=require(_0xc2d7('0x3'));var Mustache=require(_0xc2d7('0x4'));var util=require(_0xc2d7('0x5'));var path=require(_0xc2d7('0x6'));var sox=require(_0xc2d7('0x7'));var csv=require(_0xc2d7('0x8'));var ejs=require(_0xc2d7('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc2d7('0xa'));var squel=require('squel');var crypto=require(_0xc2d7('0xb'));var jsforce=require(_0xc2d7('0xc'));var deskjs=require(_0xc2d7('0xd'));var toCsv=require(_0xc2d7('0x8'));var querystring=require('querystring');var Papa=require(_0xc2d7('0xe'));var Redis=require(_0xc2d7('0xf'));var authService=require(_0xc2d7('0x10'));var qs=require(_0xc2d7('0x11'));var as=require(_0xc2d7('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xc2d7('0x13'))(_0xc2d7('0x14'));var utils=require(_0xc2d7('0x15'));var config=require(_0xc2d7('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xc2d7('0x17'))['db'];config[_0xc2d7('0x18')]=_[_0xc2d7('0x19')](config[_0xc2d7('0x18')],{'host':_0xc2d7('0x1a'),'port':0x18eb});var socket=require(_0xc2d7('0x1b'))(new Redis(config['redis']));require('./team.socket')['register'](socket);function respondWithStatusCode(_0x4af175,_0x316422){_0x316422=_0x316422||0xcc;return function(_0x404d4c){if(_0x404d4c){return _0x4af175[_0xc2d7('0x1c')](_0x316422);}return _0x4af175[_0xc2d7('0x1d')](_0x316422)[_0xc2d7('0x1e')]();};}function respondWithResult(_0x3ea940,_0x4d2176){_0x4d2176=_0x4d2176||0xc8;return function(_0x1be85f){if(_0x1be85f){return _0x3ea940[_0xc2d7('0x1d')](_0x4d2176)[_0xc2d7('0x1f')](_0x1be85f);}};}function respondWithFilteredResult(_0x20aa6f,_0x35ac9c){return function(_0x2172f2){if(_0x2172f2){var _0xbeba89=typeof _0x35ac9c['offset']===_0xc2d7('0x20')&&typeof _0x35ac9c['limit']===_0xc2d7('0x20');var _0x172abd=_0x2172f2[_0xc2d7('0x21')];var _0x12e54e=_0xbeba89?0x0:_0x35ac9c[_0xc2d7('0x22')];var _0x5aa5d5=_0xbeba89?_0x2172f2['count']:_0x35ac9c[_0xc2d7('0x22')]+_0x35ac9c[_0xc2d7('0x23')];var _0x2b0fab;if(_0x5aa5d5>=_0x172abd){_0x5aa5d5=_0x172abd;_0x2b0fab=0xc8;}else{_0x2b0fab=0xce;}_0x20aa6f[_0xc2d7('0x1d')](_0x2b0fab);return _0x20aa6f[_0xc2d7('0x24')]('Content-Range',_0x12e54e+'-'+_0x5aa5d5+'/'+_0x172abd)['json'](_0x2172f2);}return null;};}function patchUpdates(_0x46b4a7){return function(_0x23bde3){try{jsonpatch['apply'](_0x23bde3,_0x46b4a7,!![]);}catch(_0x513dba){return BPromise[_0xc2d7('0x25')](_0x513dba);}return _0x23bde3[_0xc2d7('0x26')]();};}function saveUpdates(_0x3ab53e,_0x3421da){return function(_0x2eb894){if(_0x2eb894){return _0x2eb894[_0xc2d7('0x27')](_0x3ab53e)[_0xc2d7('0x28')](function(_0x4b9c7a){return _0x4b9c7a;});}return null;};}function handleEntityNotFound(_0x3a8308,_0x67cc85){return function(_0x270fec){if(!_0x270fec){_0x3a8308[_0xc2d7('0x1c')](0x194);}return _0x270fec;};}function handleError(_0x5017dc,_0x341e4c){_0x341e4c=_0x341e4c||0x1f4;return function(_0x5d16b2){logger[_0xc2d7('0x29')](_0x5d16b2[_0xc2d7('0x2a')]);if(_0x5d16b2[_0xc2d7('0x2b')]){delete _0x5d16b2[_0xc2d7('0x2b')];}_0x5017dc['status'](_0x341e4c)[_0xc2d7('0x2c')](_0x5d16b2);};}exports[_0xc2d7('0x2d')]=function(_0x1f028f,_0x46c6e5){var _0x9116fc={},_0x2947c4={},_0x36ef7b={'count':0x0,'rows':[]};var _0x15b7c5=_[_0xc2d7('0x2e')](db['Team'][_0xc2d7('0x2f')],function(_0x3bdbee){return{'name':_0x3bdbee[_0xc2d7('0x30')],'type':_0x3bdbee[_0xc2d7('0x31')]['key']};});_0x2947c4[_0xc2d7('0x32')]=_[_0xc2d7('0x2e')](_0x15b7c5,_0xc2d7('0x2b'));_0x2947c4[_0xc2d7('0x33')]=_['keys'](_0x1f028f['query']);_0x2947c4[_0xc2d7('0x34')]=_[_0xc2d7('0x35')](_0x2947c4[_0xc2d7('0x32')],_0x2947c4[_0xc2d7('0x33')]);_0x9116fc[_0xc2d7('0x36')]=_[_0xc2d7('0x35')](_0x2947c4[_0xc2d7('0x32')],qs[_0xc2d7('0x37')](_0x1f028f[_0xc2d7('0x33')][_0xc2d7('0x37')]));_0x9116fc[_0xc2d7('0x36')]=_0x9116fc['attributes'][_0xc2d7('0x38')]?_0x9116fc[_0xc2d7('0x36')]:_0x2947c4[_0xc2d7('0x32')];if(!_0x1f028f[_0xc2d7('0x33')][_0xc2d7('0x39')](_0xc2d7('0x3a'))){_0x9116fc[_0xc2d7('0x23')]=qs['limit'](_0x1f028f[_0xc2d7('0x33')]['limit']);_0x9116fc['offset']=qs[_0xc2d7('0x22')](_0x1f028f[_0xc2d7('0x33')]['offset']);}_0x9116fc['order']=qs['sort'](_0x1f028f['query'][_0xc2d7('0x3b')]);_0x9116fc[_0xc2d7('0x3c')]=qs[_0xc2d7('0x34')](_[_0xc2d7('0x3d')](_0x1f028f[_0xc2d7('0x33')],_0x2947c4[_0xc2d7('0x34')]),_0x15b7c5);if(_0x1f028f[_0xc2d7('0x33')]['filter']){_0x9116fc[_0xc2d7('0x3c')]=_[_0xc2d7('0x3e')](_0x9116fc[_0xc2d7('0x3c')],{'$or':_[_0xc2d7('0x2e')](_0x15b7c5,function(_0x62b49e){if(_0x62b49e[_0xc2d7('0x31')]!==_0xc2d7('0x3f')){var _0x487a9b={};_0x487a9b[_0x62b49e[_0xc2d7('0x2b')]]={'$like':'%'+_0x1f028f['query'][_0xc2d7('0x40')]+'%'};return _0x487a9b;}})});}_0x9116fc=_[_0xc2d7('0x3e')]({},_0x9116fc,_0x1f028f[_0xc2d7('0x41')]);var _0x5da867={'where':_0x9116fc['where']};return db[_0xc2d7('0x42')][_0xc2d7('0x21')](_0x5da867)[_0xc2d7('0x28')](function(_0x5c7218){_0x36ef7b[_0xc2d7('0x21')]=_0x5c7218;if(_0x1f028f['query']['includeAll']){_0x9116fc[_0xc2d7('0x43')]=[{'all':!![]}];}return db[_0xc2d7('0x42')][_0xc2d7('0x44')](_0x9116fc);})['then'](function(_0x17b853){_0x36ef7b[_0xc2d7('0x45')]=_0x17b853;return _0x36ef7b;})[_0xc2d7('0x28')](respondWithFilteredResult(_0x46c6e5,_0x9116fc))[_0xc2d7('0x46')](handleError(_0x46c6e5,null));};exports['show']=function(_0xccbffc,_0x2a4b2e){var _0x24c92a={'raw':![],'where':{'id':_0xccbffc[_0xc2d7('0x47')]['id']}},_0x485537={};_0x485537[_0xc2d7('0x32')]=_[_0xc2d7('0x48')](db[_0xc2d7('0x42')][_0xc2d7('0x2f')]);_0x485537['query']=_[_0xc2d7('0x48')](_0xccbffc[_0xc2d7('0x33')]);_0x485537[_0xc2d7('0x34')]=_[_0xc2d7('0x35')](_0x485537[_0xc2d7('0x32')],_0x485537[_0xc2d7('0x33')]);_0x24c92a[_0xc2d7('0x36')]=_[_0xc2d7('0x35')](_0x485537[_0xc2d7('0x32')],qs[_0xc2d7('0x37')](_0xccbffc[_0xc2d7('0x33')]['fields']));_0x24c92a[_0xc2d7('0x36')]=_0x24c92a['attributes']['length']?_0x24c92a['attributes']:_0x485537[_0xc2d7('0x32')];if(_0xccbffc[_0xc2d7('0x33')][_0xc2d7('0x49')]){_0x24c92a['include']=[{'all':!![]}];}_0x24c92a=_[_0xc2d7('0x3e')]({},_0x24c92a,_0xccbffc[_0xc2d7('0x41')]);return db[_0xc2d7('0x42')]['find'](_0x24c92a)['then'](handleEntityNotFound(_0x2a4b2e,null))['then'](respondWithResult(_0x2a4b2e,null))[_0xc2d7('0x46')](handleError(_0x2a4b2e,null));};exports[_0xc2d7('0x4a')]=function(_0x5eb707,_0x417c6d){return db[_0xc2d7('0x42')][_0xc2d7('0x4a')](_0x5eb707[_0xc2d7('0x4b')],{})[_0xc2d7('0x28')](function(_0x1262ea){var _0xc093cc=_0x5eb707[_0xc2d7('0x4c')][_0xc2d7('0x4d')]({'plain':!![]});if(!_0xc093cc)throw new Error(_0xc2d7('0x4e'));if(_0xc093cc['role']===_0xc2d7('0x4c')){var _0x371542=_0x1262ea[_0xc2d7('0x4d')]({'plain':!![]});var _0x505f3b=_0xc2d7('0x4f');return db[_0xc2d7('0x50')][_0xc2d7('0x51')]({'where':{'name':_0x505f3b,'userProfileId':_0xc093cc['userProfileId']},'raw':!![]})[_0xc2d7('0x28')](function(_0xa3eecd){if(_0xa3eecd&&_0xa3eecd['autoAssociation']===0x0){return db[_0xc2d7('0x52')][_0xc2d7('0x4a')]({'name':_0x371542[_0xc2d7('0x2b')],'resourceId':_0x371542['id'],'type':_0xa3eecd[_0xc2d7('0x2b')],'sectionId':_0xa3eecd['id']},{})['then'](function(){return _0x1262ea;});}else{return _0x1262ea;}})['catch'](function(_0x4ad91e){logger[_0xc2d7('0x29')](_0xc2d7('0x53'),_0x4ad91e);throw _0x4ad91e;});}return _0x1262ea;})[_0xc2d7('0x28')](respondWithResult(_0x417c6d,0xc9))[_0xc2d7('0x46')](handleError(_0x417c6d,null));};exports['update']=function(_0x20e46b,_0x19a832){if(_0x20e46b[_0xc2d7('0x4b')]['id']){delete _0x20e46b[_0xc2d7('0x4b')]['id'];}return db[_0xc2d7('0x42')][_0xc2d7('0x51')]({'where':{'id':_0x20e46b[_0xc2d7('0x47')]['id']}})[_0xc2d7('0x28')](handleEntityNotFound(_0x19a832,null))[_0xc2d7('0x28')](saveUpdates(_0x20e46b[_0xc2d7('0x4b')],null))[_0xc2d7('0x28')](respondWithResult(_0x19a832,null))[_0xc2d7('0x46')](handleError(_0x19a832,null));};exports[_0xc2d7('0x54')]=function(_0x3b6b96,_0x2a3aad){var _0x323653=_0x3b6b96[_0xc2d7('0x47')]['id'];var _0xb34304=[];return db['sequelize'][_0xc2d7('0x55')](function(_0x4b2f51){var _0x27a86e=_0xc2d7('0x56')+_0x323653;return db[_0xc2d7('0x57')][_0xc2d7('0x33')](_0x27a86e,{'type':db[_0xc2d7('0x58')][_0xc2d7('0x59')][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51})[_0xc2d7('0x28')](function(_0x38af72){_0xb34304=_[_0xc2d7('0x2e')](_0x38af72,function(_0x2c4668){return Number(_0x2c4668[_0xc2d7('0x5b')]);});})[_0xc2d7('0x28')](function(){var _0x1c500f=_0xc2d7('0x5c')+_0x323653;return db[_0xc2d7('0x57')]['query'](_0x1c500f,{'type':db[_0xc2d7('0x58')][_0xc2d7('0x59')][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x27c199){var _0x196db5=_['map'](_0x27c199,function(_0x519621){return Number(_0x519621[_0xc2d7('0x5d')]);});return db[_0xc2d7('0x5e')][_0xc2d7('0x54')]({'where':{'UserId':{'$in':_0xb34304},'VoiceQueueId':{'$in':_0x196db5}},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){var _0xcfdc92='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x323653;return db[_0xc2d7('0x57')][_0xc2d7('0x33')](_0xcfdc92,{'type':db['Sequelize'][_0xc2d7('0x59')][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0xd691a2){var _0x468c4c=_[_0xc2d7('0x2e')](_0xd691a2,function(_0x221a70){return Number(_0x221a70[_0xc2d7('0x5f')]);});return db[_0xc2d7('0x60')][_0xc2d7('0x54')]({'where':{'UserId':{'$in':_0xb34304},'MailQueueId':{'$in':_0x468c4c}},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){var _0x1d609f=_0xc2d7('0x61')+_0x323653;return db[_0xc2d7('0x57')]['query'](_0x1d609f,{'type':db[_0xc2d7('0x58')]['QueryTypes'][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x3065ca){var _0x348dab=_[_0xc2d7('0x2e')](_0x3065ca,function(_0x4569c2){return Number(_0x4569c2[_0xc2d7('0x62')]);});return db[_0xc2d7('0x63')][_0xc2d7('0x54')]({'where':{'UserId':{'$in':_0xb34304},'SmsQueueId':{'$in':_0x348dab}},'transaction':_0x4b2f51});})['then'](function(){var _0x485277=_0xc2d7('0x64')+_0x323653;return db['sequelize']['query'](_0x485277,{'type':db[_0xc2d7('0x58')][_0xc2d7('0x59')][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x270b48){var _0x4b5189=_[_0xc2d7('0x2e')](_0x270b48,function(_0x26964d){return Number(_0x26964d['ChatQueueId']);});return db['UserChatQueue'][_0xc2d7('0x54')]({'where':{'UserId':{'$in':_0xb34304},'ChatQueueId':{'$in':_0x4b5189}},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){var _0x33dd90='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x323653;return db[_0xc2d7('0x57')]['query'](_0x33dd90,{'type':db[_0xc2d7('0x58')]['QueryTypes'][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x592084){var _0x525281=_['map'](_0x592084,function(_0x402af9){return Number(_0x402af9[_0xc2d7('0x65')]);});return db['UserFaxQueue'][_0xc2d7('0x54')]({'where':{'UserId':{'$in':_0xb34304},'FaxQueueId':{'$in':_0x525281}},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){var _0x33d6e0=_0xc2d7('0x66')+_0x323653;return db[_0xc2d7('0x57')]['query'](_0x33d6e0,{'type':db[_0xc2d7('0x58')]['QueryTypes'][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x1ec139){var _0x137c47=_[_0xc2d7('0x2e')](_0x1ec139,function(_0xbbdf99){return Number(_0xbbdf99['OpenchannelQueueId']);});return db[_0xc2d7('0x67')]['destroy']({'where':{'UserId':{'$in':_0xb34304},'OpenchannelQueueId':{'$in':_0x137c47}},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){var _0x1f8286=_0xc2d7('0x68')+_0x323653;return db[_0xc2d7('0x57')][_0xc2d7('0x33')](_0x1f8286,{'type':db['Sequelize'][_0xc2d7('0x59')][_0xc2d7('0x5a')],'raw':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x3b1b51){var _0x57069d=_[_0xc2d7('0x2e')](_0x3b1b51,function(_0x115240){return Number(_0x115240[_0xc2d7('0x69')]);});return db[_0xc2d7('0x6a')]['destroy']({'where':{'UserId':{'$in':_0xb34304},'WhatsappQueueId':{'$in':_0x57069d}},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){return db[_0xc2d7('0x6b')]['find']({'where':{'TeamId':_0x323653}});})[_0xc2d7('0x28')](function(_0x4015c8){if(_0x4015c8===null){return;}return db[_0xc2d7('0x6c')][_0xc2d7('0x54')]({'where':{'UserId':{'$in':_0xb34304},'VoicePrefixId':_0x4015c8['VoicePrefixId']},'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(){return db[_0xc2d7('0x42')][_0xc2d7('0x54')]({'where':{'id':_0x323653},'cascade':!![],'transaction':_0x4b2f51});})[_0xc2d7('0x28')](function(_0x2855e5){if(_0x2855e5===0x0){_0x2a3aad[_0xc2d7('0x1c')](0x194);}else{return db[_0xc2d7('0x52')][_0xc2d7('0x54')]({'where':{'type':_0xc2d7('0x4f'),'resourceId':_0x323653},'cascade':!![],'transaction':_0x4b2f51})['then'](function(){_0x2a3aad[_0xc2d7('0x1d')](0xcc)[_0xc2d7('0x1e')]();});}})['catch'](function(_0x52d728){_0x2a3aad['status'](0x1f4)[_0xc2d7('0x2c')](_0x52d728);});});};exports[_0xc2d7('0x6d')]=function(_0x2ceb88,_0x3336b4,_0x32e898){return db[_0xc2d7('0x42')]['findOne']({'where':{'id':_0x2ceb88['params']['id']}})['then'](handleEntityNotFound(_0x3336b4,null))[_0xc2d7('0x28')](function(_0x4748c0){if(!_0x2ceb88['query'][_0xc2d7('0x6e')]||!utils[_0xc2d7('0x6f')](_0x2ceb88[_0xc2d7('0x33')][_0xc2d7('0x6e')])){throw new db[(_0xc2d7('0x58'))][(_0xc2d7('0x70'))]('Unknown\x20channel');}var _0x5d6489={};var _0x4906ce={};_0x4906ce[_0xc2d7('0x32')]=_['keys'](db[_[_0xc2d7('0x71')](_0x2ceb88[_0xc2d7('0x33')]['channel'][_0xc2d7('0x72')]())+_0xc2d7('0x73')]['rawAttributes']);_0x4906ce[_0xc2d7('0x33')]=_['keys'](_0x2ceb88[_0xc2d7('0x33')]);_0x4906ce[_0xc2d7('0x34')]=_[_0xc2d7('0x35')](_0x4906ce[_0xc2d7('0x32')],_0x4906ce['query']);_0x5d6489[_0xc2d7('0x36')]=_[_0xc2d7('0x35')](_0x4906ce[_0xc2d7('0x32')],qs[_0xc2d7('0x37')](_0x2ceb88[_0xc2d7('0x33')][_0xc2d7('0x37')]));_0x5d6489[_0xc2d7('0x36')]=_0x5d6489[_0xc2d7('0x36')][_0xc2d7('0x38')]?_0x5d6489[_0xc2d7('0x36')]:_0x4906ce['model'];_0x5d6489[_0xc2d7('0x23')]=qs[_0xc2d7('0x23')](_0x2ceb88[_0xc2d7('0x33')]['limit']);_0x5d6489[_0xc2d7('0x22')]=qs[_0xc2d7('0x22')](_0x2ceb88[_0xc2d7('0x33')][_0xc2d7('0x22')]);_0x5d6489[_0xc2d7('0x74')]=qs[_0xc2d7('0x3b')](_0x2ceb88['query'][_0xc2d7('0x3b')]);_0x5d6489['where']=qs['filters'](_[_0xc2d7('0x3d')](_0x2ceb88[_0xc2d7('0x33')],_0x4906ce[_0xc2d7('0x34')]));_0x5d6489=_[_0xc2d7('0x3e')]({},_0x5d6489,_0x2ceb88[_0xc2d7('0x41')]);return _0x4748c0[_0xc2d7('0x4d')+_[_0xc2d7('0x71')](_0x2ceb88[_0xc2d7('0x33')][_0xc2d7('0x6e')][_0xc2d7('0x72')]())+_0xc2d7('0x75')](_0x5d6489);})['then'](respondWithResult(_0x3336b4,null))[_0xc2d7('0x46')](handleError(_0x3336b4,null));};exports[_0xc2d7('0x76')]=function(_0x14586c,_0x3929d1,_0x2988df){return db[_0xc2d7('0x42')]['findOne']({'where':{'id':_0x14586c[_0xc2d7('0x47')]['id']}})['then'](function(_0x167e16){if(_0x167e16){if(!_0x14586c['body'][_0xc2d7('0x6e')]||!utils[_0xc2d7('0x6f')](_0x14586c['body'][_0xc2d7('0x6e')])){throw new db[(_0xc2d7('0x58'))][(_0xc2d7('0x70'))](_0xc2d7('0x77'));}return _0x167e16[_0xc2d7('0x78')+_['capitalize'](_0x14586c['body'][_0xc2d7('0x6e')]['toLowerCase']())+'Queues'](_0x14586c[_0xc2d7('0x4b')][_0xc2d7('0x79')]);}return null;})[_0xc2d7('0x28')](handleEntityNotFound(_0x3929d1,null))['then'](respondWithStatusCode(_0x3929d1,null))[_0xc2d7('0x46')](handleError(_0x3929d1,null));};exports['removeQueues']=function(_0x53096b,_0x35dbfa,_0x47d001){return db['Team'][_0xc2d7('0x7a')]({'where':{'id':_0x53096b[_0xc2d7('0x47')]['id']}})[_0xc2d7('0x28')](function(_0x18be57){if(_0x18be57){if(!_0x53096b[_0xc2d7('0x33')]['channel']||!utils[_0xc2d7('0x6f')](_0x53096b[_0xc2d7('0x33')][_0xc2d7('0x6e')])){throw new db[(_0xc2d7('0x58'))][(_0xc2d7('0x70'))](_0xc2d7('0x77'));}return _0x18be57[_0xc2d7('0x7b')+_['capitalize'](_0x53096b['query']['channel'][_0xc2d7('0x72')]())+'Queues'](_0x53096b[_0xc2d7('0x33')][_0xc2d7('0x79')]);}return null;})[_0xc2d7('0x28')](handleEntityNotFound(_0x35dbfa,null))[_0xc2d7('0x28')](respondWithStatusCode(_0x35dbfa,null))['catch'](handleError(_0x35dbfa,null));};exports[_0xc2d7('0x7c')]=function(_0x266c40,_0x566cda){var _0x254b78=_[_0xc2d7('0x7d')](_0x266c40['body'][_0xc2d7('0x79')])?_0x266c40[_0xc2d7('0x4b')][_0xc2d7('0x79')]:[_0x266c40[_0xc2d7('0x4b')][_0xc2d7('0x79')]];var _0x290880=_0x266c40[_0xc2d7('0x47')]['id'];return db['Team'][_0xc2d7('0x51')]({'where':{'id':_0x290880}})[_0xc2d7('0x28')](handleEntityNotFound(_0x566cda,null))[_0xc2d7('0x28')](function(_0x4199c9){if(_0x4199c9){var _0x1c7420=[_0xc2d7('0x7e'),_0xc2d7('0x7f'),_0xc2d7('0x80'),_0xc2d7('0x81'),_0xc2d7('0x82'),_0xc2d7('0x83'),_0xc2d7('0x84')];return db[_0xc2d7('0x57')][_0xc2d7('0x55')](function(_0x2798a0){var _0x37b31f=_['map'](_0x1c7420,function(_0x338bb4){var _0x3fae93={'attributes':['id',_0xc2d7('0x2b')]};if(_0x338bb4===_0xc2d7('0x7e')){_0x3fae93[_0xc2d7('0x85')]={'attributes':[_0xc2d7('0x86')]};}return _0x4199c9[_0xc2d7('0x4d')+_0x338bb4+_0xc2d7('0x75')](_0x3fae93)[_0xc2d7('0x28')](function(_0xfa6923){var _0x394c49=_[_0xc2d7('0x2e')](_0xfa6923,function(_0x36453e){var _0x572f72=_[_0xc2d7('0x2e')](_0x254b78,function(_0x4c625b){var _0x409512={'where':{'UserId':_0x4c625b,[_0x338bb4+'QueueId']:_0x36453e['id']},'transaction':_0x2798a0};if(_0x338bb4===_0xc2d7('0x7e')){_0x409512[_0xc2d7('0x19')]={'penalty':_0x36453e[_0xc2d7('0x87')][_0xc2d7('0x86')]};}return db[_0xc2d7('0x88')+_0x338bb4+_0xc2d7('0x73')]['findOrCreate'](_0x409512)['then'](function(){socket[_0xc2d7('0x89')](_0xc2d7('0x4c')+_0x338bb4+'Queue:save',{'UserId':_0x4c625b,[_0x338bb4+_0xc2d7('0x8a')]:_0x36453e['id']});if(_0x338bb4!==_0xc2d7('0x7e')){return;}return db[_0xc2d7('0x88')][_0xc2d7('0x44')]({'where':{'id':_0x254b78,'online':0x1},'attributes':['id','name',_0xc2d7('0x8b'),_0xc2d7('0x8c'),'interface'],'raw':!![]})[_0xc2d7('0x28')](function(_0x51472e){var _0x5538b8=_[_0xc2d7('0x2e')](_0x51472e,function(_0x3e99ac){return db[_0xc2d7('0x8d')][_0xc2d7('0x8e')]({'membername':_0x3e99ac['name'],'UserId':_0x3e99ac['id'],'queue_name':_0x36453e[_0xc2d7('0x2b')],'VoiceQueueId':_0x36453e['id'],'interface':_[_0xc2d7('0x8f')](_0x3e99ac[_0xc2d7('0x90')])?util[_0xc2d7('0x91')](_0xc2d7('0x92'),_0x3e99ac[_0xc2d7('0x2b')]):_0x3e99ac[_0xc2d7('0x90')],'paused':_0x3e99ac[_0xc2d7('0x8c')]||![],'penalty':_0x36453e['TeamVoiceQueue'][_0xc2d7('0x86')]},{'transaction':_0x2798a0});});return Promise[_0xc2d7('0x93')](_0x5538b8);});});});return Promise[_0xc2d7('0x93')](_0x572f72);});return Promise['all'](_0x394c49);})['then'](function(){return db['TeamVoicePrefix'][_0xc2d7('0x7a')]({'where':{'teamId':_0x290880}})['then'](function(_0x301ee2){if(_0x301ee2){var _0x5ad887=_[_0xc2d7('0x2e')](_0x254b78,function(_0x33e4da){db['UserVoicePrefix'][_0xc2d7('0x8e')]({'UserId':_0x33e4da,'VoicePrefixId':_0x301ee2[_0xc2d7('0x94')]});});return Promise[_0xc2d7('0x93')](_0x5ad887);}});});});return Promise[_0xc2d7('0x93')](_0x37b31f)[_0xc2d7('0x28')](function(){return _0x4199c9[_0xc2d7('0x7c')](_0x254b78,{'transaction':_0x2798a0})['spread'](function(_0x22611a){return _0x22611a;});});});}})[_0xc2d7('0x28')](respondWithResult(_0x566cda,null))[_0xc2d7('0x46')](handleError(_0x566cda,null));};exports[_0xc2d7('0x95')]=function(_0x2b17cf,_0x3190f5){var _0x3383b9=_[_0xc2d7('0x7d')](_0x2b17cf[_0xc2d7('0x33')][_0xc2d7('0x79')])?_0x2b17cf[_0xc2d7('0x33')][_0xc2d7('0x79')]:[_0x2b17cf[_0xc2d7('0x33')][_0xc2d7('0x79')]];var _0x1585ed=_0x2b17cf[_0xc2d7('0x47')]['id'];return db['Team'][_0xc2d7('0x51')]({'where':{'id':_0x1585ed}})['then'](handleEntityNotFound(_0x3190f5,null))[_0xc2d7('0x28')](function(_0x3c05e){if(_0x3c05e){var _0xdf75db=[_0xc2d7('0x7e'),'Chat','Mail',_0xc2d7('0x81'),_0xc2d7('0x82'),_0xc2d7('0x83'),_0xc2d7('0x84')];return db[_0xc2d7('0x57')][_0xc2d7('0x55')](function(_0x5f3dfc){var _0x30b8bf=_['map'](_0xdf75db,function(_0x575493){var _0x432e5a={'attributes':['id',_0xc2d7('0x2b')]};return _0x3c05e[_0xc2d7('0x4d')+_0x575493+'Queues'](_0x432e5a)[_0xc2d7('0x28')](function(_0x24ab1a){var _0x2f3f06=_[_0xc2d7('0x2e')](_0x24ab1a,function(_0x524608){return _0x524608[_0xc2d7('0x95')](_0x3383b9,{'transaction':_0x5f3dfc})[_0xc2d7('0x28')](function(){var _0x5669f5=_[_0xc2d7('0x2e')](_0x3383b9,function(_0x144de8){socket[_0xc2d7('0x89')]('user'+_0x575493+_0xc2d7('0x96'),{'UserId':Number(_0x144de8),[_0x575493+'QueueId']:_0x524608['id']});if(_0x575493!==_0xc2d7('0x7e')){return;}return db['UserVoiceQueueRt']['destroy']({'where':{'VoiceQueueId':_0x524608['id'],'UserId':_0x144de8},'transaction':_0x5f3dfc});});return Promise['all'](_0x5669f5);});});return Promise['all'](_0x2f3f06);});});return Promise['all'](_0x30b8bf)[_0xc2d7('0x28')](function(){return _0x3c05e['removeAgents'](_0x3383b9,{'transaction':_0x5f3dfc});})[_0xc2d7('0x28')](function(){return db[_0xc2d7('0x6b')][_0xc2d7('0x7a')]({'where':{'teamId':_0x1585ed}})[_0xc2d7('0x28')](function(_0x5192e5){if(_0x5192e5){var _0x31da30=_[_0xc2d7('0x2e')](_0x3383b9,function(_0x465aa5){db[_0xc2d7('0x6c')][_0xc2d7('0x54')]({'where':{'UserId':_0x465aa5,'VoicePrefixId':_0x5192e5['VoicePrefixId']}});});return Promise[_0xc2d7('0x93')](_0x31da30);}});});});}})[_0xc2d7('0x28')](respondWithStatusCode(_0x3190f5,null))[_0xc2d7('0x46')](handleError(_0x3190f5,null));};exports[_0xc2d7('0x97')]=function(_0x9bfead,_0x4ae2c2,_0xf71b2){var _0x16be28={};var _0xd643c0={};var _0x22ff42;var _0x87c63f;return db[_0xc2d7('0x42')][_0xc2d7('0x7a')]({'where':{'id':_0x9bfead['params']['id']}})[_0xc2d7('0x28')](handleEntityNotFound(_0x4ae2c2,null))[_0xc2d7('0x28')](function(_0x32a104){if(_0x32a104){_0x22ff42=_0x32a104;_0xd643c0[_0xc2d7('0x32')]=_['keys'](db[_0xc2d7('0x88')][_0xc2d7('0x2f')]);_0xd643c0[_0xc2d7('0x33')]=_[_0xc2d7('0x48')](_0x9bfead[_0xc2d7('0x33')]);_0xd643c0[_0xc2d7('0x34')]=_[_0xc2d7('0x35')](_0xd643c0[_0xc2d7('0x32')],_0xd643c0['query']);_0x16be28[_0xc2d7('0x36')]=_[_0xc2d7('0x35')](_0xd643c0[_0xc2d7('0x32')],qs['fields'](_0x9bfead[_0xc2d7('0x33')]['fields']));_0x16be28['attributes']=_0x16be28[_0xc2d7('0x36')][_0xc2d7('0x38')]?_0x16be28['attributes']:_0xd643c0[_0xc2d7('0x32')];_0x16be28[_0xc2d7('0x74')]=qs[_0xc2d7('0x3b')](_0x9bfead[_0xc2d7('0x33')][_0xc2d7('0x3b')]);_0x16be28[_0xc2d7('0x3c')]=qs[_0xc2d7('0x34')](_[_0xc2d7('0x3d')](_0x9bfead[_0xc2d7('0x33')],_0xd643c0[_0xc2d7('0x34')]));if(_0x9bfead[_0xc2d7('0x33')]['filter']){_0x16be28['where']=_[_0xc2d7('0x3e')](_0x16be28['where'],{'$or':_[_0xc2d7('0x2e')](_0x16be28[_0xc2d7('0x36')],function(_0x2b6680){var _0x90eaad={};_0x90eaad[_0x2b6680]={'$like':'%'+_0x9bfead[_0xc2d7('0x33')][_0xc2d7('0x40')]+'%'};return _0x90eaad;})});}_0x16be28=_[_0xc2d7('0x3e')]({},_0x16be28,_0x9bfead['options']);return _0x22ff42[_0xc2d7('0x97')](_0x16be28);}})[_0xc2d7('0x28')](function(_0xc1bdda){if(_0xc1bdda){_0x87c63f=_0xc1bdda[_0xc2d7('0x38')];if(!_0x9bfead[_0xc2d7('0x33')][_0xc2d7('0x39')]('nolimit')){_0x16be28['limit']=qs[_0xc2d7('0x23')](_0x9bfead[_0xc2d7('0x33')]['limit']);_0x16be28[_0xc2d7('0x22')]=qs['offset'](_0x9bfead[_0xc2d7('0x33')][_0xc2d7('0x22')]);}return _0x22ff42[_0xc2d7('0x97')](_0x16be28);}})[_0xc2d7('0x28')](function(_0x7901f5){if(_0x7901f5){return _0x7901f5?{'count':_0x87c63f,'rows':_0x7901f5}:null;}})[_0xc2d7('0x28')](respondWithResult(_0x4ae2c2,null))[_0xc2d7('0x46')](handleError(_0x4ae2c2,null));};