Built motion from commit 449495f6.|2.6.27
[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 _0x9a59=['stack','name','send','index','map','rawAttributes','fieldName','type','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','options','Team','then','includeAll','include','findAll','rows','catch','params','merge','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Teams','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','destroy','sequelize','Sequelize','SELECT','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','QueryTypes','VoiceQueueId','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','ChatQueueId','UserChatQueue','FaxQueueId','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','VoicePrefixId','sendStatus','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','addQueues','add','removeQueues','remove','Queues','ids','addAgents','Voice','Chat','Mail','Sms','Openchannel','Whatsapp','transaction','through','penalty','QueueId','TeamVoiceQueue','User','Queue','findOrCreate','emit','Queue:save','online','voicePause','interface','upsert','isNil','SIP/%s','all','UserVoicePrefix','spread','isArray','Fax','Queue:remove','removeAgents','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','defaults','redis','localhost','socket.io-emitter','./team.socket','register','status','end','json','offset','limit','undefined','count','set','Content-Range','save','error'];(function(_0xf26d40,_0x2f4f46){var _0x50b68c=function(_0x10aa58){while(--_0x10aa58){_0xf26d40['push'](_0xf26d40['shift']());}};_0x50b68c(++_0x2f4f46);}(_0x9a59,0x73));var _0x99a5=function(_0x333135,_0x221706){_0x333135=_0x333135-0x0;var _0x2c0d55=_0x9a59[_0x333135];return _0x2c0d55;};'use strict';var emlformat=require(_0x99a5('0x0'));var rimraf=require(_0x99a5('0x1'));var zipdir=require(_0x99a5('0x2'));var jsonpatch=require(_0x99a5('0x3'));var rp=require(_0x99a5('0x4'));var moment=require(_0x99a5('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x99a5('0x6'));var util=require('util');var path=require(_0x99a5('0x7'));var sox=require(_0x99a5('0x8'));var csv=require(_0x99a5('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x99a5('0xa'));var squel=require('squel');var crypto=require(_0x99a5('0xb'));var jsforce=require(_0x99a5('0xc'));var deskjs=require(_0x99a5('0xd'));var toCsv=require(_0x99a5('0x9'));var querystring=require(_0x99a5('0xe'));var Papa=require(_0x99a5('0xf'));var Redis=require(_0x99a5('0x10'));var authService=require(_0x99a5('0x11'));var qs=require(_0x99a5('0x12'));var as=require(_0x99a5('0x13'));var hardwareService=require(_0x99a5('0x14'));var logger=require(_0x99a5('0x15'))('api');var utils=require(_0x99a5('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x99a5('0x17'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x99a5('0x18')](config[_0x99a5('0x19')],{'host':_0x99a5('0x1a'),'port':0x18eb});var socket=require(_0x99a5('0x1b'))(new Redis(config['redis']));require(_0x99a5('0x1c'))[_0x99a5('0x1d')](socket);function respondWithStatusCode(_0x3c78c1,_0x2235fe){_0x2235fe=_0x2235fe||0xcc;return function(_0x4f526d){if(_0x4f526d){return _0x3c78c1['sendStatus'](_0x2235fe);}return _0x3c78c1[_0x99a5('0x1e')](_0x2235fe)[_0x99a5('0x1f')]();};}function respondWithResult(_0x1d48ce,_0x4ee146){_0x4ee146=_0x4ee146||0xc8;return function(_0x33472d){if(_0x33472d){return _0x1d48ce[_0x99a5('0x1e')](_0x4ee146)[_0x99a5('0x20')](_0x33472d);}};}function respondWithFilteredResult(_0x2ae548,_0x11c329){return function(_0x4025a1){if(_0x4025a1){var _0x9bbc92=typeof _0x11c329[_0x99a5('0x21')]==='undefined'&&typeof _0x11c329[_0x99a5('0x22')]===_0x99a5('0x23');var _0x45e068=_0x4025a1['count'];var _0x4d1249=_0x9bbc92?0x0:_0x11c329[_0x99a5('0x21')];var _0x1696fa=_0x9bbc92?_0x4025a1[_0x99a5('0x24')]:_0x11c329[_0x99a5('0x21')]+_0x11c329['limit'];var _0x214f7f;if(_0x1696fa>=_0x45e068){_0x1696fa=_0x45e068;_0x214f7f=0xc8;}else{_0x214f7f=0xce;}_0x2ae548[_0x99a5('0x1e')](_0x214f7f);return _0x2ae548[_0x99a5('0x25')](_0x99a5('0x26'),_0x4d1249+'-'+_0x1696fa+'/'+_0x45e068)['json'](_0x4025a1);}return null;};}function patchUpdates(_0x193967){return function(_0x46086c){try{jsonpatch['apply'](_0x46086c,_0x193967,!![]);}catch(_0x4bdc7e){return BPromise['reject'](_0x4bdc7e);}return _0x46086c[_0x99a5('0x27')]();};}function saveUpdates(_0x273b88,_0x3878c4){return function(_0xd89f7){if(_0xd89f7){return _0xd89f7['update'](_0x273b88)['then'](function(_0x28d232){return _0x28d232;});}return null;};}function handleEntityNotFound(_0x3f3eec,_0x46520c){return function(_0x37d969){if(!_0x37d969){_0x3f3eec['sendStatus'](0x194);}return _0x37d969;};}function handleError(_0x1d227a,_0x36e529){_0x36e529=_0x36e529||0x1f4;return function(_0x3591c9){logger[_0x99a5('0x28')](_0x3591c9[_0x99a5('0x29')]);if(_0x3591c9[_0x99a5('0x2a')]){delete _0x3591c9[_0x99a5('0x2a')];}_0x1d227a['status'](_0x36e529)[_0x99a5('0x2b')](_0x3591c9);};}exports[_0x99a5('0x2c')]=function(_0x16aa4b,_0xf0ec8b){var _0x1cd8c2={},_0x322999={},_0x241bfd={'count':0x0,'rows':[]};var _0x1d586d=_[_0x99a5('0x2d')](db['Team'][_0x99a5('0x2e')],function(_0x18cd71){return{'name':_0x18cd71[_0x99a5('0x2f')],'type':_0x18cd71[_0x99a5('0x30')]['key']};});_0x322999['model']=_[_0x99a5('0x2d')](_0x1d586d,_0x99a5('0x2a'));_0x322999[_0x99a5('0x31')]=_[_0x99a5('0x32')](_0x16aa4b['query']);_0x322999[_0x99a5('0x33')]=_[_0x99a5('0x34')](_0x322999[_0x99a5('0x35')],_0x322999[_0x99a5('0x31')]);_0x1cd8c2[_0x99a5('0x36')]=_[_0x99a5('0x34')](_0x322999['model'],qs[_0x99a5('0x37')](_0x16aa4b[_0x99a5('0x31')][_0x99a5('0x37')]));_0x1cd8c2[_0x99a5('0x36')]=_0x1cd8c2[_0x99a5('0x36')][_0x99a5('0x38')]?_0x1cd8c2['attributes']:_0x322999[_0x99a5('0x35')];if(!_0x16aa4b['query'][_0x99a5('0x39')]('nolimit')){_0x1cd8c2[_0x99a5('0x22')]=qs[_0x99a5('0x22')](_0x16aa4b[_0x99a5('0x31')][_0x99a5('0x22')]);_0x1cd8c2[_0x99a5('0x21')]=qs[_0x99a5('0x21')](_0x16aa4b['query']['offset']);}_0x1cd8c2[_0x99a5('0x3a')]=qs['sort'](_0x16aa4b[_0x99a5('0x31')][_0x99a5('0x3b')]);_0x1cd8c2[_0x99a5('0x3c')]=qs[_0x99a5('0x33')](_[_0x99a5('0x3d')](_0x16aa4b['query'],_0x322999[_0x99a5('0x33')]),_0x1d586d);if(_0x16aa4b[_0x99a5('0x31')][_0x99a5('0x3e')]){_0x1cd8c2[_0x99a5('0x3c')]=_['merge'](_0x1cd8c2['where'],{'$or':_[_0x99a5('0x2d')](_0x1d586d,function(_0x303da6){if(_0x303da6['type']!=='VIRTUAL'){var _0x4449a={};_0x4449a[_0x303da6[_0x99a5('0x2a')]]={'$like':'%'+_0x16aa4b[_0x99a5('0x31')][_0x99a5('0x3e')]+'%'};return _0x4449a;}})});}_0x1cd8c2=_['merge']({},_0x1cd8c2,_0x16aa4b[_0x99a5('0x3f')]);var _0x494182={'where':_0x1cd8c2['where']};return db[_0x99a5('0x40')][_0x99a5('0x24')](_0x494182)[_0x99a5('0x41')](function(_0x13f0ae){_0x241bfd['count']=_0x13f0ae;if(_0x16aa4b['query'][_0x99a5('0x42')]){_0x1cd8c2[_0x99a5('0x43')]=[{'all':!![]}];}return db[_0x99a5('0x40')][_0x99a5('0x44')](_0x1cd8c2);})[_0x99a5('0x41')](function(_0x56b370){_0x241bfd[_0x99a5('0x45')]=_0x56b370;return _0x241bfd;})[_0x99a5('0x41')](respondWithFilteredResult(_0xf0ec8b,_0x1cd8c2))[_0x99a5('0x46')](handleError(_0xf0ec8b,null));};exports['show']=function(_0x48e42c,_0x1255cb){var _0x5cabd5={'raw':![],'where':{'id':_0x48e42c[_0x99a5('0x47')]['id']}},_0x37cdc0={};_0x37cdc0[_0x99a5('0x35')]=_['keys'](db[_0x99a5('0x40')][_0x99a5('0x2e')]);_0x37cdc0[_0x99a5('0x31')]=_[_0x99a5('0x32')](_0x48e42c[_0x99a5('0x31')]);_0x37cdc0[_0x99a5('0x33')]=_[_0x99a5('0x34')](_0x37cdc0[_0x99a5('0x35')],_0x37cdc0[_0x99a5('0x31')]);_0x5cabd5[_0x99a5('0x36')]=_[_0x99a5('0x34')](_0x37cdc0[_0x99a5('0x35')],qs[_0x99a5('0x37')](_0x48e42c[_0x99a5('0x31')][_0x99a5('0x37')]));_0x5cabd5[_0x99a5('0x36')]=_0x5cabd5['attributes'][_0x99a5('0x38')]?_0x5cabd5[_0x99a5('0x36')]:_0x37cdc0[_0x99a5('0x35')];if(_0x48e42c[_0x99a5('0x31')]['includeAll']){_0x5cabd5['include']=[{'all':!![]}];}_0x5cabd5=_[_0x99a5('0x48')]({},_0x5cabd5,_0x48e42c['options']);return db['Team'][_0x99a5('0x49')](_0x5cabd5)[_0x99a5('0x41')](handleEntityNotFound(_0x1255cb,null))['then'](respondWithResult(_0x1255cb,null))['catch'](handleError(_0x1255cb,null));};exports[_0x99a5('0x4a')]=function(_0x330e18,_0x29a101){return db[_0x99a5('0x40')][_0x99a5('0x4a')](_0x330e18[_0x99a5('0x4b')],{})[_0x99a5('0x41')](function(_0x1e79e2){var _0x1033a2=_0x330e18[_0x99a5('0x4c')]['get']({'plain':!![]});if(!_0x1033a2)throw new Error(_0x99a5('0x4d'));if(_0x1033a2[_0x99a5('0x4e')]===_0x99a5('0x4c')){var _0x17b22a=_0x1e79e2[_0x99a5('0x4f')]({'plain':!![]});var _0x206910=_0x99a5('0x50');return db['UserProfileSection'][_0x99a5('0x49')]({'where':{'name':_0x206910,'userProfileId':_0x1033a2[_0x99a5('0x51')]},'raw':!![]})['then'](function(_0x2cf110){if(_0x2cf110&&_0x2cf110[_0x99a5('0x52')]===0x0){return db[_0x99a5('0x53')][_0x99a5('0x4a')]({'name':_0x17b22a[_0x99a5('0x2a')],'resourceId':_0x17b22a['id'],'type':_0x2cf110[_0x99a5('0x2a')],'sectionId':_0x2cf110['id']},{})[_0x99a5('0x41')](function(){return _0x1e79e2;});}else{return _0x1e79e2;}})['catch'](function(_0x5ea02a){logger[_0x99a5('0x28')](_0x99a5('0x54'),_0x5ea02a);throw _0x5ea02a;});}return _0x1e79e2;})[_0x99a5('0x41')](respondWithResult(_0x29a101,0xc9))['catch'](handleError(_0x29a101,null));};exports[_0x99a5('0x55')]=function(_0x3d823a,_0x20ee75){if(_0x3d823a[_0x99a5('0x4b')]['id']){delete _0x3d823a[_0x99a5('0x4b')]['id'];}return db[_0x99a5('0x40')][_0x99a5('0x49')]({'where':{'id':_0x3d823a['params']['id']}})[_0x99a5('0x41')](handleEntityNotFound(_0x20ee75,null))[_0x99a5('0x41')](saveUpdates(_0x3d823a[_0x99a5('0x4b')],null))['then'](respondWithResult(_0x20ee75,null))[_0x99a5('0x46')](handleError(_0x20ee75,null));};exports[_0x99a5('0x56')]=function(_0x448fa3,_0x374964){var _0x2ea4d4=_0x448fa3[_0x99a5('0x47')]['id'];var _0x5abd51=[];return db['sequelize']['transaction'](function(_0xed09ef){var _0x279df0='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x2ea4d4;return db[_0x99a5('0x57')][_0x99a5('0x31')](_0x279df0,{'type':db[_0x99a5('0x58')]['QueryTypes'][_0x99a5('0x59')],'raw':!![],'transaction':_0xed09ef})[_0x99a5('0x41')](function(_0x197191){_0x5abd51=_[_0x99a5('0x2d')](_0x197191,function(_0xdb6b3b){return Number(_0xdb6b3b['UserId']);});})[_0x99a5('0x41')](function(){var _0x5faf48=_0x99a5('0x5a')+_0x2ea4d4;return db[_0x99a5('0x57')][_0x99a5('0x31')](_0x5faf48,{'type':db[_0x99a5('0x58')][_0x99a5('0x5b')][_0x99a5('0x59')],'raw':!![],'transaction':_0xed09ef});})[_0x99a5('0x41')](function(_0x3b3162){var _0x269c5f=_[_0x99a5('0x2d')](_0x3b3162,function(_0x4848ff){return Number(_0x4848ff[_0x99a5('0x5c')]);});return db['UserVoiceQueue'][_0x99a5('0x56')]({'where':{'UserId':{'$in':_0x5abd51},'VoiceQueueId':{'$in':_0x269c5f}},'transaction':_0xed09ef});})['then'](function(){var _0x52ee90='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2ea4d4;return db[_0x99a5('0x57')][_0x99a5('0x31')](_0x52ee90,{'type':db['Sequelize'][_0x99a5('0x5b')][_0x99a5('0x59')],'raw':!![],'transaction':_0xed09ef});})[_0x99a5('0x41')](function(_0x10e965){var _0x5ce3a1=_['map'](_0x10e965,function(_0x30202f){return Number(_0x30202f[_0x99a5('0x5d')]);});return db[_0x99a5('0x5e')]['destroy']({'where':{'UserId':{'$in':_0x5abd51},'MailQueueId':{'$in':_0x5ce3a1}},'transaction':_0xed09ef});})['then'](function(){var _0x28ed14=_0x99a5('0x5f')+_0x2ea4d4;return db[_0x99a5('0x57')][_0x99a5('0x31')](_0x28ed14,{'type':db[_0x99a5('0x58')]['QueryTypes'][_0x99a5('0x59')],'raw':!![],'transaction':_0xed09ef});})['then'](function(_0x5edf8b){var _0x465042=_[_0x99a5('0x2d')](_0x5edf8b,function(_0x1fadcb){return Number(_0x1fadcb[_0x99a5('0x60')]);});return db[_0x99a5('0x61')]['destroy']({'where':{'UserId':{'$in':_0x5abd51},'SmsQueueId':{'$in':_0x465042}},'transaction':_0xed09ef});})[_0x99a5('0x41')](function(){var _0x354c55='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2ea4d4;return db[_0x99a5('0x57')][_0x99a5('0x31')](_0x354c55,{'type':db[_0x99a5('0x58')]['QueryTypes'][_0x99a5('0x59')],'raw':!![],'transaction':_0xed09ef});})['then'](function(_0x17aec6){var _0x4f12d7=_[_0x99a5('0x2d')](_0x17aec6,function(_0x45b457){return Number(_0x45b457[_0x99a5('0x62')]);});return db[_0x99a5('0x63')][_0x99a5('0x56')]({'where':{'UserId':{'$in':_0x5abd51},'ChatQueueId':{'$in':_0x4f12d7}},'transaction':_0xed09ef});})[_0x99a5('0x41')](function(){var _0x853806='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2ea4d4;return db['sequelize'][_0x99a5('0x31')](_0x853806,{'type':db[_0x99a5('0x58')][_0x99a5('0x5b')]['SELECT'],'raw':!![],'transaction':_0xed09ef});})[_0x99a5('0x41')](function(_0x3221b1){var _0x5194cb=_[_0x99a5('0x2d')](_0x3221b1,function(_0x553174){return Number(_0x553174[_0x99a5('0x64')]);});return db[_0x99a5('0x65')]['destroy']({'where':{'UserId':{'$in':_0x5abd51},'FaxQueueId':{'$in':_0x5194cb}},'transaction':_0xed09ef});})[_0x99a5('0x41')](function(){var _0x49a2b3=_0x99a5('0x66')+_0x2ea4d4;return db[_0x99a5('0x57')][_0x99a5('0x31')](_0x49a2b3,{'type':db[_0x99a5('0x58')]['QueryTypes'][_0x99a5('0x59')],'raw':!![],'transaction':_0xed09ef});})[_0x99a5('0x41')](function(_0x2b16da){var _0x3365a4=_[_0x99a5('0x2d')](_0x2b16da,function(_0x584881){return Number(_0x584881[_0x99a5('0x67')]);});return db[_0x99a5('0x68')]['destroy']({'where':{'UserId':{'$in':_0x5abd51},'OpenchannelQueueId':{'$in':_0x3365a4}},'transaction':_0xed09ef});})[_0x99a5('0x41')](function(){var _0x38e0ff=_0x99a5('0x69')+_0x2ea4d4;return db['sequelize']['query'](_0x38e0ff,{'type':db[_0x99a5('0x58')][_0x99a5('0x5b')]['SELECT'],'raw':!![],'transaction':_0xed09ef});})[_0x99a5('0x41')](function(_0x1f3fcc){var _0x33ed40=_['map'](_0x1f3fcc,function(_0x35b028){return Number(_0x35b028[_0x99a5('0x6a')]);});return db[_0x99a5('0x6b')][_0x99a5('0x56')]({'where':{'UserId':{'$in':_0x5abd51},'WhatsappQueueId':{'$in':_0x33ed40}},'transaction':_0xed09ef});})[_0x99a5('0x41')](function(){return db[_0x99a5('0x6c')][_0x99a5('0x49')]({'where':{'TeamId':_0x2ea4d4}});})[_0x99a5('0x41')](function(_0x434127){if(_0x434127===null){return;}return db['UserVoicePrefix']['destroy']({'where':{'UserId':{'$in':_0x5abd51},'VoicePrefixId':_0x434127[_0x99a5('0x6d')]},'transaction':_0xed09ef});})['then'](function(){return db[_0x99a5('0x40')]['destroy']({'where':{'id':_0x2ea4d4},'cascade':!![],'transaction':_0xed09ef});})['then'](function(_0x3ee009){if(_0x3ee009===0x0){_0x374964[_0x99a5('0x6e')](0x194);}else{return db[_0x99a5('0x53')][_0x99a5('0x56')]({'where':{'type':_0x99a5('0x50'),'resourceId':_0x2ea4d4},'cascade':!![],'transaction':_0xed09ef})[_0x99a5('0x41')](function(){_0x374964[_0x99a5('0x1e')](0xcc)['end']();});}})[_0x99a5('0x46')](function(_0x364cdb){_0x374964[_0x99a5('0x1e')](0x1f4)[_0x99a5('0x2b')](_0x364cdb);});});};exports[_0x99a5('0x6f')]=function(_0x522f82,_0x3bfe0e,_0xf291e){return db[_0x99a5('0x40')][_0x99a5('0x70')]({'where':{'id':_0x522f82['params']['id']}})[_0x99a5('0x41')](handleEntityNotFound(_0x3bfe0e,null))[_0x99a5('0x41')](function(_0x544c39){if(!_0x522f82[_0x99a5('0x31')][_0x99a5('0x71')]||!utils[_0x99a5('0x72')](_0x522f82['query'][_0x99a5('0x71')])){throw new db[(_0x99a5('0x58'))][(_0x99a5('0x73'))](_0x99a5('0x74'));}var _0x152a76={};var _0x48389b={};_0x48389b[_0x99a5('0x35')]=_[_0x99a5('0x32')](db[_[_0x99a5('0x75')](_0x522f82[_0x99a5('0x31')][_0x99a5('0x71')][_0x99a5('0x76')]())+'Queue'][_0x99a5('0x2e')]);_0x48389b[_0x99a5('0x31')]=_[_0x99a5('0x32')](_0x522f82['query']);_0x48389b[_0x99a5('0x33')]=_[_0x99a5('0x34')](_0x48389b[_0x99a5('0x35')],_0x48389b[_0x99a5('0x31')]);_0x152a76[_0x99a5('0x36')]=_[_0x99a5('0x34')](_0x48389b[_0x99a5('0x35')],qs['fields'](_0x522f82['query'][_0x99a5('0x37')]));_0x152a76['attributes']=_0x152a76[_0x99a5('0x36')][_0x99a5('0x38')]?_0x152a76[_0x99a5('0x36')]:_0x48389b[_0x99a5('0x35')];_0x152a76[_0x99a5('0x22')]=qs[_0x99a5('0x22')](_0x522f82[_0x99a5('0x31')][_0x99a5('0x22')]);_0x152a76[_0x99a5('0x21')]=qs[_0x99a5('0x21')](_0x522f82[_0x99a5('0x31')][_0x99a5('0x21')]);_0x152a76[_0x99a5('0x3a')]=qs[_0x99a5('0x3b')](_0x522f82[_0x99a5('0x31')][_0x99a5('0x3b')]);_0x152a76['where']=qs[_0x99a5('0x33')](_[_0x99a5('0x3d')](_0x522f82[_0x99a5('0x31')],_0x48389b[_0x99a5('0x33')]));_0x152a76=_[_0x99a5('0x48')]({},_0x152a76,_0x522f82['options']);return _0x544c39[_0x99a5('0x4f')+_[_0x99a5('0x75')](_0x522f82[_0x99a5('0x31')]['channel'][_0x99a5('0x76')]())+'Queues'](_0x152a76);})[_0x99a5('0x41')](respondWithResult(_0x3bfe0e,null))[_0x99a5('0x46')](handleError(_0x3bfe0e,null));};exports[_0x99a5('0x77')]=function(_0x21c8c9,_0x110a52,_0x5f3d40){return db['Team'][_0x99a5('0x70')]({'where':{'id':_0x21c8c9['params']['id']}})[_0x99a5('0x41')](function(_0x24c0ad){if(_0x24c0ad){if(!_0x21c8c9[_0x99a5('0x4b')][_0x99a5('0x71')]||!utils[_0x99a5('0x72')](_0x21c8c9[_0x99a5('0x4b')]['channel'])){throw new db[(_0x99a5('0x58'))][(_0x99a5('0x73'))](_0x99a5('0x74'));}return _0x24c0ad[_0x99a5('0x78')+_[_0x99a5('0x75')](_0x21c8c9[_0x99a5('0x4b')]['channel'][_0x99a5('0x76')]())+'Queues'](_0x21c8c9[_0x99a5('0x4b')]['ids']);}return null;})['then'](handleEntityNotFound(_0x110a52,null))[_0x99a5('0x41')](respondWithStatusCode(_0x110a52,null))[_0x99a5('0x46')](handleError(_0x110a52,null));};exports[_0x99a5('0x79')]=function(_0x3a7ae3,_0x245461,_0x1d38f6){return db[_0x99a5('0x40')]['findOne']({'where':{'id':_0x3a7ae3[_0x99a5('0x47')]['id']}})[_0x99a5('0x41')](function(_0x58042e){if(_0x58042e){if(!_0x3a7ae3[_0x99a5('0x31')]['channel']||!utils[_0x99a5('0x72')](_0x3a7ae3[_0x99a5('0x31')][_0x99a5('0x71')])){throw new db[(_0x99a5('0x58'))][(_0x99a5('0x73'))]('Unknown\x20channel');}return _0x58042e[_0x99a5('0x7a')+_['capitalize'](_0x3a7ae3[_0x99a5('0x31')]['channel']['toLowerCase']())+_0x99a5('0x7b')](_0x3a7ae3['query'][_0x99a5('0x7c')]);}return null;})['then'](handleEntityNotFound(_0x245461,null))[_0x99a5('0x41')](respondWithStatusCode(_0x245461,null))[_0x99a5('0x46')](handleError(_0x245461,null));};exports[_0x99a5('0x7d')]=function(_0x1af98a,_0x1c50a2){var _0x3e44a4=_['isArray'](_0x1af98a[_0x99a5('0x4b')]['ids'])?_0x1af98a['body'][_0x99a5('0x7c')]:[_0x1af98a[_0x99a5('0x4b')][_0x99a5('0x7c')]];var _0x4fef67=_0x1af98a[_0x99a5('0x47')]['id'];return db['Team']['find']({'where':{'id':_0x4fef67}})['then'](handleEntityNotFound(_0x1c50a2,null))[_0x99a5('0x41')](function(_0x45cb1b){if(_0x45cb1b){var _0x29deea=[_0x99a5('0x7e'),_0x99a5('0x7f'),_0x99a5('0x80'),_0x99a5('0x81'),'Fax',_0x99a5('0x82'),_0x99a5('0x83')];return db[_0x99a5('0x57')][_0x99a5('0x84')](function(_0x3633da){var _0x7011aa=_[_0x99a5('0x2d')](_0x29deea,function(_0x398402){var _0x27726a={'attributes':['id',_0x99a5('0x2a')]};if(_0x398402==='Voice'){_0x27726a[_0x99a5('0x85')]={'attributes':[_0x99a5('0x86')]};}return _0x45cb1b['get'+_0x398402+_0x99a5('0x7b')](_0x27726a)['then'](function(_0x422eb2){var _0x200b69=_[_0x99a5('0x2d')](_0x422eb2,function(_0x2de853){var _0x544019=_[_0x99a5('0x2d')](_0x3e44a4,function(_0x11c5cc){var _0x5a1245={'where':{'UserId':_0x11c5cc,[_0x398402+_0x99a5('0x87')]:_0x2de853['id']},'transaction':_0x3633da};if(_0x398402===_0x99a5('0x7e')){_0x5a1245['defaults']={'penalty':_0x2de853[_0x99a5('0x88')][_0x99a5('0x86')]};}return db[_0x99a5('0x89')+_0x398402+_0x99a5('0x8a')][_0x99a5('0x8b')](_0x5a1245)[_0x99a5('0x41')](function(){socket[_0x99a5('0x8c')](_0x99a5('0x4c')+_0x398402+_0x99a5('0x8d'),{'UserId':_0x11c5cc,[_0x398402+'QueueId']:_0x2de853['id']});if(_0x398402!==_0x99a5('0x7e')){return;}return db['User'][_0x99a5('0x44')]({'where':{'id':_0x3e44a4,'online':0x1},'attributes':['id',_0x99a5('0x2a'),_0x99a5('0x8e'),_0x99a5('0x8f'),_0x99a5('0x90')],'raw':!![]})[_0x99a5('0x41')](function(_0x46bb2c){var _0x10357a=_[_0x99a5('0x2d')](_0x46bb2c,function(_0x25ee27){return db['UserVoiceQueueRt'][_0x99a5('0x91')]({'membername':_0x25ee27['name'],'UserId':_0x25ee27['id'],'queue_name':_0x2de853[_0x99a5('0x2a')],'VoiceQueueId':_0x2de853['id'],'interface':_[_0x99a5('0x92')](_0x25ee27[_0x99a5('0x90')])?util['format'](_0x99a5('0x93'),_0x25ee27['name']):_0x25ee27[_0x99a5('0x90')],'paused':_0x25ee27[_0x99a5('0x8f')]||![],'penalty':_0x2de853[_0x99a5('0x88')][_0x99a5('0x86')]},{'transaction':_0x3633da});});return Promise[_0x99a5('0x94')](_0x10357a);});});});return Promise[_0x99a5('0x94')](_0x544019);});return Promise[_0x99a5('0x94')](_0x200b69);})[_0x99a5('0x41')](function(){return db[_0x99a5('0x6c')][_0x99a5('0x70')]({'where':{'teamId':_0x4fef67}})[_0x99a5('0x41')](function(_0x2863e5){if(_0x2863e5){var _0x5653b1=_[_0x99a5('0x2d')](_0x3e44a4,function(_0x2f3d6f){db[_0x99a5('0x95')][_0x99a5('0x91')]({'UserId':_0x2f3d6f,'VoicePrefixId':_0x2863e5['VoicePrefixId']});});return Promise['all'](_0x5653b1);}});});});return Promise[_0x99a5('0x94')](_0x7011aa)['then'](function(){return _0x45cb1b[_0x99a5('0x7d')](_0x3e44a4,{'transaction':_0x3633da})[_0x99a5('0x96')](function(_0x4eeca9){return _0x4eeca9;});});});}})['then'](respondWithResult(_0x1c50a2,null))[_0x99a5('0x46')](handleError(_0x1c50a2,null));};exports['removeAgents']=function(_0x49b202,_0x4bca2d){var _0x1286a6=_[_0x99a5('0x97')](_0x49b202[_0x99a5('0x31')][_0x99a5('0x7c')])?_0x49b202[_0x99a5('0x31')][_0x99a5('0x7c')]:[_0x49b202[_0x99a5('0x31')][_0x99a5('0x7c')]];var _0x249f0e=_0x49b202[_0x99a5('0x47')]['id'];return db[_0x99a5('0x40')][_0x99a5('0x49')]({'where':{'id':_0x249f0e}})[_0x99a5('0x41')](handleEntityNotFound(_0x4bca2d,null))['then'](function(_0x4ff3b0){if(_0x4ff3b0){var _0x48ad7b=[_0x99a5('0x7e'),_0x99a5('0x7f'),_0x99a5('0x80'),_0x99a5('0x81'),_0x99a5('0x98'),_0x99a5('0x82'),_0x99a5('0x83')];return db['sequelize'][_0x99a5('0x84')](function(_0x3f75b1){var _0xd39843=_[_0x99a5('0x2d')](_0x48ad7b,function(_0x2af4c7){var _0x15bf92={'attributes':['id',_0x99a5('0x2a')]};return _0x4ff3b0[_0x99a5('0x4f')+_0x2af4c7+_0x99a5('0x7b')](_0x15bf92)[_0x99a5('0x41')](function(_0x5a945e){var _0x409e0e=_[_0x99a5('0x2d')](_0x5a945e,function(_0x349060){return _0x349060['removeAgents'](_0x1286a6,{'transaction':_0x3f75b1})[_0x99a5('0x41')](function(){var _0x235ce6=_[_0x99a5('0x2d')](_0x1286a6,function(_0xdf5a0a){socket[_0x99a5('0x8c')](_0x99a5('0x4c')+_0x2af4c7+_0x99a5('0x99'),{'UserId':Number(_0xdf5a0a),[_0x2af4c7+_0x99a5('0x87')]:_0x349060['id']});if(_0x2af4c7!==_0x99a5('0x7e')){return;}return db['UserVoiceQueueRt'][_0x99a5('0x56')]({'where':{'VoiceQueueId':_0x349060['id'],'UserId':_0xdf5a0a},'transaction':_0x3f75b1});});return Promise[_0x99a5('0x94')](_0x235ce6);});});return Promise[_0x99a5('0x94')](_0x409e0e);});});return Promise[_0x99a5('0x94')](_0xd39843)['then'](function(){return _0x4ff3b0[_0x99a5('0x9a')](_0x1286a6,{'transaction':_0x3f75b1});})[_0x99a5('0x41')](function(){return db['TeamVoicePrefix'][_0x99a5('0x70')]({'where':{'teamId':_0x249f0e}})[_0x99a5('0x41')](function(_0x3a8ded){if(_0x3a8ded){var _0x203fba=_['map'](_0x1286a6,function(_0x1aae38){db[_0x99a5('0x95')][_0x99a5('0x56')]({'where':{'UserId':_0x1aae38,'VoicePrefixId':_0x3a8ded[_0x99a5('0x6d')]}});});return Promise[_0x99a5('0x94')](_0x203fba);}});});});}})[_0x99a5('0x41')](respondWithStatusCode(_0x4bca2d,null))[_0x99a5('0x46')](handleError(_0x4bca2d,null));};exports['getAgents']=function(_0x413827,_0xe2c831,_0x306963){var _0x4d0bdf={};var _0x273317={};var _0x57f9d8;var _0x279adf;return db[_0x99a5('0x40')][_0x99a5('0x70')]({'where':{'id':_0x413827['params']['id']}})['then'](handleEntityNotFound(_0xe2c831,null))[_0x99a5('0x41')](function(_0x273f10){if(_0x273f10){_0x57f9d8=_0x273f10;_0x273317[_0x99a5('0x35')]=_['keys'](db[_0x99a5('0x89')]['rawAttributes']);_0x273317[_0x99a5('0x31')]=_[_0x99a5('0x32')](_0x413827[_0x99a5('0x31')]);_0x273317[_0x99a5('0x33')]=_[_0x99a5('0x34')](_0x273317[_0x99a5('0x35')],_0x273317['query']);_0x4d0bdf['attributes']=_['intersection'](_0x273317[_0x99a5('0x35')],qs[_0x99a5('0x37')](_0x413827['query'][_0x99a5('0x37')]));_0x4d0bdf[_0x99a5('0x36')]=_0x4d0bdf[_0x99a5('0x36')]['length']?_0x4d0bdf[_0x99a5('0x36')]:_0x273317['model'];_0x4d0bdf[_0x99a5('0x3a')]=qs[_0x99a5('0x3b')](_0x413827[_0x99a5('0x31')][_0x99a5('0x3b')]);_0x4d0bdf['where']=qs[_0x99a5('0x33')](_['pick'](_0x413827[_0x99a5('0x31')],_0x273317[_0x99a5('0x33')]));if(_0x413827[_0x99a5('0x31')][_0x99a5('0x3e')]){_0x4d0bdf[_0x99a5('0x3c')]=_[_0x99a5('0x48')](_0x4d0bdf['where'],{'$or':_['map'](_0x4d0bdf[_0x99a5('0x36')],function(_0x28f730){var _0x194f26={};_0x194f26[_0x28f730]={'$like':'%'+_0x413827[_0x99a5('0x31')][_0x99a5('0x3e')]+'%'};return _0x194f26;})});}_0x4d0bdf=_[_0x99a5('0x48')]({},_0x4d0bdf,_0x413827['options']);return _0x57f9d8[_0x99a5('0x9b')](_0x4d0bdf);}})['then'](function(_0x4cce35){if(_0x4cce35){_0x279adf=_0x4cce35['length'];if(!_0x413827[_0x99a5('0x31')][_0x99a5('0x39')]('nolimit')){_0x4d0bdf['limit']=qs[_0x99a5('0x22')](_0x413827[_0x99a5('0x31')][_0x99a5('0x22')]);_0x4d0bdf[_0x99a5('0x21')]=qs[_0x99a5('0x21')](_0x413827[_0x99a5('0x31')][_0x99a5('0x21')]);}return _0x57f9d8[_0x99a5('0x9b')](_0x4d0bdf);}})[_0x99a5('0x41')](function(_0x2ec60b){if(_0x2ec60b){return _0x2ec60b?{'count':_0x279adf,'rows':_0x2ec60b}:null;}})[_0x99a5('0x41')](respondWithResult(_0xe2c831,null))[_0x99a5('0x46')](handleError(_0xe2c831,null));};