c8e5c2b3bde77d4c5a21db772b51687b0dd30e83
[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 _0x74d0=['addQueues','add','ids','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','Whatsapp','transaction','through','penalty','QueueId','defaults','TeamVoiceQueue','findOrCreate','emit','Queue:save','User','voicePause','interface','UserVoiceQueueRt','isNil','format','SIP/%s','all','UserVoicePrefix','upsert','spread','removeAgents','getAgents','pick','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus','status','end','undefined','limit','count','set','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','map','Team','rawAttributes','fieldName','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','filter','type','VIRTUAL','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Teams','body','destroy','sequelize','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT','UserId','VoiceQueueId','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','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','UserFaxQueue','OpenchannelQueueId','UserOpenchannelQueue','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','VoicePrefixId','UserProfileResource','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queues'];(function(_0x6a0266,_0x1552d6){var _0x309e00=function(_0x17c1d1){while(--_0x17c1d1){_0x6a0266['push'](_0x6a0266['shift']());}};_0x309e00(++_0x1552d6);}(_0x74d0,0x1eb));var _0x074d=function(_0x1facfa,_0x1acf7d){_0x1facfa=_0x1facfa-0x0;var _0x9ec701=_0x74d0[_0x1facfa];return _0x9ec701;};'use strict';var emlformat=require(_0x074d('0x0'));var rimraf=require(_0x074d('0x1'));var zipdir=require(_0x074d('0x2'));var jsonpatch=require(_0x074d('0x3'));var rp=require('request-promise');var moment=require(_0x074d('0x4'));var BPromise=require(_0x074d('0x5'));var Mustache=require(_0x074d('0x6'));var util=require(_0x074d('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x074d('0x8'));var ejs=require(_0x074d('0x9'));var fs=require('fs');var fs_extra=require(_0x074d('0xa'));var _=require('lodash');var squel=require(_0x074d('0xb'));var crypto=require(_0x074d('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x074d('0xd'));var toCsv=require(_0x074d('0x8'));var querystring=require(_0x074d('0xe'));var Papa=require(_0x074d('0xf'));var Redis=require(_0x074d('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x074d('0x11'));var as=require(_0x074d('0x12'));var hardwareService=require(_0x074d('0x13'));var logger=require(_0x074d('0x14'))(_0x074d('0x15'));var utils=require(_0x074d('0x16'));var config=require(_0x074d('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x074d('0x18')]=_['defaults'](config[_0x074d('0x18')],{'host':_0x074d('0x19'),'port':0x18eb});var socket=require(_0x074d('0x1a'))(new Redis(config[_0x074d('0x18')]));require(_0x074d('0x1b'))[_0x074d('0x1c')](socket);function respondWithStatusCode(_0x4ca2d0,_0x109c32){_0x109c32=_0x109c32||0xcc;return function(_0x3209c3){if(_0x3209c3){return _0x4ca2d0[_0x074d('0x1d')](_0x109c32);}return _0x4ca2d0[_0x074d('0x1e')](_0x109c32)[_0x074d('0x1f')]();};}function respondWithResult(_0x24e03d,_0x30d37a){_0x30d37a=_0x30d37a||0xc8;return function(_0x441d26){if(_0x441d26){return _0x24e03d[_0x074d('0x1e')](_0x30d37a)['json'](_0x441d26);}};}function respondWithFilteredResult(_0x3185fa,_0x157e81){return function(_0x1ad740){if(_0x1ad740){var _0x20c6e4=typeof _0x157e81['offset']===_0x074d('0x20')&&typeof _0x157e81[_0x074d('0x21')]==='undefined';var _0x8b77ef=_0x1ad740[_0x074d('0x22')];var _0x3bf674=_0x20c6e4?0x0:_0x157e81['offset'];var _0x28eb80=_0x20c6e4?_0x1ad740[_0x074d('0x22')]:_0x157e81['offset']+_0x157e81[_0x074d('0x21')];var _0x34e353;if(_0x28eb80>=_0x8b77ef){_0x28eb80=_0x8b77ef;_0x34e353=0xc8;}else{_0x34e353=0xce;}_0x3185fa['status'](_0x34e353);return _0x3185fa[_0x074d('0x23')](_0x074d('0x24'),_0x3bf674+'-'+_0x28eb80+'/'+_0x8b77ef)[_0x074d('0x25')](_0x1ad740);}return null;};}function patchUpdates(_0x20ec87){return function(_0x31d1e0){try{jsonpatch[_0x074d('0x26')](_0x31d1e0,_0x20ec87,!![]);}catch(_0x59ce78){return BPromise[_0x074d('0x27')](_0x59ce78);}return _0x31d1e0[_0x074d('0x28')]();};}function saveUpdates(_0x15f7b3,_0x4883f3){return function(_0xe43ec1){if(_0xe43ec1){return _0xe43ec1[_0x074d('0x29')](_0x15f7b3)[_0x074d('0x2a')](function(_0x20c707){return _0x20c707;});}return null;};}function handleEntityNotFound(_0x5b6285,_0x5bf584){return function(_0x10ef76){if(!_0x10ef76){_0x5b6285['sendStatus'](0x194);}return _0x10ef76;};}function handleError(_0x56f13d,_0x305199){_0x305199=_0x305199||0x1f4;return function(_0x2555da){logger[_0x074d('0x2b')](_0x2555da[_0x074d('0x2c')]);if(_0x2555da['name']){delete _0x2555da[_0x074d('0x2d')];}_0x56f13d['status'](_0x305199)[_0x074d('0x2e')](_0x2555da);};}exports['index']=function(_0x3fc0ed,_0x312a9f){var _0x110adc={},_0x41da54={},_0x382088={'count':0x0,'rows':[]};var _0x4be06f=_[_0x074d('0x2f')](db[_0x074d('0x30')][_0x074d('0x31')],function(_0x3e3102){return{'name':_0x3e3102[_0x074d('0x32')],'type':_0x3e3102['type']['key']};});_0x41da54['model']=_[_0x074d('0x2f')](_0x4be06f,_0x074d('0x2d'));_0x41da54[_0x074d('0x33')]=_[_0x074d('0x34')](_0x3fc0ed[_0x074d('0x33')]);_0x41da54[_0x074d('0x35')]=_[_0x074d('0x36')](_0x41da54[_0x074d('0x37')],_0x41da54[_0x074d('0x33')]);_0x110adc[_0x074d('0x38')]=_['intersection'](_0x41da54[_0x074d('0x37')],qs[_0x074d('0x39')](_0x3fc0ed[_0x074d('0x33')][_0x074d('0x39')]));_0x110adc[_0x074d('0x38')]=_0x110adc[_0x074d('0x38')][_0x074d('0x3a')]?_0x110adc['attributes']:_0x41da54[_0x074d('0x37')];if(!_0x3fc0ed[_0x074d('0x33')][_0x074d('0x3b')](_0x074d('0x3c'))){_0x110adc[_0x074d('0x21')]=qs['limit'](_0x3fc0ed[_0x074d('0x33')][_0x074d('0x21')]);_0x110adc[_0x074d('0x3d')]=qs[_0x074d('0x3d')](_0x3fc0ed[_0x074d('0x33')]['offset']);}_0x110adc[_0x074d('0x3e')]=qs['sort'](_0x3fc0ed[_0x074d('0x33')][_0x074d('0x3f')]);_0x110adc[_0x074d('0x40')]=qs[_0x074d('0x35')](_['pick'](_0x3fc0ed[_0x074d('0x33')],_0x41da54[_0x074d('0x35')]),_0x4be06f);if(_0x3fc0ed[_0x074d('0x33')][_0x074d('0x41')]){_0x110adc[_0x074d('0x40')]=_['merge'](_0x110adc[_0x074d('0x40')],{'$or':_['map'](_0x4be06f,function(_0x5b8ec6){if(_0x5b8ec6[_0x074d('0x42')]!==_0x074d('0x43')){var _0x536c18={};_0x536c18[_0x5b8ec6[_0x074d('0x2d')]]={'$like':'%'+_0x3fc0ed[_0x074d('0x33')][_0x074d('0x41')]+'%'};return _0x536c18;}})});}_0x110adc=_[_0x074d('0x44')]({},_0x110adc,_0x3fc0ed[_0x074d('0x45')]);var _0xe0cd51={'where':_0x110adc[_0x074d('0x40')]};return db[_0x074d('0x30')]['count'](_0xe0cd51)[_0x074d('0x2a')](function(_0x5e7076){_0x382088[_0x074d('0x22')]=_0x5e7076;if(_0x3fc0ed['query'][_0x074d('0x46')]){_0x110adc[_0x074d('0x47')]=[{'all':!![]}];}return db[_0x074d('0x30')][_0x074d('0x48')](_0x110adc);})[_0x074d('0x2a')](function(_0x225beb){_0x382088[_0x074d('0x49')]=_0x225beb;return _0x382088;})[_0x074d('0x2a')](respondWithFilteredResult(_0x312a9f,_0x110adc))[_0x074d('0x4a')](handleError(_0x312a9f,null));};exports[_0x074d('0x4b')]=function(_0x177676,_0x4ce801){var _0x3329bd={'raw':![],'where':{'id':_0x177676[_0x074d('0x4c')]['id']}},_0x46673a={};_0x46673a[_0x074d('0x37')]=_[_0x074d('0x34')](db[_0x074d('0x30')][_0x074d('0x31')]);_0x46673a['query']=_['keys'](_0x177676[_0x074d('0x33')]);_0x46673a[_0x074d('0x35')]=_[_0x074d('0x36')](_0x46673a[_0x074d('0x37')],_0x46673a[_0x074d('0x33')]);_0x3329bd['attributes']=_['intersection'](_0x46673a[_0x074d('0x37')],qs[_0x074d('0x39')](_0x177676[_0x074d('0x33')][_0x074d('0x39')]));_0x3329bd[_0x074d('0x38')]=_0x3329bd[_0x074d('0x38')]['length']?_0x3329bd['attributes']:_0x46673a[_0x074d('0x37')];if(_0x177676[_0x074d('0x33')][_0x074d('0x46')]){_0x3329bd['include']=[{'all':!![]}];}_0x3329bd=_[_0x074d('0x44')]({},_0x3329bd,_0x177676[_0x074d('0x45')]);return db[_0x074d('0x30')][_0x074d('0x4d')](_0x3329bd)[_0x074d('0x2a')](handleEntityNotFound(_0x4ce801,null))[_0x074d('0x2a')](respondWithResult(_0x4ce801,null))[_0x074d('0x4a')](handleError(_0x4ce801,null));};exports['create']=function(_0x21b23a,_0x468994){return db[_0x074d('0x30')][_0x074d('0x4e')](_0x21b23a['body'],{})[_0x074d('0x2a')](function(_0x4c8e8a){var _0x332bc2=_0x21b23a[_0x074d('0x4f')]['get']({'plain':!![]});if(!_0x332bc2)throw new Error(_0x074d('0x50'));if(_0x332bc2[_0x074d('0x51')]==='user'){var _0x5174b2=_0x4c8e8a[_0x074d('0x52')]({'plain':!![]});var _0x1ccb94=_0x074d('0x53');return db['UserProfileSection'][_0x074d('0x4d')]({'where':{'name':_0x1ccb94,'userProfileId':_0x332bc2['userProfileId']},'raw':!![]})[_0x074d('0x2a')](function(_0x36d8a7){if(_0x36d8a7&&_0x36d8a7['autoAssociation']===0x0){return db['UserProfileResource'][_0x074d('0x4e')]({'name':_0x5174b2[_0x074d('0x2d')],'resourceId':_0x5174b2['id'],'type':_0x36d8a7[_0x074d('0x2d')],'sectionId':_0x36d8a7['id']},{})[_0x074d('0x2a')](function(){return _0x4c8e8a;});}else{return _0x4c8e8a;}})[_0x074d('0x4a')](function(_0x3f0001){logger[_0x074d('0x2b')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3f0001);throw _0x3f0001;});}return _0x4c8e8a;})[_0x074d('0x2a')](respondWithResult(_0x468994,0xc9))[_0x074d('0x4a')](handleError(_0x468994,null));};exports[_0x074d('0x29')]=function(_0x45909c,_0x300c31){if(_0x45909c[_0x074d('0x54')]['id']){delete _0x45909c['body']['id'];}return db[_0x074d('0x30')][_0x074d('0x4d')]({'where':{'id':_0x45909c[_0x074d('0x4c')]['id']}})['then'](handleEntityNotFound(_0x300c31,null))[_0x074d('0x2a')](saveUpdates(_0x45909c[_0x074d('0x54')],null))['then'](respondWithResult(_0x300c31,null))[_0x074d('0x4a')](handleError(_0x300c31,null));};exports[_0x074d('0x55')]=function(_0x72e9ec,_0x5093a4){var _0x3ed980=_0x72e9ec['params']['id'];var _0x126348=[];return db[_0x074d('0x56')]['transaction'](function(_0x25835a){var _0xb05b0=_0x074d('0x57')+_0x3ed980;return db[_0x074d('0x56')][_0x074d('0x33')](_0xb05b0,{'type':db[_0x074d('0x58')][_0x074d('0x59')][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a})[_0x074d('0x2a')](function(_0x3de980){_0x126348=_[_0x074d('0x2f')](_0x3de980,function(_0x400b80){return Number(_0x400b80[_0x074d('0x5b')]);});})[_0x074d('0x2a')](function(){var _0x196d3c='SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3ed980;return db[_0x074d('0x56')][_0x074d('0x33')](_0x196d3c,{'type':db[_0x074d('0x58')][_0x074d('0x59')][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a});})[_0x074d('0x2a')](function(_0x44b08e){var _0x19ae52=_['map'](_0x44b08e,function(_0x1cabc6){return Number(_0x1cabc6[_0x074d('0x5c')]);});return db['UserVoiceQueue'][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'VoiceQueueId':{'$in':_0x19ae52}},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){var _0x334c35=_0x074d('0x5d')+_0x3ed980;return db[_0x074d('0x56')][_0x074d('0x33')](_0x334c35,{'type':db[_0x074d('0x58')][_0x074d('0x59')][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a});})[_0x074d('0x2a')](function(_0x190af1){var _0x4de918=_['map'](_0x190af1,function(_0x1db590){return Number(_0x1db590['MailQueueId']);});return db[_0x074d('0x5e')][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'MailQueueId':{'$in':_0x4de918}},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){var _0x3b425e=_0x074d('0x5f')+_0x3ed980;return db[_0x074d('0x56')][_0x074d('0x33')](_0x3b425e,{'type':db[_0x074d('0x58')][_0x074d('0x59')][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a});})['then'](function(_0x63fb11){var _0x822049=_[_0x074d('0x2f')](_0x63fb11,function(_0x4cf98b){return Number(_0x4cf98b[_0x074d('0x60')]);});return db[_0x074d('0x61')]['destroy']({'where':{'UserId':{'$in':_0x126348},'SmsQueueId':{'$in':_0x822049}},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){var _0x16b72c=_0x074d('0x62')+_0x3ed980;return db[_0x074d('0x56')][_0x074d('0x33')](_0x16b72c,{'type':db[_0x074d('0x58')][_0x074d('0x59')][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a});})['then'](function(_0xd4150){var _0x50cc35=_[_0x074d('0x2f')](_0xd4150,function(_0xbc9b19){return Number(_0xbc9b19[_0x074d('0x63')]);});return db['UserChatQueue'][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'ChatQueueId':{'$in':_0x50cc35}},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){var _0x157fdc='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3ed980;return db[_0x074d('0x56')]['query'](_0x157fdc,{'type':db[_0x074d('0x58')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x25835a});})['then'](function(_0x5e93fb){var _0x21af8b=_['map'](_0x5e93fb,function(_0x1a3724){return Number(_0x1a3724['FaxQueueId']);});return db[_0x074d('0x64')][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'FaxQueueId':{'$in':_0x21af8b}},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){var _0xecd57e='SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3ed980;return db[_0x074d('0x56')][_0x074d('0x33')](_0xecd57e,{'type':db[_0x074d('0x58')][_0x074d('0x59')][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a});})[_0x074d('0x2a')](function(_0x1a1e49){var _0x52c080=_[_0x074d('0x2f')](_0x1a1e49,function(_0x37ea35){return Number(_0x37ea35[_0x074d('0x65')]);});return db[_0x074d('0x66')][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'OpenchannelQueueId':{'$in':_0x52c080}},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){var _0x3e56b8='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3ed980;return db['sequelize'][_0x074d('0x33')](_0x3e56b8,{'type':db['Sequelize']['QueryTypes'][_0x074d('0x5a')],'raw':!![],'transaction':_0x25835a});})[_0x074d('0x2a')](function(_0x24337b){var _0x13b83b=_[_0x074d('0x2f')](_0x24337b,function(_0x282894){return Number(_0x282894[_0x074d('0x67')]);});return db[_0x074d('0x68')][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'WhatsappQueueId':{'$in':_0x13b83b}},'transaction':_0x25835a});})['then'](function(){return db[_0x074d('0x69')]['find']({'where':{'TeamId':_0x3ed980}});})[_0x074d('0x2a')](function(_0x3ae5b9){if(_0x3ae5b9===null){return;}return db['UserVoicePrefix'][_0x074d('0x55')]({'where':{'UserId':{'$in':_0x126348},'VoicePrefixId':_0x3ae5b9[_0x074d('0x6a')]},'transaction':_0x25835a});})[_0x074d('0x2a')](function(){return db[_0x074d('0x30')][_0x074d('0x55')]({'where':{'id':_0x3ed980},'cascade':!![],'transaction':_0x25835a});})[_0x074d('0x2a')](function(_0x180b53){if(_0x180b53===0x0){_0x5093a4[_0x074d('0x1d')](0x194);}else{return db[_0x074d('0x6b')]['destroy']({'where':{'type':_0x074d('0x53'),'resourceId':_0x3ed980},'cascade':!![],'transaction':_0x25835a})[_0x074d('0x2a')](function(){_0x5093a4['status'](0xcc)[_0x074d('0x1f')]();});}})[_0x074d('0x4a')](function(_0x29987c){_0x5093a4['status'](0x1f4)[_0x074d('0x2e')](_0x29987c);});});};exports[_0x074d('0x6c')]=function(_0x1e690a,_0x2de0a1,_0xbfa81){return db[_0x074d('0x30')][_0x074d('0x6d')]({'where':{'id':_0x1e690a['params']['id']}})[_0x074d('0x2a')](handleEntityNotFound(_0x2de0a1,null))[_0x074d('0x2a')](function(_0x18a92e){if(!_0x1e690a['query'][_0x074d('0x6e')]||!utils[_0x074d('0x6f')](_0x1e690a['query'][_0x074d('0x6e')])){throw new db[(_0x074d('0x58'))][(_0x074d('0x70'))](_0x074d('0x71'));}var _0x8a77e5={};var _0x29b82d={};_0x29b82d[_0x074d('0x37')]=_[_0x074d('0x34')](db[_[_0x074d('0x72')](_0x1e690a[_0x074d('0x33')]['channel']['toLowerCase']())+'Queue'][_0x074d('0x31')]);_0x29b82d[_0x074d('0x33')]=_['keys'](_0x1e690a[_0x074d('0x33')]);_0x29b82d['filters']=_[_0x074d('0x36')](_0x29b82d[_0x074d('0x37')],_0x29b82d['query']);_0x8a77e5['attributes']=_['intersection'](_0x29b82d[_0x074d('0x37')],qs[_0x074d('0x39')](_0x1e690a[_0x074d('0x33')][_0x074d('0x39')]));_0x8a77e5[_0x074d('0x38')]=_0x8a77e5['attributes'][_0x074d('0x3a')]?_0x8a77e5[_0x074d('0x38')]:_0x29b82d[_0x074d('0x37')];_0x8a77e5[_0x074d('0x21')]=qs['limit'](_0x1e690a[_0x074d('0x33')][_0x074d('0x21')]);_0x8a77e5[_0x074d('0x3d')]=qs[_0x074d('0x3d')](_0x1e690a[_0x074d('0x33')][_0x074d('0x3d')]);_0x8a77e5[_0x074d('0x3e')]=qs[_0x074d('0x3f')](_0x1e690a[_0x074d('0x33')][_0x074d('0x3f')]);_0x8a77e5['where']=qs['filters'](_['pick'](_0x1e690a[_0x074d('0x33')],_0x29b82d[_0x074d('0x35')]));_0x8a77e5=_['merge']({},_0x8a77e5,_0x1e690a[_0x074d('0x45')]);return _0x18a92e['get'+_[_0x074d('0x72')](_0x1e690a[_0x074d('0x33')]['channel'][_0x074d('0x73')]())+_0x074d('0x74')](_0x8a77e5);})[_0x074d('0x2a')](respondWithResult(_0x2de0a1,null))[_0x074d('0x4a')](handleError(_0x2de0a1,null));};exports[_0x074d('0x75')]=function(_0xa8e08f,_0x48a82e,_0x199089){return db['Team'][_0x074d('0x6d')]({'where':{'id':_0xa8e08f[_0x074d('0x4c')]['id']}})['then'](function(_0x1f957b){if(_0x1f957b){if(!_0xa8e08f[_0x074d('0x54')][_0x074d('0x6e')]||!utils['isValidChannel'](_0xa8e08f[_0x074d('0x54')][_0x074d('0x6e')])){throw new db[(_0x074d('0x58'))][(_0x074d('0x70'))](_0x074d('0x71'));}return _0x1f957b[_0x074d('0x76')+_['capitalize'](_0xa8e08f['body']['channel']['toLowerCase']())+_0x074d('0x74')](_0xa8e08f[_0x074d('0x54')][_0x074d('0x77')]);}return null;})[_0x074d('0x2a')](handleEntityNotFound(_0x48a82e,null))[_0x074d('0x2a')](respondWithStatusCode(_0x48a82e,null))[_0x074d('0x4a')](handleError(_0x48a82e,null));};exports['removeQueues']=function(_0x56e820,_0x1372f7,_0x336694){return db[_0x074d('0x30')][_0x074d('0x6d')]({'where':{'id':_0x56e820[_0x074d('0x4c')]['id']}})['then'](function(_0x4e2aed){if(_0x4e2aed){if(!_0x56e820[_0x074d('0x33')][_0x074d('0x6e')]||!utils[_0x074d('0x6f')](_0x56e820['query'][_0x074d('0x6e')])){throw new db[(_0x074d('0x58'))]['ValidationError'](_0x074d('0x71'));}return _0x4e2aed['remove'+_[_0x074d('0x72')](_0x56e820[_0x074d('0x33')][_0x074d('0x6e')][_0x074d('0x73')]())+_0x074d('0x74')](_0x56e820[_0x074d('0x33')][_0x074d('0x77')]);}return null;})['then'](handleEntityNotFound(_0x1372f7,null))[_0x074d('0x2a')](respondWithStatusCode(_0x1372f7,null))[_0x074d('0x4a')](handleError(_0x1372f7,null));};exports[_0x074d('0x78')]=function(_0x2bf9ef,_0x2a35df){var _0x351db2=_[_0x074d('0x79')](_0x2bf9ef[_0x074d('0x54')][_0x074d('0x77')])?_0x2bf9ef[_0x074d('0x54')]['ids']:[_0x2bf9ef[_0x074d('0x54')][_0x074d('0x77')]];var _0x17b8ff=_0x2bf9ef[_0x074d('0x4c')]['id'];return db[_0x074d('0x30')][_0x074d('0x4d')]({'where':{'id':_0x17b8ff}})[_0x074d('0x2a')](handleEntityNotFound(_0x2a35df,null))[_0x074d('0x2a')](function(_0x651496){if(_0x651496){var _0x56a1bc=[_0x074d('0x7a'),_0x074d('0x7b'),_0x074d('0x7c'),_0x074d('0x7d'),_0x074d('0x7e'),_0x074d('0x7f'),_0x074d('0x80')];return db[_0x074d('0x56')][_0x074d('0x81')](function(_0x2a84af){var _0x589997=_['map'](_0x56a1bc,function(_0x2528af){var _0x565a2b={'attributes':['id','name']};if(_0x2528af===_0x074d('0x7a')){_0x565a2b[_0x074d('0x82')]={'attributes':[_0x074d('0x83')]};}return _0x651496[_0x074d('0x52')+_0x2528af+_0x074d('0x74')](_0x565a2b)[_0x074d('0x2a')](function(_0x1b1044){var _0x288b76=_[_0x074d('0x2f')](_0x1b1044,function(_0x33644b){var _0x3a529f=_[_0x074d('0x2f')](_0x351db2,function(_0x3012ad){var _0xc2e911={'where':{'UserId':_0x3012ad,[_0x2528af+_0x074d('0x84')]:_0x33644b['id']},'transaction':_0x2a84af};if(_0x2528af===_0x074d('0x7a')){_0xc2e911[_0x074d('0x85')]={'penalty':_0x33644b[_0x074d('0x86')]['penalty']};}return db['User'+_0x2528af+'Queue'][_0x074d('0x87')](_0xc2e911)['then'](function(){socket[_0x074d('0x88')](_0x074d('0x4f')+_0x2528af+_0x074d('0x89'),{'UserId':_0x3012ad,[_0x2528af+'QueueId']:_0x33644b['id']});if(_0x2528af!=='Voice'){return;}return db[_0x074d('0x8a')][_0x074d('0x48')]({'where':{'id':_0x351db2,'online':0x1},'attributes':['id',_0x074d('0x2d'),'online',_0x074d('0x8b'),_0x074d('0x8c')],'raw':!![]})['then'](function(_0x354896){var _0x3d2d24=_[_0x074d('0x2f')](_0x354896,function(_0x27434f){return db[_0x074d('0x8d')]['upsert']({'membername':_0x27434f['name'],'UserId':_0x27434f['id'],'queue_name':_0x33644b[_0x074d('0x2d')],'VoiceQueueId':_0x33644b['id'],'interface':_[_0x074d('0x8e')](_0x27434f['interface'])?util[_0x074d('0x8f')](_0x074d('0x90'),_0x27434f['name']):_0x27434f[_0x074d('0x8c')],'paused':_0x27434f[_0x074d('0x8b')]||![],'penalty':_0x33644b[_0x074d('0x86')][_0x074d('0x83')]},{'transaction':_0x2a84af});});return Promise[_0x074d('0x91')](_0x3d2d24);});});});return Promise[_0x074d('0x91')](_0x3a529f);});return Promise[_0x074d('0x91')](_0x288b76);})[_0x074d('0x2a')](function(){return db[_0x074d('0x69')][_0x074d('0x6d')]({'where':{'teamId':_0x17b8ff}})[_0x074d('0x2a')](function(_0x273f51){if(_0x273f51){var _0x4b68b8=_[_0x074d('0x2f')](_0x351db2,function(_0x58a9f6){db[_0x074d('0x92')][_0x074d('0x93')]({'UserId':_0x58a9f6,'VoicePrefixId':_0x273f51[_0x074d('0x6a')]});});return Promise[_0x074d('0x91')](_0x4b68b8);}});});});return Promise[_0x074d('0x91')](_0x589997)[_0x074d('0x2a')](function(){return _0x651496[_0x074d('0x78')](_0x351db2,{'transaction':_0x2a84af})[_0x074d('0x94')](function(_0x367cfc){return _0x367cfc;});});});}})[_0x074d('0x2a')](respondWithResult(_0x2a35df,null))[_0x074d('0x4a')](handleError(_0x2a35df,null));};exports[_0x074d('0x95')]=function(_0x45bce5,_0x5668a4){var _0x176c4f=_[_0x074d('0x79')](_0x45bce5[_0x074d('0x33')][_0x074d('0x77')])?_0x45bce5[_0x074d('0x33')]['ids']:[_0x45bce5['query']['ids']];var _0x976f83=_0x45bce5[_0x074d('0x4c')]['id'];return db[_0x074d('0x30')]['find']({'where':{'id':_0x976f83}})[_0x074d('0x2a')](handleEntityNotFound(_0x5668a4,null))[_0x074d('0x2a')](function(_0x24b8d1){if(_0x24b8d1){var _0x2885c0=['Voice',_0x074d('0x7b'),_0x074d('0x7c'),_0x074d('0x7d'),_0x074d('0x7e'),'Openchannel',_0x074d('0x80')];return db[_0x074d('0x56')][_0x074d('0x81')](function(_0x1b6c53){var _0x4c6ce3=_[_0x074d('0x2f')](_0x2885c0,function(_0x3fff2a){var _0x17329d={'attributes':['id',_0x074d('0x2d')]};return _0x24b8d1[_0x074d('0x52')+_0x3fff2a+_0x074d('0x74')](_0x17329d)['then'](function(_0x1b639a){var _0xc47e25=_[_0x074d('0x2f')](_0x1b639a,function(_0x50063f){return _0x50063f[_0x074d('0x95')](_0x176c4f,{'transaction':_0x1b6c53})[_0x074d('0x2a')](function(){var _0x408f6=_[_0x074d('0x2f')](_0x176c4f,function(_0x33e61c){socket[_0x074d('0x88')](_0x074d('0x4f')+_0x3fff2a+'Queue:remove',{'UserId':Number(_0x33e61c),[_0x3fff2a+_0x074d('0x84')]:_0x50063f['id']});if(_0x3fff2a!==_0x074d('0x7a')){return;}return db['UserVoiceQueueRt'][_0x074d('0x55')]({'where':{'VoiceQueueId':_0x50063f['id'],'UserId':_0x33e61c},'transaction':_0x1b6c53});});return Promise[_0x074d('0x91')](_0x408f6);});});return Promise['all'](_0xc47e25);});});return Promise['all'](_0x4c6ce3)[_0x074d('0x2a')](function(){return _0x24b8d1[_0x074d('0x95')](_0x176c4f,{'transaction':_0x1b6c53});})[_0x074d('0x2a')](function(){return db[_0x074d('0x69')][_0x074d('0x6d')]({'where':{'teamId':_0x976f83}})[_0x074d('0x2a')](function(_0x4deabc){if(_0x4deabc){var _0x14ca0f=_[_0x074d('0x2f')](_0x176c4f,function(_0x2758ae){db['UserVoicePrefix']['destroy']({'where':{'UserId':_0x2758ae,'VoicePrefixId':_0x4deabc[_0x074d('0x6a')]}});});return Promise['all'](_0x14ca0f);}});});});}})[_0x074d('0x2a')](respondWithStatusCode(_0x5668a4,null))[_0x074d('0x4a')](handleError(_0x5668a4,null));};exports[_0x074d('0x96')]=function(_0x4f06bb,_0x795255,_0x53e25b){var _0x1affc7={};var _0x120ef5={};var _0x1937b1;var _0x37aa3e;return db['Team'][_0x074d('0x6d')]({'where':{'id':_0x4f06bb['params']['id']}})[_0x074d('0x2a')](handleEntityNotFound(_0x795255,null))['then'](function(_0x159ec6){if(_0x159ec6){_0x1937b1=_0x159ec6;_0x120ef5[_0x074d('0x37')]=_[_0x074d('0x34')](db[_0x074d('0x8a')][_0x074d('0x31')]);_0x120ef5[_0x074d('0x33')]=_[_0x074d('0x34')](_0x4f06bb[_0x074d('0x33')]);_0x120ef5[_0x074d('0x35')]=_[_0x074d('0x36')](_0x120ef5[_0x074d('0x37')],_0x120ef5[_0x074d('0x33')]);_0x1affc7[_0x074d('0x38')]=_['intersection'](_0x120ef5['model'],qs[_0x074d('0x39')](_0x4f06bb['query']['fields']));_0x1affc7['attributes']=_0x1affc7[_0x074d('0x38')][_0x074d('0x3a')]?_0x1affc7[_0x074d('0x38')]:_0x120ef5[_0x074d('0x37')];_0x1affc7[_0x074d('0x3e')]=qs[_0x074d('0x3f')](_0x4f06bb['query'][_0x074d('0x3f')]);_0x1affc7[_0x074d('0x40')]=qs['filters'](_[_0x074d('0x97')](_0x4f06bb['query'],_0x120ef5[_0x074d('0x35')]));if(_0x4f06bb['query']['filter']){_0x1affc7[_0x074d('0x40')]=_[_0x074d('0x44')](_0x1affc7[_0x074d('0x40')],{'$or':_['map'](_0x1affc7['attributes'],function(_0x3897f4){var _0x9008b2={};_0x9008b2[_0x3897f4]={'$like':'%'+_0x4f06bb['query'][_0x074d('0x41')]+'%'};return _0x9008b2;})});}_0x1affc7=_['merge']({},_0x1affc7,_0x4f06bb[_0x074d('0x45')]);return _0x1937b1[_0x074d('0x96')](_0x1affc7);}})['then'](function(_0x22cfaa){if(_0x22cfaa){_0x37aa3e=_0x22cfaa[_0x074d('0x3a')];if(!_0x4f06bb[_0x074d('0x33')][_0x074d('0x3b')]('nolimit')){_0x1affc7[_0x074d('0x21')]=qs[_0x074d('0x21')](_0x4f06bb[_0x074d('0x33')]['limit']);_0x1affc7[_0x074d('0x3d')]=qs['offset'](_0x4f06bb['query'][_0x074d('0x3d')]);}return _0x1937b1[_0x074d('0x96')](_0x1affc7);}})[_0x074d('0x2a')](function(_0x2344d6){if(_0x2344d6){return _0x2344d6?{'count':_0x37aa3e,'rows':_0x2344d6}:null;}})['then'](respondWithResult(_0x795255,null))[_0x074d('0x4a')](handleError(_0x795255,null));};