Built motion from commit c738b9ac.|2.6.25
[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 _0x8b7f=['SIP/%s','TeamVoiceQueue','all','spread','removeAgents','Chat','getAgents','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','./team.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','error','stack','name','send','index','map','Team','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','nolimit','order','where','filters','filter','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','show','rawAttributes','length','find','create','body','user','get','role','Teams','UserProfileSection','userProfileId','UserProfileResource','params','destroy','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','SELECT','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','ChatQueueId','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','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','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','getQueues','channel','isValidChannel','ValidationError','capitalize','toLowerCase','Queue','sort','pick','addQueues','findOne','Unknown\x20channel','add','ids','removeQueues','remove','Queues','addAgents','isArray','Voice','Mail','Sms','Fax','Openchannel','Whatsapp','through','penalty','QueueId','defaults','findOrCreate','emit','Queue:save','User','online','voicePause','interface','UserVoiceQueueRt','upsert','format'];(function(_0x1eeba1,_0x3b1a44){var _0x29906c=function(_0x24ca3f){while(--_0x24ca3f){_0x1eeba1['push'](_0x1eeba1['shift']());}};_0x29906c(++_0x3b1a44);}(_0x8b7f,0x143));var _0xf8b7=function(_0x1f7725,_0xbe609){_0x1f7725=_0x1f7725-0x0;var _0x4799fe=_0x8b7f[_0x1f7725];return _0x4799fe;};'use strict';var emlformat=require(_0xf8b7('0x0'));var rimraf=require(_0xf8b7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf8b7('0x2'));var rp=require(_0xf8b7('0x3'));var moment=require('moment');var BPromise=require(_0xf8b7('0x4'));var Mustache=require('mustache');var util=require(_0xf8b7('0x5'));var path=require(_0xf8b7('0x6'));var sox=require(_0xf8b7('0x7'));var csv=require(_0xf8b7('0x8'));var ejs=require(_0xf8b7('0x9'));var fs=require('fs');var fs_extra=require(_0xf8b7('0xa'));var _=require(_0xf8b7('0xb'));var squel=require(_0xf8b7('0xc'));var crypto=require(_0xf8b7('0xd'));var jsforce=require(_0xf8b7('0xe'));var deskjs=require(_0xf8b7('0xf'));var toCsv=require(_0xf8b7('0x8'));var querystring=require(_0xf8b7('0x10'));var Papa=require(_0xf8b7('0x11'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xf8b7('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf8b7('0x13'));var logger=require(_0xf8b7('0x14'))('api');var utils=require(_0xf8b7('0x15'));var config=require(_0xf8b7('0x16'));var licenseUtil=require(_0xf8b7('0x17'));var db=require(_0xf8b7('0x18'))['db'];config[_0xf8b7('0x19')]=_['defaults'](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xf8b7('0x19')]));require(_0xf8b7('0x1a'))[_0xf8b7('0x1b')](socket);function respondWithStatusCode(_0x52b44c,_0x310926){_0x310926=_0x310926||0xcc;return function(_0x6a1bbf){if(_0x6a1bbf){return _0x52b44c[_0xf8b7('0x1c')](_0x310926);}return _0x52b44c[_0xf8b7('0x1d')](_0x310926)[_0xf8b7('0x1e')]();};}function respondWithResult(_0x3849d2,_0x2005ea){_0x2005ea=_0x2005ea||0xc8;return function(_0x251c49){if(_0x251c49){return _0x3849d2[_0xf8b7('0x1d')](_0x2005ea)[_0xf8b7('0x1f')](_0x251c49);}};}function respondWithFilteredResult(_0xb2d98,_0x2cb69a){return function(_0x1f1ceb){if(_0x1f1ceb){var _0x297955=typeof _0x2cb69a[_0xf8b7('0x20')]===_0xf8b7('0x21')&&typeof _0x2cb69a[_0xf8b7('0x22')]===_0xf8b7('0x21');var _0x19fdad=_0x1f1ceb[_0xf8b7('0x23')];var _0x4f34ae=_0x297955?0x0:_0x2cb69a[_0xf8b7('0x20')];var _0x556f65=_0x297955?_0x1f1ceb[_0xf8b7('0x23')]:_0x2cb69a[_0xf8b7('0x20')]+_0x2cb69a[_0xf8b7('0x22')];var _0x4ea43c;if(_0x556f65>=_0x19fdad){_0x556f65=_0x19fdad;_0x4ea43c=0xc8;}else{_0x4ea43c=0xce;}_0xb2d98['status'](_0x4ea43c);return _0xb2d98[_0xf8b7('0x24')](_0xf8b7('0x25'),_0x4f34ae+'-'+_0x556f65+'/'+_0x19fdad)[_0xf8b7('0x1f')](_0x1f1ceb);}return null;};}function patchUpdates(_0x35799e){return function(_0x4fe828){try{jsonpatch[_0xf8b7('0x26')](_0x4fe828,_0x35799e,!![]);}catch(_0x58a084){return BPromise[_0xf8b7('0x27')](_0x58a084);}return _0x4fe828[_0xf8b7('0x28')]();};}function saveUpdates(_0x1621e2,_0x3761f2){return function(_0x394015){if(_0x394015){return _0x394015[_0xf8b7('0x29')](_0x1621e2)['then'](function(_0x176fab){return _0x176fab;});}return null;};}function handleEntityNotFound(_0x1b5464,_0x1ff161){return function(_0x1f92b1){if(!_0x1f92b1){_0x1b5464[_0xf8b7('0x1c')](0x194);}return _0x1f92b1;};}function handleError(_0x44f646,_0x16418a){_0x16418a=_0x16418a||0x1f4;return function(_0x12933a){logger[_0xf8b7('0x2a')](_0x12933a[_0xf8b7('0x2b')]);if(_0x12933a[_0xf8b7('0x2c')]){delete _0x12933a[_0xf8b7('0x2c')];}_0x44f646[_0xf8b7('0x1d')](_0x16418a)[_0xf8b7('0x2d')](_0x12933a);};}exports[_0xf8b7('0x2e')]=function(_0x1d93d1,_0x192a02){var _0x115756={},_0x2d3673={},_0x2947e1={'count':0x0,'rows':[]};var _0x1102ae=_[_0xf8b7('0x2f')](db[_0xf8b7('0x30')]['rawAttributes'],function(_0x55315e){return{'name':_0x55315e['fieldName'],'type':_0x55315e[_0xf8b7('0x31')][_0xf8b7('0x32')]};});_0x2d3673[_0xf8b7('0x33')]=_[_0xf8b7('0x2f')](_0x1102ae,_0xf8b7('0x2c'));_0x2d3673[_0xf8b7('0x34')]=_[_0xf8b7('0x35')](_0x1d93d1[_0xf8b7('0x34')]);_0x2d3673['filters']=_[_0xf8b7('0x36')](_0x2d3673[_0xf8b7('0x33')],_0x2d3673[_0xf8b7('0x34')]);_0x115756[_0xf8b7('0x37')]=_[_0xf8b7('0x36')](_0x2d3673['model'],qs['fields'](_0x1d93d1[_0xf8b7('0x34')][_0xf8b7('0x38')]));_0x115756[_0xf8b7('0x37')]=_0x115756[_0xf8b7('0x37')]['length']?_0x115756[_0xf8b7('0x37')]:_0x2d3673[_0xf8b7('0x33')];if(!_0x1d93d1[_0xf8b7('0x34')][_0xf8b7('0x39')](_0xf8b7('0x3a'))){_0x115756[_0xf8b7('0x22')]=qs[_0xf8b7('0x22')](_0x1d93d1['query'][_0xf8b7('0x22')]);_0x115756[_0xf8b7('0x20')]=qs[_0xf8b7('0x20')](_0x1d93d1['query']['offset']);}_0x115756[_0xf8b7('0x3b')]=qs['sort'](_0x1d93d1[_0xf8b7('0x34')]['sort']);_0x115756[_0xf8b7('0x3c')]=qs[_0xf8b7('0x3d')](_['pick'](_0x1d93d1['query'],_0x2d3673[_0xf8b7('0x3d')]),_0x1102ae);if(_0x1d93d1['query'][_0xf8b7('0x3e')]){_0x115756[_0xf8b7('0x3c')]=_[_0xf8b7('0x3f')](_0x115756[_0xf8b7('0x3c')],{'$or':_[_0xf8b7('0x2f')](_0x1102ae,function(_0x11cdc8){if(_0x11cdc8[_0xf8b7('0x31')]!==_0xf8b7('0x40')){var _0x20a2aa={};_0x20a2aa[_0x11cdc8[_0xf8b7('0x2c')]]={'$like':'%'+_0x1d93d1['query'][_0xf8b7('0x3e')]+'%'};return _0x20a2aa;}})});}_0x115756=_[_0xf8b7('0x3f')]({},_0x115756,_0x1d93d1[_0xf8b7('0x41')]);var _0x1c00b7={'where':_0x115756[_0xf8b7('0x3c')]};return db['Team'][_0xf8b7('0x23')](_0x1c00b7)[_0xf8b7('0x42')](function(_0x5f516f){_0x2947e1['count']=_0x5f516f;if(_0x1d93d1[_0xf8b7('0x34')][_0xf8b7('0x43')]){_0x115756[_0xf8b7('0x44')]=[{'all':!![]}];}return db[_0xf8b7('0x30')][_0xf8b7('0x45')](_0x115756);})[_0xf8b7('0x42')](function(_0x541434){_0x2947e1[_0xf8b7('0x46')]=_0x541434;return _0x2947e1;})[_0xf8b7('0x42')](respondWithFilteredResult(_0x192a02,_0x115756))[_0xf8b7('0x47')](handleError(_0x192a02,null));};exports[_0xf8b7('0x48')]=function(_0x2b6b89,_0x10b85a){var _0x54c791={'raw':![],'where':{'id':_0x2b6b89['params']['id']}},_0x47ab47={};_0x47ab47['model']=_['keys'](db[_0xf8b7('0x30')][_0xf8b7('0x49')]);_0x47ab47[_0xf8b7('0x34')]=_[_0xf8b7('0x35')](_0x2b6b89['query']);_0x47ab47[_0xf8b7('0x3d')]=_[_0xf8b7('0x36')](_0x47ab47['model'],_0x47ab47['query']);_0x54c791[_0xf8b7('0x37')]=_['intersection'](_0x47ab47[_0xf8b7('0x33')],qs[_0xf8b7('0x38')](_0x2b6b89[_0xf8b7('0x34')][_0xf8b7('0x38')]));_0x54c791['attributes']=_0x54c791[_0xf8b7('0x37')][_0xf8b7('0x4a')]?_0x54c791[_0xf8b7('0x37')]:_0x47ab47[_0xf8b7('0x33')];if(_0x2b6b89['query'][_0xf8b7('0x43')]){_0x54c791['include']=[{'all':!![]}];}_0x54c791=_[_0xf8b7('0x3f')]({},_0x54c791,_0x2b6b89['options']);return db[_0xf8b7('0x30')][_0xf8b7('0x4b')](_0x54c791)['then'](handleEntityNotFound(_0x10b85a,null))[_0xf8b7('0x42')](respondWithResult(_0x10b85a,null))[_0xf8b7('0x47')](handleError(_0x10b85a,null));};exports[_0xf8b7('0x4c')]=function(_0x26d104,_0x4fa0d6){return db['Team'][_0xf8b7('0x4c')](_0x26d104[_0xf8b7('0x4d')],{})['then'](function(_0x4104a1){var _0x142e62=_0x26d104[_0xf8b7('0x4e')][_0xf8b7('0x4f')]({'plain':!![]});if(!_0x142e62)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x142e62[_0xf8b7('0x50')]==='user'){var _0x47c982=_0x4104a1[_0xf8b7('0x4f')]({'plain':!![]});var _0x4dfc2a=_0xf8b7('0x51');return db[_0xf8b7('0x52')][_0xf8b7('0x4b')]({'where':{'name':_0x4dfc2a,'userProfileId':_0x142e62[_0xf8b7('0x53')]},'raw':!![]})[_0xf8b7('0x42')](function(_0x477317){if(_0x477317&&_0x477317['autoAssociation']===0x0){return db[_0xf8b7('0x54')][_0xf8b7('0x4c')]({'name':_0x47c982[_0xf8b7('0x2c')],'resourceId':_0x47c982['id'],'type':_0x477317['name'],'sectionId':_0x477317['id']},{})[_0xf8b7('0x42')](function(){return _0x4104a1;});}else{return _0x4104a1;}})[_0xf8b7('0x47')](function(_0x116b4d){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x116b4d);throw _0x116b4d;});}return _0x4104a1;})['then'](respondWithResult(_0x4fa0d6,0xc9))['catch'](handleError(_0x4fa0d6,null));};exports['update']=function(_0x521d22,_0x1258a3){if(_0x521d22[_0xf8b7('0x4d')]['id']){delete _0x521d22[_0xf8b7('0x4d')]['id'];}return db[_0xf8b7('0x30')][_0xf8b7('0x4b')]({'where':{'id':_0x521d22[_0xf8b7('0x55')]['id']}})[_0xf8b7('0x42')](handleEntityNotFound(_0x1258a3,null))[_0xf8b7('0x42')](saveUpdates(_0x521d22[_0xf8b7('0x4d')],null))['then'](respondWithResult(_0x1258a3,null))[_0xf8b7('0x47')](handleError(_0x1258a3,null));};exports[_0xf8b7('0x56')]=function(_0x472d7a,_0x355944){var _0x581e97=_0x472d7a['params']['id'];var _0x8308ef=[];return db[_0xf8b7('0x57')][_0xf8b7('0x58')](function(_0x189d05){var _0x5ce928=_0xf8b7('0x59')+_0x581e97;return db[_0xf8b7('0x57')]['query'](_0x5ce928,{'type':db[_0xf8b7('0x5a')][_0xf8b7('0x5b')]['SELECT'],'raw':!![],'transaction':_0x189d05})[_0xf8b7('0x42')](function(_0x1d290b){_0x8308ef=_['map'](_0x1d290b,function(_0x4b8a50){return Number(_0x4b8a50[_0xf8b7('0x5c')]);});})[_0xf8b7('0x42')](function(){var _0x5050cc=_0xf8b7('0x5d')+_0x581e97;return db['sequelize'][_0xf8b7('0x34')](_0x5050cc,{'type':db[_0xf8b7('0x5a')][_0xf8b7('0x5b')]['SELECT'],'raw':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x118581){var _0x509e5e=_[_0xf8b7('0x2f')](_0x118581,function(_0x20dba1){return Number(_0x20dba1[_0xf8b7('0x5e')]);});return db['UserVoiceQueue'][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'VoiceQueueId':{'$in':_0x509e5e}},'transaction':_0x189d05});})[_0xf8b7('0x42')](function(){var _0x136568=_0xf8b7('0x5f')+_0x581e97;return db[_0xf8b7('0x57')]['query'](_0x136568,{'type':db[_0xf8b7('0x5a')][_0xf8b7('0x5b')][_0xf8b7('0x60')],'raw':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x2e6e53){var _0x2934af=_[_0xf8b7('0x2f')](_0x2e6e53,function(_0x5d9c7f){return Number(_0x5d9c7f[_0xf8b7('0x61')]);});return db[_0xf8b7('0x62')]['destroy']({'where':{'UserId':{'$in':_0x8308ef},'MailQueueId':{'$in':_0x2934af}},'transaction':_0x189d05});})[_0xf8b7('0x42')](function(){var _0x576243=_0xf8b7('0x63')+_0x581e97;return db[_0xf8b7('0x57')][_0xf8b7('0x34')](_0x576243,{'type':db['Sequelize'][_0xf8b7('0x5b')][_0xf8b7('0x60')],'raw':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x3912d1){var _0x2890ad=_[_0xf8b7('0x2f')](_0x3912d1,function(_0x1f4363){return Number(_0x1f4363[_0xf8b7('0x64')]);});return db[_0xf8b7('0x65')][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'SmsQueueId':{'$in':_0x2890ad}},'transaction':_0x189d05});})['then'](function(){var _0x40026c='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x581e97;return db[_0xf8b7('0x57')]['query'](_0x40026c,{'type':db[_0xf8b7('0x5a')][_0xf8b7('0x5b')]['SELECT'],'raw':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x3dc10e){var _0xf76539=_[_0xf8b7('0x2f')](_0x3dc10e,function(_0x343844){return Number(_0x343844[_0xf8b7('0x66')]);});return db['UserChatQueue'][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'ChatQueueId':{'$in':_0xf76539}},'transaction':_0x189d05});})[_0xf8b7('0x42')](function(){var _0x885825=_0xf8b7('0x67')+_0x581e97;return db['sequelize'][_0xf8b7('0x34')](_0x885825,{'type':db[_0xf8b7('0x5a')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x478346){var _0x3e3cb3=_[_0xf8b7('0x2f')](_0x478346,function(_0x12d04b){return Number(_0x12d04b['FaxQueueId']);});return db[_0xf8b7('0x68')][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'FaxQueueId':{'$in':_0x3e3cb3}},'transaction':_0x189d05});})[_0xf8b7('0x42')](function(){var _0x4858c5=_0xf8b7('0x69')+_0x581e97;return db[_0xf8b7('0x57')][_0xf8b7('0x34')](_0x4858c5,{'type':db['Sequelize'][_0xf8b7('0x5b')][_0xf8b7('0x60')],'raw':!![],'transaction':_0x189d05});})['then'](function(_0x34ce17){var _0x3fcf1d=_[_0xf8b7('0x2f')](_0x34ce17,function(_0x283697){return Number(_0x283697['OpenchannelQueueId']);});return db[_0xf8b7('0x6a')][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'OpenchannelQueueId':{'$in':_0x3fcf1d}},'transaction':_0x189d05});})['then'](function(){var _0x29bd28=_0xf8b7('0x6b')+_0x581e97;return db[_0xf8b7('0x57')][_0xf8b7('0x34')](_0x29bd28,{'type':db['Sequelize'][_0xf8b7('0x5b')][_0xf8b7('0x60')],'raw':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x3b2166){var _0xc91e89=_['map'](_0x3b2166,function(_0xa04d47){return Number(_0xa04d47[_0xf8b7('0x6c')]);});return db['UserWhatsappQueue'][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'WhatsappQueueId':{'$in':_0xc91e89}},'transaction':_0x189d05});})[_0xf8b7('0x42')](function(){return db[_0xf8b7('0x6d')][_0xf8b7('0x4b')]({'where':{'TeamId':_0x581e97}});})[_0xf8b7('0x42')](function(_0x4ad927){if(_0x4ad927===null){return;}return db[_0xf8b7('0x6e')][_0xf8b7('0x56')]({'where':{'UserId':{'$in':_0x8308ef},'VoicePrefixId':_0x4ad927[_0xf8b7('0x6f')]},'transaction':_0x189d05});})['then'](function(){return db[_0xf8b7('0x30')][_0xf8b7('0x56')]({'where':{'id':_0x581e97},'cascade':!![],'transaction':_0x189d05});})[_0xf8b7('0x42')](function(_0x127597){if(_0x127597===0x0){_0x355944['sendStatus'](0x194);}else{return db[_0xf8b7('0x54')]['destroy']({'where':{'type':_0xf8b7('0x51'),'resourceId':_0x581e97},'cascade':!![],'transaction':_0x189d05})[_0xf8b7('0x42')](function(){_0x355944['status'](0xcc)[_0xf8b7('0x1e')]();});}})[_0xf8b7('0x47')](function(_0x139601){_0x355944[_0xf8b7('0x1d')](0x1f4)[_0xf8b7('0x2d')](_0x139601);});});};exports[_0xf8b7('0x70')]=function(_0x39731e,_0x222eb2,_0x12a528){return db['Team']['findOne']({'where':{'id':_0x39731e['params']['id']}})[_0xf8b7('0x42')](handleEntityNotFound(_0x222eb2,null))['then'](function(_0x128318){if(!_0x39731e['query'][_0xf8b7('0x71')]||!utils[_0xf8b7('0x72')](_0x39731e[_0xf8b7('0x34')]['channel'])){throw new db[(_0xf8b7('0x5a'))][(_0xf8b7('0x73'))]('Unknown\x20channel');}var _0xc6ccd0={};var _0x13bb16={};_0x13bb16['model']=_[_0xf8b7('0x35')](db[_[_0xf8b7('0x74')](_0x39731e['query'][_0xf8b7('0x71')][_0xf8b7('0x75')]())+_0xf8b7('0x76')]['rawAttributes']);_0x13bb16[_0xf8b7('0x34')]=_['keys'](_0x39731e['query']);_0x13bb16[_0xf8b7('0x3d')]=_['intersection'](_0x13bb16[_0xf8b7('0x33')],_0x13bb16[_0xf8b7('0x34')]);_0xc6ccd0['attributes']=_[_0xf8b7('0x36')](_0x13bb16[_0xf8b7('0x33')],qs[_0xf8b7('0x38')](_0x39731e[_0xf8b7('0x34')][_0xf8b7('0x38')]));_0xc6ccd0[_0xf8b7('0x37')]=_0xc6ccd0[_0xf8b7('0x37')][_0xf8b7('0x4a')]?_0xc6ccd0['attributes']:_0x13bb16[_0xf8b7('0x33')];_0xc6ccd0[_0xf8b7('0x22')]=qs[_0xf8b7('0x22')](_0x39731e[_0xf8b7('0x34')][_0xf8b7('0x22')]);_0xc6ccd0[_0xf8b7('0x20')]=qs[_0xf8b7('0x20')](_0x39731e[_0xf8b7('0x34')][_0xf8b7('0x20')]);_0xc6ccd0['order']=qs[_0xf8b7('0x77')](_0x39731e[_0xf8b7('0x34')][_0xf8b7('0x77')]);_0xc6ccd0[_0xf8b7('0x3c')]=qs['filters'](_[_0xf8b7('0x78')](_0x39731e[_0xf8b7('0x34')],_0x13bb16[_0xf8b7('0x3d')]));_0xc6ccd0=_[_0xf8b7('0x3f')]({},_0xc6ccd0,_0x39731e[_0xf8b7('0x41')]);return _0x128318['get'+_['capitalize'](_0x39731e[_0xf8b7('0x34')][_0xf8b7('0x71')]['toLowerCase']())+'Queues'](_0xc6ccd0);})[_0xf8b7('0x42')](respondWithResult(_0x222eb2,null))[_0xf8b7('0x47')](handleError(_0x222eb2,null));};exports[_0xf8b7('0x79')]=function(_0x1833a3,_0x24801b,_0xa9d7ba){return db['Team'][_0xf8b7('0x7a')]({'where':{'id':_0x1833a3[_0xf8b7('0x55')]['id']}})[_0xf8b7('0x42')](function(_0x10fdcf){if(_0x10fdcf){if(!_0x1833a3[_0xf8b7('0x4d')][_0xf8b7('0x71')]||!utils[_0xf8b7('0x72')](_0x1833a3[_0xf8b7('0x4d')][_0xf8b7('0x71')])){throw new db['Sequelize'][(_0xf8b7('0x73'))](_0xf8b7('0x7b'));}return _0x10fdcf[_0xf8b7('0x7c')+_['capitalize'](_0x1833a3['body'][_0xf8b7('0x71')]['toLowerCase']())+'Queues'](_0x1833a3[_0xf8b7('0x4d')][_0xf8b7('0x7d')]);}return null;})[_0xf8b7('0x42')](handleEntityNotFound(_0x24801b,null))[_0xf8b7('0x42')](respondWithStatusCode(_0x24801b,null))[_0xf8b7('0x47')](handleError(_0x24801b,null));};exports[_0xf8b7('0x7e')]=function(_0x185e87,_0x1e34e4,_0x383e64){return db[_0xf8b7('0x30')]['findOne']({'where':{'id':_0x185e87[_0xf8b7('0x55')]['id']}})[_0xf8b7('0x42')](function(_0x1b6ef3){if(_0x1b6ef3){if(!_0x185e87['query'][_0xf8b7('0x71')]||!utils[_0xf8b7('0x72')](_0x185e87[_0xf8b7('0x34')][_0xf8b7('0x71')])){throw new db[(_0xf8b7('0x5a'))]['ValidationError'](_0xf8b7('0x7b'));}return _0x1b6ef3[_0xf8b7('0x7f')+_['capitalize'](_0x185e87[_0xf8b7('0x34')][_0xf8b7('0x71')]['toLowerCase']())+_0xf8b7('0x80')](_0x185e87['query'][_0xf8b7('0x7d')]);}return null;})[_0xf8b7('0x42')](handleEntityNotFound(_0x1e34e4,null))[_0xf8b7('0x42')](respondWithStatusCode(_0x1e34e4,null))[_0xf8b7('0x47')](handleError(_0x1e34e4,null));};exports[_0xf8b7('0x81')]=function(_0x4ba114,_0x19f248){var _0x2c4e5e=_[_0xf8b7('0x82')](_0x4ba114[_0xf8b7('0x4d')]['ids'])?_0x4ba114['body'][_0xf8b7('0x7d')]:[_0x4ba114[_0xf8b7('0x4d')][_0xf8b7('0x7d')]];var _0x9173fe=_0x4ba114['params']['id'];return db[_0xf8b7('0x30')][_0xf8b7('0x4b')]({'where':{'id':_0x9173fe}})[_0xf8b7('0x42')](handleEntityNotFound(_0x19f248,null))['then'](function(_0x173c25){if(_0x173c25){var _0x10e966=[_0xf8b7('0x83'),'Chat',_0xf8b7('0x84'),_0xf8b7('0x85'),_0xf8b7('0x86'),_0xf8b7('0x87'),_0xf8b7('0x88')];return db['sequelize']['transaction'](function(_0x2fa5f6){var _0x54fa6d=_[_0xf8b7('0x2f')](_0x10e966,function(_0x331c65){var _0x2f6c0b={'attributes':['id',_0xf8b7('0x2c')]};if(_0x331c65===_0xf8b7('0x83')){_0x2f6c0b[_0xf8b7('0x89')]={'attributes':[_0xf8b7('0x8a')]};}return _0x173c25['get'+_0x331c65+_0xf8b7('0x80')](_0x2f6c0b)['then'](function(_0x5c007e){var _0x478f4d=_[_0xf8b7('0x2f')](_0x5c007e,function(_0x570679){var _0x5c497b=_['map'](_0x2c4e5e,function(_0xef5d27){var _0x5bfb56={'where':{'UserId':_0xef5d27,[_0x331c65+_0xf8b7('0x8b')]:_0x570679['id']},'transaction':_0x2fa5f6};if(_0x331c65===_0xf8b7('0x83')){_0x5bfb56[_0xf8b7('0x8c')]={'penalty':_0x570679['TeamVoiceQueue'][_0xf8b7('0x8a')]};}return db['User'+_0x331c65+_0xf8b7('0x76')][_0xf8b7('0x8d')](_0x5bfb56)[_0xf8b7('0x42')](function(){socket[_0xf8b7('0x8e')](_0xf8b7('0x4e')+_0x331c65+_0xf8b7('0x8f'),{'UserId':_0xef5d27,[_0x331c65+_0xf8b7('0x8b')]:_0x570679['id']});if(_0x331c65!==_0xf8b7('0x83')){return;}return db[_0xf8b7('0x90')][_0xf8b7('0x45')]({'where':{'id':_0x2c4e5e,'online':0x1},'attributes':['id','name',_0xf8b7('0x91'),_0xf8b7('0x92'),_0xf8b7('0x93')],'raw':!![]})[_0xf8b7('0x42')](function(_0x232b07){var _0x2c63a1=_[_0xf8b7('0x2f')](_0x232b07,function(_0x56b086){return db[_0xf8b7('0x94')][_0xf8b7('0x95')]({'membername':_0x56b086[_0xf8b7('0x2c')],'UserId':_0x56b086['id'],'queue_name':_0x570679['name'],'VoiceQueueId':_0x570679['id'],'interface':_['isNil'](_0x56b086[_0xf8b7('0x93')])?util[_0xf8b7('0x96')](_0xf8b7('0x97'),_0x56b086[_0xf8b7('0x2c')]):_0x56b086[_0xf8b7('0x93')],'paused':_0x56b086[_0xf8b7('0x92')]||![],'penalty':_0x570679[_0xf8b7('0x98')][_0xf8b7('0x8a')]},{'transaction':_0x2fa5f6});});return Promise[_0xf8b7('0x99')](_0x2c63a1);});});});return Promise['all'](_0x5c497b);});return Promise[_0xf8b7('0x99')](_0x478f4d);})[_0xf8b7('0x42')](function(){return db['TeamVoicePrefix']['findOne']({'where':{'teamId':_0x9173fe}})[_0xf8b7('0x42')](function(_0x56b427){if(_0x56b427){var _0x2cd8ef=_[_0xf8b7('0x2f')](_0x2c4e5e,function(_0x40d902){db[_0xf8b7('0x6e')][_0xf8b7('0x95')]({'UserId':_0x40d902,'VoicePrefixId':_0x56b427['VoicePrefixId']});});return Promise[_0xf8b7('0x99')](_0x2cd8ef);}});});});return Promise['all'](_0x54fa6d)[_0xf8b7('0x42')](function(){return _0x173c25[_0xf8b7('0x81')](_0x2c4e5e,{'transaction':_0x2fa5f6})[_0xf8b7('0x9a')](function(_0x3c37fb){return _0x3c37fb;});});});}})[_0xf8b7('0x42')](respondWithResult(_0x19f248,null))[_0xf8b7('0x47')](handleError(_0x19f248,null));};exports[_0xf8b7('0x9b')]=function(_0x7d4763,_0x4f06ed){var _0x218c6d=_[_0xf8b7('0x82')](_0x7d4763[_0xf8b7('0x34')][_0xf8b7('0x7d')])?_0x7d4763[_0xf8b7('0x34')][_0xf8b7('0x7d')]:[_0x7d4763['query'][_0xf8b7('0x7d')]];var _0x1c049b=_0x7d4763[_0xf8b7('0x55')]['id'];return db[_0xf8b7('0x30')][_0xf8b7('0x4b')]({'where':{'id':_0x1c049b}})[_0xf8b7('0x42')](handleEntityNotFound(_0x4f06ed,null))[_0xf8b7('0x42')](function(_0x3c77d3){if(_0x3c77d3){var _0x39cd28=[_0xf8b7('0x83'),_0xf8b7('0x9c'),'Mail','Sms',_0xf8b7('0x86'),_0xf8b7('0x87'),_0xf8b7('0x88')];return db[_0xf8b7('0x57')]['transaction'](function(_0x32d683){var _0x408dd9=_[_0xf8b7('0x2f')](_0x39cd28,function(_0xb17d04){var _0x420f62={'attributes':['id',_0xf8b7('0x2c')]};return _0x3c77d3[_0xf8b7('0x4f')+_0xb17d04+'Queues'](_0x420f62)[_0xf8b7('0x42')](function(_0x448d24){var _0x1385e1=_[_0xf8b7('0x2f')](_0x448d24,function(_0x3408cb){return _0x3408cb['removeAgents'](_0x218c6d,{'transaction':_0x32d683})[_0xf8b7('0x42')](function(){var _0x2e04d5=_['map'](_0x218c6d,function(_0x473077){socket[_0xf8b7('0x8e')](_0xf8b7('0x4e')+_0xb17d04+'Queue:remove',{'UserId':Number(_0x473077),[_0xb17d04+'QueueId']:_0x3408cb['id']});if(_0xb17d04!==_0xf8b7('0x83')){return;}return db[_0xf8b7('0x94')][_0xf8b7('0x56')]({'where':{'VoiceQueueId':_0x3408cb['id'],'UserId':_0x473077},'transaction':_0x32d683});});return Promise[_0xf8b7('0x99')](_0x2e04d5);});});return Promise[_0xf8b7('0x99')](_0x1385e1);});});return Promise[_0xf8b7('0x99')](_0x408dd9)[_0xf8b7('0x42')](function(){return _0x3c77d3[_0xf8b7('0x9b')](_0x218c6d,{'transaction':_0x32d683});})[_0xf8b7('0x42')](function(){return db[_0xf8b7('0x6d')]['findOne']({'where':{'teamId':_0x1c049b}})[_0xf8b7('0x42')](function(_0x1878d3){if(_0x1878d3){var _0x3b0d36=_[_0xf8b7('0x2f')](_0x218c6d,function(_0x4b7b1f){db[_0xf8b7('0x6e')][_0xf8b7('0x56')]({'where':{'UserId':_0x4b7b1f,'VoicePrefixId':_0x1878d3[_0xf8b7('0x6f')]}});});return Promise[_0xf8b7('0x99')](_0x3b0d36);}});});});}})['then'](respondWithStatusCode(_0x4f06ed,null))['catch'](handleError(_0x4f06ed,null));};exports[_0xf8b7('0x9d')]=function(_0x128e22,_0x3b2e9a,_0x4014c2){var _0x459970={};var _0x15c120={};var _0x3e2dbb;var _0x1dcc8c;return db[_0xf8b7('0x30')][_0xf8b7('0x7a')]({'where':{'id':_0x128e22[_0xf8b7('0x55')]['id']}})[_0xf8b7('0x42')](handleEntityNotFound(_0x3b2e9a,null))[_0xf8b7('0x42')](function(_0x3fd899){if(_0x3fd899){_0x3e2dbb=_0x3fd899;_0x15c120[_0xf8b7('0x33')]=_[_0xf8b7('0x35')](db[_0xf8b7('0x90')][_0xf8b7('0x49')]);_0x15c120[_0xf8b7('0x34')]=_[_0xf8b7('0x35')](_0x128e22[_0xf8b7('0x34')]);_0x15c120[_0xf8b7('0x3d')]=_[_0xf8b7('0x36')](_0x15c120['model'],_0x15c120['query']);_0x459970[_0xf8b7('0x37')]=_['intersection'](_0x15c120[_0xf8b7('0x33')],qs['fields'](_0x128e22[_0xf8b7('0x34')][_0xf8b7('0x38')]));_0x459970[_0xf8b7('0x37')]=_0x459970[_0xf8b7('0x37')]['length']?_0x459970[_0xf8b7('0x37')]:_0x15c120[_0xf8b7('0x33')];_0x459970[_0xf8b7('0x3b')]=qs['sort'](_0x128e22[_0xf8b7('0x34')]['sort']);_0x459970[_0xf8b7('0x3c')]=qs[_0xf8b7('0x3d')](_[_0xf8b7('0x78')](_0x128e22[_0xf8b7('0x34')],_0x15c120[_0xf8b7('0x3d')]));if(_0x128e22[_0xf8b7('0x34')]['filter']){_0x459970[_0xf8b7('0x3c')]=_[_0xf8b7('0x3f')](_0x459970[_0xf8b7('0x3c')],{'$or':_[_0xf8b7('0x2f')](_0x459970[_0xf8b7('0x37')],function(_0x567038){var _0x29c563={};_0x29c563[_0x567038]={'$like':'%'+_0x128e22['query'][_0xf8b7('0x3e')]+'%'};return _0x29c563;})});}_0x459970=_[_0xf8b7('0x3f')]({},_0x459970,_0x128e22[_0xf8b7('0x41')]);return _0x3e2dbb[_0xf8b7('0x9d')](_0x459970);}})[_0xf8b7('0x42')](function(_0x1b19a4){if(_0x1b19a4){_0x1dcc8c=_0x1b19a4[_0xf8b7('0x4a')];if(!_0x128e22[_0xf8b7('0x34')][_0xf8b7('0x39')](_0xf8b7('0x3a'))){_0x459970[_0xf8b7('0x22')]=qs[_0xf8b7('0x22')](_0x128e22[_0xf8b7('0x34')][_0xf8b7('0x22')]);_0x459970['offset']=qs['offset'](_0x128e22[_0xf8b7('0x34')][_0xf8b7('0x20')]);}return _0x3e2dbb[_0xf8b7('0x9d')](_0x459970);}})['then'](function(_0x2228e5){if(_0x2228e5){return _0x2228e5?{'count':_0x1dcc8c,'rows':_0x2228e5}:null;}})['then'](respondWithResult(_0x3b2e9a,null))[_0xf8b7('0x47')](handleError(_0x3b2e9a,null));};