Built motion from commit 7a4eb044.|2.5.36
[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 _0x3354=['User','findOrCreate','emit','online','voicePause','interface','UserVoiceQueueRt','upsert','isNil','format','all','spread','removeAgents','Chat','Queue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus','status','end','offset','limit','undefined','count','set','json','apply','reject','save','update','then','stack','name','index','map','Team','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','keys','find','create','body','get','role','user','Teams','UserProfileSection','userProfileId','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','QueryTypes','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','Sequelize','SELECT','VoiceQueueId','UserVoiceQueue','destroy','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','ChatQueueId','FaxQueueId','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','UserVoicePrefix','VoicePrefixId','send','getQueues','channel','isValidChannel','ValidationError','Unknown\x20channel','toLowerCase','Queue','merge','capitalize','Queues','addQueues','findOne','add','ids','removeQueues','remove','addAgents','isArray','Mail','Sms','Fax','Openchannel','Whatsapp','through','QueueId','Voice','TeamVoiceQueue','penalty'];(function(_0x4ecf6c,_0x2e5a8f){var _0x14316a=function(_0xe29b1f){while(--_0xe29b1f){_0x4ecf6c['push'](_0x4ecf6c['shift']());}};_0x14316a(++_0x2e5a8f);}(_0x3354,0x152));var _0x4335=function(_0x5a48e0,_0x263909){_0x5a48e0=_0x5a48e0-0x0;var _0x1df273=_0x3354[_0x5a48e0];return _0x1df273;};'use strict';var emlformat=require(_0x4335('0x0'));var rimraf=require(_0x4335('0x1'));var zipdir=require(_0x4335('0x2'));var jsonpatch=require(_0x4335('0x3'));var rp=require(_0x4335('0x4'));var moment=require(_0x4335('0x5'));var BPromise=require('bluebird');var Mustache=require(_0x4335('0x6'));var util=require(_0x4335('0x7'));var path=require(_0x4335('0x8'));var sox=require(_0x4335('0x9'));var csv=require('to-csv');var ejs=require(_0x4335('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x4335('0xb'));var squel=require(_0x4335('0xc'));var crypto=require('crypto');var jsforce=require(_0x4335('0xd'));var deskjs=require(_0x4335('0xe'));var toCsv=require(_0x4335('0xf'));var querystring=require('querystring');var Papa=require(_0x4335('0x10'));var Redis=require(_0x4335('0x11'));var authService=require(_0x4335('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x4335('0x13'));var hardwareService=require(_0x4335('0x14'));var logger=require(_0x4335('0x15'))(_0x4335('0x16'));var utils=require(_0x4335('0x17'));var config=require(_0x4335('0x18'));var licenseUtil=require(_0x4335('0x19'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x4335('0x1a')](config[_0x4335('0x1b')],{'host':_0x4335('0x1c'),'port':0x18eb});var socket=require(_0x4335('0x1d'))(new Redis(config['redis']));require(_0x4335('0x1e'))[_0x4335('0x1f')](socket);function respondWithStatusCode(_0x19c619,_0x15b847){_0x15b847=_0x15b847||0xcc;return function(_0x57c6e9){if(_0x57c6e9){return _0x19c619[_0x4335('0x20')](_0x15b847);}return _0x19c619[_0x4335('0x21')](_0x15b847)[_0x4335('0x22')]();};}function respondWithResult(_0x2091ee,_0x2e1859){_0x2e1859=_0x2e1859||0xc8;return function(_0x58df41){if(_0x58df41){return _0x2091ee[_0x4335('0x21')](_0x2e1859)['json'](_0x58df41);}};}function respondWithFilteredResult(_0x19755b,_0x39cdd3){return function(_0x1cf4d5){if(_0x1cf4d5){var _0x393b15=typeof _0x39cdd3[_0x4335('0x23')]==='undefined'&&typeof _0x39cdd3[_0x4335('0x24')]===_0x4335('0x25');var _0x453a3d=_0x1cf4d5[_0x4335('0x26')];var _0x29f238=_0x393b15?0x0:_0x39cdd3[_0x4335('0x23')];var _0x5a2536=_0x393b15?_0x1cf4d5[_0x4335('0x26')]:_0x39cdd3[_0x4335('0x23')]+_0x39cdd3[_0x4335('0x24')];var _0x48e14f;if(_0x5a2536>=_0x453a3d){_0x5a2536=_0x453a3d;_0x48e14f=0xc8;}else{_0x48e14f=0xce;}_0x19755b[_0x4335('0x21')](_0x48e14f);return _0x19755b[_0x4335('0x27')]('Content-Range',_0x29f238+'-'+_0x5a2536+'/'+_0x453a3d)[_0x4335('0x28')](_0x1cf4d5);}return null;};}function patchUpdates(_0x4e3b87){return function(_0x5a9008){try{jsonpatch[_0x4335('0x29')](_0x5a9008,_0x4e3b87,!![]);}catch(_0x4cbb7b){return BPromise[_0x4335('0x2a')](_0x4cbb7b);}return _0x5a9008[_0x4335('0x2b')]();};}function saveUpdates(_0x2710b0,_0x215d1d){return function(_0x3fa71c){if(_0x3fa71c){return _0x3fa71c[_0x4335('0x2c')](_0x2710b0)[_0x4335('0x2d')](function(_0x30c782){return _0x30c782;});}return null;};}function handleEntityNotFound(_0x3530d6,_0x1fc311){return function(_0x5c6c83){if(!_0x5c6c83){_0x3530d6[_0x4335('0x20')](0x194);}return _0x5c6c83;};}function handleError(_0x366393,_0x1d83df){_0x1d83df=_0x1d83df||0x1f4;return function(_0x4fd2d4){logger['error'](_0x4fd2d4[_0x4335('0x2e')]);if(_0x4fd2d4['name']){delete _0x4fd2d4[_0x4335('0x2f')];}_0x366393['status'](_0x1d83df)['send'](_0x4fd2d4);};}exports[_0x4335('0x30')]=function(_0x2b93c7,_0x34d41a){var _0x3a3069={},_0x256f91={},_0x426a21={'count':0x0,'rows':[]};var _0x3ee50c=_[_0x4335('0x31')](db[_0x4335('0x32')][_0x4335('0x33')],function(_0x54beed){return{'name':_0x54beed[_0x4335('0x34')],'type':_0x54beed['type'][_0x4335('0x35')]};});_0x256f91[_0x4335('0x36')]=_[_0x4335('0x31')](_0x3ee50c,_0x4335('0x2f'));_0x256f91[_0x4335('0x37')]=_['keys'](_0x2b93c7[_0x4335('0x37')]);_0x256f91[_0x4335('0x38')]=_[_0x4335('0x39')](_0x256f91[_0x4335('0x36')],_0x256f91['query']);_0x3a3069[_0x4335('0x3a')]=_['intersection'](_0x256f91[_0x4335('0x36')],qs[_0x4335('0x3b')](_0x2b93c7[_0x4335('0x37')]['fields']));_0x3a3069[_0x4335('0x3a')]=_0x3a3069[_0x4335('0x3a')][_0x4335('0x3c')]?_0x3a3069[_0x4335('0x3a')]:_0x256f91[_0x4335('0x36')];if(!_0x2b93c7[_0x4335('0x37')][_0x4335('0x3d')](_0x4335('0x3e'))){_0x3a3069[_0x4335('0x24')]=qs[_0x4335('0x24')](_0x2b93c7[_0x4335('0x37')]['limit']);_0x3a3069[_0x4335('0x23')]=qs['offset'](_0x2b93c7[_0x4335('0x37')][_0x4335('0x23')]);}_0x3a3069[_0x4335('0x3f')]=qs[_0x4335('0x40')](_0x2b93c7[_0x4335('0x37')][_0x4335('0x40')]);_0x3a3069[_0x4335('0x41')]=qs['filters'](_[_0x4335('0x42')](_0x2b93c7['query'],_0x256f91['filters']),_0x3ee50c);if(_0x2b93c7[_0x4335('0x37')][_0x4335('0x43')]){_0x3a3069['where']=_['merge'](_0x3a3069[_0x4335('0x41')],{'$or':_[_0x4335('0x31')](_0x3ee50c,function(_0x20514d){if(_0x20514d['type']!==_0x4335('0x44')){var _0x571acf={};_0x571acf[_0x20514d[_0x4335('0x2f')]]={'$like':'%'+_0x2b93c7['query']['filter']+'%'};return _0x571acf;}})});}_0x3a3069=_['merge']({},_0x3a3069,_0x2b93c7[_0x4335('0x45')]);var _0x417a25={'where':_0x3a3069[_0x4335('0x41')]};return db[_0x4335('0x32')][_0x4335('0x26')](_0x417a25)[_0x4335('0x2d')](function(_0x1e4c28){_0x426a21['count']=_0x1e4c28;if(_0x2b93c7[_0x4335('0x37')][_0x4335('0x46')]){_0x3a3069['include']=[{'all':!![]}];}return db[_0x4335('0x32')][_0x4335('0x47')](_0x3a3069);})['then'](function(_0xc5218c){_0x426a21[_0x4335('0x48')]=_0xc5218c;return _0x426a21;})[_0x4335('0x2d')](respondWithFilteredResult(_0x34d41a,_0x3a3069))[_0x4335('0x49')](handleError(_0x34d41a,null));};exports[_0x4335('0x4a')]=function(_0x1f431a,_0x1f3223){var _0xeda29f={'raw':![],'where':{'id':_0x1f431a[_0x4335('0x4b')]['id']}},_0x2e7039={};_0x2e7039[_0x4335('0x36')]=_['keys'](db['Team'][_0x4335('0x33')]);_0x2e7039['query']=_[_0x4335('0x4c')](_0x1f431a[_0x4335('0x37')]);_0x2e7039[_0x4335('0x38')]=_[_0x4335('0x39')](_0x2e7039[_0x4335('0x36')],_0x2e7039[_0x4335('0x37')]);_0xeda29f[_0x4335('0x3a')]=_[_0x4335('0x39')](_0x2e7039['model'],qs[_0x4335('0x3b')](_0x1f431a[_0x4335('0x37')]['fields']));_0xeda29f[_0x4335('0x3a')]=_0xeda29f['attributes'][_0x4335('0x3c')]?_0xeda29f[_0x4335('0x3a')]:_0x2e7039['model'];if(_0x1f431a[_0x4335('0x37')][_0x4335('0x46')]){_0xeda29f['include']=[{'all':!![]}];}_0xeda29f=_['merge']({},_0xeda29f,_0x1f431a[_0x4335('0x45')]);return db[_0x4335('0x32')][_0x4335('0x4d')](_0xeda29f)[_0x4335('0x2d')](handleEntityNotFound(_0x1f3223,null))[_0x4335('0x2d')](respondWithResult(_0x1f3223,null))[_0x4335('0x49')](handleError(_0x1f3223,null));};exports[_0x4335('0x4e')]=function(_0x141133,_0xf08179){return db[_0x4335('0x32')][_0x4335('0x4e')](_0x141133[_0x4335('0x4f')],{})[_0x4335('0x2d')](function(_0x34ec15){var _0x45d25f=_0x141133['user'][_0x4335('0x50')]({'plain':!![]});if(!_0x45d25f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x45d25f[_0x4335('0x51')]===_0x4335('0x52')){var _0xe9305d=_0x34ec15[_0x4335('0x50')]({'plain':!![]});var _0x11e21a=_0x4335('0x53');return db[_0x4335('0x54')]['find']({'where':{'name':_0x11e21a,'userProfileId':_0x45d25f[_0x4335('0x55')]},'raw':!![]})[_0x4335('0x2d')](function(_0x4c7de2){if(_0x4c7de2&&_0x4c7de2['autoAssociation']===0x0){return db[_0x4335('0x56')][_0x4335('0x4e')]({'name':_0xe9305d[_0x4335('0x2f')],'resourceId':_0xe9305d['id'],'type':_0x4c7de2['name'],'sectionId':_0x4c7de2['id']},{})['then'](function(){return _0x34ec15;});}else{return _0x34ec15;}})[_0x4335('0x49')](function(_0x15484d){logger[_0x4335('0x57')](_0x4335('0x58'),_0x15484d);throw _0x15484d;});}return _0x34ec15;})[_0x4335('0x2d')](respondWithResult(_0xf08179,0xc9))['catch'](handleError(_0xf08179,null));};exports['update']=function(_0x100c22,_0x44216a){if(_0x100c22[_0x4335('0x4f')]['id']){delete _0x100c22[_0x4335('0x4f')]['id'];}return db['Team'][_0x4335('0x4d')]({'where':{'id':_0x100c22[_0x4335('0x4b')]['id']}})[_0x4335('0x2d')](handleEntityNotFound(_0x44216a,null))['then'](saveUpdates(_0x100c22[_0x4335('0x4f')],null))[_0x4335('0x2d')](respondWithResult(_0x44216a,null))[_0x4335('0x49')](handleError(_0x44216a,null));};exports['destroy']=function(_0x26cb67,_0x23b2c3){var _0x2865dd=_0x26cb67[_0x4335('0x4b')]['id'];var _0x1f3ca1=[];return db[_0x4335('0x59')][_0x4335('0x5a')](function(_0x23b4bc){var _0x367214=_0x4335('0x5b')+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0x367214,{'type':db['Sequelize'][_0x4335('0x5c')]['SELECT'],'raw':!![],'transaction':_0x23b4bc})[_0x4335('0x2d')](function(_0x36e062){_0x1f3ca1=_[_0x4335('0x31')](_0x36e062,function(_0x107cbe){return Number(_0x107cbe[_0x4335('0x5d')]);});})[_0x4335('0x2d')](function(){var _0x28edd6=_0x4335('0x5e')+_0x2865dd;return db['sequelize'][_0x4335('0x37')](_0x28edd6,{'type':db[_0x4335('0x5f')][_0x4335('0x5c')][_0x4335('0x60')],'raw':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0x42f56e){var _0x15cacc=_[_0x4335('0x31')](_0x42f56e,function(_0x18a484){return Number(_0x18a484[_0x4335('0x61')]);});return db[_0x4335('0x62')][_0x4335('0x63')]({'where':{'UserId':{'$in':_0x1f3ca1},'VoiceQueueId':{'$in':_0x15cacc}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){var _0x1ee095=_0x4335('0x64')+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0x1ee095,{'type':db[_0x4335('0x5f')][_0x4335('0x5c')][_0x4335('0x60')],'raw':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0xde022){var _0x196f45=_[_0x4335('0x31')](_0xde022,function(_0x5a8f26){return Number(_0x5a8f26[_0x4335('0x65')]);});return db['UserMailQueue']['destroy']({'where':{'UserId':{'$in':_0x1f3ca1},'MailQueueId':{'$in':_0x196f45}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){var _0x99dfdf=_0x4335('0x66')+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0x99dfdf,{'type':db[_0x4335('0x5f')]['QueryTypes'][_0x4335('0x60')],'raw':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0x539cfb){var _0x42c0b9=_['map'](_0x539cfb,function(_0x4d6e66){return Number(_0x4d6e66[_0x4335('0x67')]);});return db[_0x4335('0x68')][_0x4335('0x63')]({'where':{'UserId':{'$in':_0x1f3ca1},'SmsQueueId':{'$in':_0x42c0b9}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){var _0x59a606='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0x59a606,{'type':db[_0x4335('0x5f')][_0x4335('0x5c')]['SELECT'],'raw':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0x460531){var _0x274db7=_[_0x4335('0x31')](_0x460531,function(_0x1ca84d){return Number(_0x1ca84d[_0x4335('0x69')]);});return db['UserChatQueue']['destroy']({'where':{'UserId':{'$in':_0x1f3ca1},'ChatQueueId':{'$in':_0x274db7}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){var _0xb412ed='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0xb412ed,{'type':db['Sequelize'][_0x4335('0x5c')][_0x4335('0x60')],'raw':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0x2615bd){var _0x1c9a2d=_[_0x4335('0x31')](_0x2615bd,function(_0x5d8ebc){return Number(_0x5d8ebc[_0x4335('0x6a')]);});return db['UserFaxQueue'][_0x4335('0x63')]({'where':{'UserId':{'$in':_0x1f3ca1},'FaxQueueId':{'$in':_0x1c9a2d}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){var _0x208485=_0x4335('0x6b')+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0x208485,{'type':db[_0x4335('0x5f')]['QueryTypes'][_0x4335('0x60')],'raw':!![],'transaction':_0x23b4bc});})['then'](function(_0x456db3){var _0x17dbd7=_[_0x4335('0x31')](_0x456db3,function(_0x3de9f6){return Number(_0x3de9f6[_0x4335('0x6c')]);});return db[_0x4335('0x6d')][_0x4335('0x63')]({'where':{'UserId':{'$in':_0x1f3ca1},'OpenchannelQueueId':{'$in':_0x17dbd7}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){var _0x29c2be=_0x4335('0x6e')+_0x2865dd;return db[_0x4335('0x59')][_0x4335('0x37')](_0x29c2be,{'type':db[_0x4335('0x5f')][_0x4335('0x5c')][_0x4335('0x60')],'raw':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0x262da1){var _0x3845ec=_['map'](_0x262da1,function(_0x2a922e){return Number(_0x2a922e[_0x4335('0x6f')]);});return db[_0x4335('0x70')][_0x4335('0x63')]({'where':{'UserId':{'$in':_0x1f3ca1},'WhatsappQueueId':{'$in':_0x3845ec}},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){return db[_0x4335('0x71')][_0x4335('0x4d')]({'where':{'TeamId':_0x2865dd}});})[_0x4335('0x2d')](function(_0xa2cf2a){if(_0xa2cf2a===null){return;}return db[_0x4335('0x72')][_0x4335('0x63')]({'where':{'UserId':{'$in':_0x1f3ca1},'VoicePrefixId':_0xa2cf2a[_0x4335('0x73')]},'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(){return db[_0x4335('0x32')][_0x4335('0x63')]({'where':{'id':_0x2865dd},'cascade':!![],'transaction':_0x23b4bc});})[_0x4335('0x2d')](function(_0x1eec08){if(_0x1eec08===0x0){_0x23b2c3[_0x4335('0x20')](0x194);}else{return db[_0x4335('0x56')][_0x4335('0x63')]({'where':{'type':_0x4335('0x53'),'resourceId':_0x2865dd},'cascade':!![],'transaction':_0x23b4bc})[_0x4335('0x2d')](function(){_0x23b2c3[_0x4335('0x21')](0xcc)[_0x4335('0x22')]();});}})[_0x4335('0x49')](function(_0x3ada32){_0x23b2c3['status'](0x1f4)[_0x4335('0x74')](_0x3ada32);});});};exports[_0x4335('0x75')]=function(_0x52dc5a,_0x571875,_0x49d34d){return db[_0x4335('0x32')]['findOne']({'where':{'id':_0x52dc5a[_0x4335('0x4b')]['id']}})[_0x4335('0x2d')](handleEntityNotFound(_0x571875,null))[_0x4335('0x2d')](function(_0x428154){if(!_0x52dc5a[_0x4335('0x37')][_0x4335('0x76')]||!utils[_0x4335('0x77')](_0x52dc5a[_0x4335('0x37')][_0x4335('0x76')])){throw new db[(_0x4335('0x5f'))][(_0x4335('0x78'))](_0x4335('0x79'));}var _0x53a832={};var _0x2b5265={};_0x2b5265[_0x4335('0x36')]=_[_0x4335('0x4c')](db[_['capitalize'](_0x52dc5a[_0x4335('0x37')][_0x4335('0x76')][_0x4335('0x7a')]())+_0x4335('0x7b')]['rawAttributes']);_0x2b5265[_0x4335('0x37')]=_[_0x4335('0x4c')](_0x52dc5a[_0x4335('0x37')]);_0x2b5265[_0x4335('0x38')]=_['intersection'](_0x2b5265[_0x4335('0x36')],_0x2b5265[_0x4335('0x37')]);_0x53a832[_0x4335('0x3a')]=_[_0x4335('0x39')](_0x2b5265[_0x4335('0x36')],qs['fields'](_0x52dc5a['query'][_0x4335('0x3b')]));_0x53a832[_0x4335('0x3a')]=_0x53a832[_0x4335('0x3a')][_0x4335('0x3c')]?_0x53a832[_0x4335('0x3a')]:_0x2b5265[_0x4335('0x36')];_0x53a832[_0x4335('0x24')]=qs[_0x4335('0x24')](_0x52dc5a[_0x4335('0x37')]['limit']);_0x53a832[_0x4335('0x23')]=qs[_0x4335('0x23')](_0x52dc5a['query'][_0x4335('0x23')]);_0x53a832['order']=qs[_0x4335('0x40')](_0x52dc5a[_0x4335('0x37')][_0x4335('0x40')]);_0x53a832[_0x4335('0x41')]=qs[_0x4335('0x38')](_[_0x4335('0x42')](_0x52dc5a[_0x4335('0x37')],_0x2b5265[_0x4335('0x38')]));_0x53a832=_[_0x4335('0x7c')]({},_0x53a832,_0x52dc5a[_0x4335('0x45')]);return _0x428154[_0x4335('0x50')+_[_0x4335('0x7d')](_0x52dc5a['query'][_0x4335('0x76')][_0x4335('0x7a')]())+_0x4335('0x7e')](_0x53a832);})['then'](respondWithResult(_0x571875,null))[_0x4335('0x49')](handleError(_0x571875,null));};exports[_0x4335('0x7f')]=function(_0x2e5dba,_0x2daf8f,_0x3eb8c7){return db[_0x4335('0x32')][_0x4335('0x80')]({'where':{'id':_0x2e5dba[_0x4335('0x4b')]['id']}})[_0x4335('0x2d')](function(_0x5029e7){if(_0x5029e7){if(!_0x2e5dba[_0x4335('0x4f')][_0x4335('0x76')]||!utils[_0x4335('0x77')](_0x2e5dba[_0x4335('0x4f')]['channel'])){throw new db[(_0x4335('0x5f'))][(_0x4335('0x78'))](_0x4335('0x79'));}return _0x5029e7[_0x4335('0x81')+_['capitalize'](_0x2e5dba['body'][_0x4335('0x76')][_0x4335('0x7a')]())+_0x4335('0x7e')](_0x2e5dba[_0x4335('0x4f')][_0x4335('0x82')]);}return null;})[_0x4335('0x2d')](handleEntityNotFound(_0x2daf8f,null))[_0x4335('0x2d')](respondWithStatusCode(_0x2daf8f,null))[_0x4335('0x49')](handleError(_0x2daf8f,null));};exports[_0x4335('0x83')]=function(_0xab4d87,_0x5e3fa5,_0x4ba62e){return db[_0x4335('0x32')][_0x4335('0x80')]({'where':{'id':_0xab4d87['params']['id']}})[_0x4335('0x2d')](function(_0x361378){if(_0x361378){if(!_0xab4d87['query'][_0x4335('0x76')]||!utils[_0x4335('0x77')](_0xab4d87[_0x4335('0x37')][_0x4335('0x76')])){throw new db[(_0x4335('0x5f'))][(_0x4335('0x78'))](_0x4335('0x79'));}return _0x361378[_0x4335('0x84')+_[_0x4335('0x7d')](_0xab4d87[_0x4335('0x37')][_0x4335('0x76')]['toLowerCase']())+_0x4335('0x7e')](_0xab4d87[_0x4335('0x37')][_0x4335('0x82')]);}return null;})['then'](handleEntityNotFound(_0x5e3fa5,null))['then'](respondWithStatusCode(_0x5e3fa5,null))[_0x4335('0x49')](handleError(_0x5e3fa5,null));};exports[_0x4335('0x85')]=function(_0x4f17ef,_0x3e453a){var _0x363f76=_[_0x4335('0x86')](_0x4f17ef[_0x4335('0x4f')][_0x4335('0x82')])?_0x4f17ef[_0x4335('0x4f')]['ids']:[_0x4f17ef[_0x4335('0x4f')][_0x4335('0x82')]];var _0x27b994=_0x4f17ef[_0x4335('0x4b')]['id'];return db['Team'][_0x4335('0x4d')]({'where':{'id':_0x27b994}})[_0x4335('0x2d')](handleEntityNotFound(_0x3e453a,null))[_0x4335('0x2d')](function(_0x4d1ba5){if(_0x4d1ba5){var _0x36bce4=['Voice','Chat',_0x4335('0x87'),_0x4335('0x88'),_0x4335('0x89'),_0x4335('0x8a'),_0x4335('0x8b')];return db['sequelize'][_0x4335('0x5a')](function(_0x106dd6){var _0x23a68e=_[_0x4335('0x31')](_0x36bce4,function(_0x5cb91d){var _0x3f5d8c={'attributes':['id','name']};if(_0x5cb91d==='Voice'){_0x3f5d8c[_0x4335('0x8c')]={'attributes':['penalty']};}return _0x4d1ba5['get'+_0x5cb91d+_0x4335('0x7e')](_0x3f5d8c)[_0x4335('0x2d')](function(_0x55687e){var _0x395f42=_[_0x4335('0x31')](_0x55687e,function(_0x52d772){var _0x2db2bf=_[_0x4335('0x31')](_0x363f76,function(_0x1c8b58){var _0x489b8c={'where':{'UserId':_0x1c8b58,[_0x5cb91d+_0x4335('0x8d')]:_0x52d772['id']},'transaction':_0x106dd6};if(_0x5cb91d===_0x4335('0x8e')){_0x489b8c[_0x4335('0x1a')]={'penalty':_0x52d772[_0x4335('0x8f')][_0x4335('0x90')]};}return db[_0x4335('0x91')+_0x5cb91d+_0x4335('0x7b')][_0x4335('0x92')](_0x489b8c)[_0x4335('0x2d')](function(){socket[_0x4335('0x93')](_0x4335('0x52')+_0x5cb91d+'Queue:save',{'UserId':_0x1c8b58,[_0x5cb91d+_0x4335('0x8d')]:_0x52d772['id']});if(_0x5cb91d!==_0x4335('0x8e')){return;}return db[_0x4335('0x91')][_0x4335('0x47')]({'where':{'id':_0x363f76,'online':0x1},'attributes':['id',_0x4335('0x2f'),_0x4335('0x94'),_0x4335('0x95'),_0x4335('0x96')],'raw':!![]})[_0x4335('0x2d')](function(_0x50e19c){var _0x58707a=_[_0x4335('0x31')](_0x50e19c,function(_0xbddcba){return db[_0x4335('0x97')][_0x4335('0x98')]({'membername':_0xbddcba[_0x4335('0x2f')],'UserId':_0xbddcba['id'],'queue_name':_0x52d772['name'],'VoiceQueueId':_0x52d772['id'],'interface':_[_0x4335('0x99')](_0xbddcba[_0x4335('0x96')])?util[_0x4335('0x9a')]('SIP/%s',_0xbddcba['name']):_0xbddcba[_0x4335('0x96')],'paused':_0xbddcba[_0x4335('0x95')]||![],'penalty':_0x52d772[_0x4335('0x8f')][_0x4335('0x90')]},{'transaction':_0x106dd6});});return Promise['all'](_0x58707a);});});});return Promise[_0x4335('0x9b')](_0x2db2bf);});return Promise[_0x4335('0x9b')](_0x395f42);})[_0x4335('0x2d')](function(){return db[_0x4335('0x71')]['findOne']({'where':{'teamId':_0x27b994}})[_0x4335('0x2d')](function(_0x54c82b){if(_0x54c82b){var _0x1cec16=_['map'](_0x363f76,function(_0x1c4e1e){db[_0x4335('0x72')][_0x4335('0x98')]({'UserId':_0x1c4e1e,'VoicePrefixId':_0x54c82b[_0x4335('0x73')]});});return Promise[_0x4335('0x9b')](_0x1cec16);}});});});return Promise[_0x4335('0x9b')](_0x23a68e)[_0x4335('0x2d')](function(){return _0x4d1ba5[_0x4335('0x85')](_0x363f76,{'transaction':_0x106dd6})[_0x4335('0x9c')](function(_0x1960a0){return _0x1960a0;});});});}})[_0x4335('0x2d')](respondWithResult(_0x3e453a,null))[_0x4335('0x49')](handleError(_0x3e453a,null));};exports[_0x4335('0x9d')]=function(_0x544479,_0x33f634){var _0xe5c0d4=_[_0x4335('0x86')](_0x544479[_0x4335('0x37')][_0x4335('0x82')])?_0x544479[_0x4335('0x37')]['ids']:[_0x544479[_0x4335('0x37')][_0x4335('0x82')]];var _0x5c1d2e=_0x544479[_0x4335('0x4b')]['id'];return db['Team']['find']({'where':{'id':_0x5c1d2e}})['then'](handleEntityNotFound(_0x33f634,null))[_0x4335('0x2d')](function(_0x237f51){if(_0x237f51){var _0x2fdc0a=[_0x4335('0x8e'),_0x4335('0x9e'),_0x4335('0x87'),'Sms',_0x4335('0x89'),_0x4335('0x8a'),_0x4335('0x8b')];return db[_0x4335('0x59')][_0x4335('0x5a')](function(_0x3c13d0){var _0x473e2a=_['map'](_0x2fdc0a,function(_0xce826c){var _0x355a81={'attributes':['id','name']};return _0x237f51[_0x4335('0x50')+_0xce826c+_0x4335('0x7e')](_0x355a81)[_0x4335('0x2d')](function(_0x18a55d){var _0x19a6c4=_[_0x4335('0x31')](_0x18a55d,function(_0x1e11f5){return _0x1e11f5[_0x4335('0x9d')](_0xe5c0d4,{'transaction':_0x3c13d0})[_0x4335('0x2d')](function(){var _0x378747=_[_0x4335('0x31')](_0xe5c0d4,function(_0x2cb03c){socket[_0x4335('0x93')](_0x4335('0x52')+_0xce826c+_0x4335('0x9f'),{'UserId':Number(_0x2cb03c),[_0xce826c+_0x4335('0x8d')]:_0x1e11f5['id']});if(_0xce826c!=='Voice'){return;}return db[_0x4335('0x97')][_0x4335('0x63')]({'where':{'VoiceQueueId':_0x1e11f5['id'],'UserId':_0x2cb03c},'transaction':_0x3c13d0});});return Promise[_0x4335('0x9b')](_0x378747);});});return Promise['all'](_0x19a6c4);});});return Promise[_0x4335('0x9b')](_0x473e2a)[_0x4335('0x2d')](function(){return _0x237f51['removeAgents'](_0xe5c0d4,{'transaction':_0x3c13d0});})['then'](function(){return db[_0x4335('0x71')][_0x4335('0x80')]({'where':{'teamId':_0x5c1d2e}})[_0x4335('0x2d')](function(_0x5b6dc8){if(_0x5b6dc8){var _0x106858=_[_0x4335('0x31')](_0xe5c0d4,function(_0x1e3911){db[_0x4335('0x72')][_0x4335('0x63')]({'where':{'UserId':_0x1e3911,'VoicePrefixId':_0x5b6dc8[_0x4335('0x73')]}});});return Promise[_0x4335('0x9b')](_0x106858);}});});});}})[_0x4335('0x2d')](respondWithStatusCode(_0x33f634,null))[_0x4335('0x49')](handleError(_0x33f634,null));};exports[_0x4335('0xa0')]=function(_0x2fc586,_0x5088e6,_0x1d5cc7){var _0x3d95c1={};var _0x5b6a26={};var _0x17fc48;var _0x66416d;return db[_0x4335('0x32')][_0x4335('0x80')]({'where':{'id':_0x2fc586[_0x4335('0x4b')]['id']}})[_0x4335('0x2d')](handleEntityNotFound(_0x5088e6,null))[_0x4335('0x2d')](function(_0x1d5d27){if(_0x1d5d27){_0x17fc48=_0x1d5d27;_0x5b6a26[_0x4335('0x36')]=_[_0x4335('0x4c')](db[_0x4335('0x91')][_0x4335('0x33')]);_0x5b6a26[_0x4335('0x37')]=_[_0x4335('0x4c')](_0x2fc586['query']);_0x5b6a26[_0x4335('0x38')]=_[_0x4335('0x39')](_0x5b6a26[_0x4335('0x36')],_0x5b6a26[_0x4335('0x37')]);_0x3d95c1['attributes']=_[_0x4335('0x39')](_0x5b6a26['model'],qs[_0x4335('0x3b')](_0x2fc586[_0x4335('0x37')][_0x4335('0x3b')]));_0x3d95c1['attributes']=_0x3d95c1[_0x4335('0x3a')]['length']?_0x3d95c1[_0x4335('0x3a')]:_0x5b6a26[_0x4335('0x36')];_0x3d95c1[_0x4335('0x3f')]=qs[_0x4335('0x40')](_0x2fc586[_0x4335('0x37')]['sort']);_0x3d95c1[_0x4335('0x41')]=qs[_0x4335('0x38')](_[_0x4335('0x42')](_0x2fc586[_0x4335('0x37')],_0x5b6a26[_0x4335('0x38')]));if(_0x2fc586['query'][_0x4335('0x43')]){_0x3d95c1[_0x4335('0x41')]=_[_0x4335('0x7c')](_0x3d95c1[_0x4335('0x41')],{'$or':_['map'](_0x3d95c1[_0x4335('0x3a')],function(_0x1b7324){var _0x41334d={};_0x41334d[_0x1b7324]={'$like':'%'+_0x2fc586[_0x4335('0x37')][_0x4335('0x43')]+'%'};return _0x41334d;})});}_0x3d95c1=_[_0x4335('0x7c')]({},_0x3d95c1,_0x2fc586[_0x4335('0x45')]);return _0x17fc48[_0x4335('0xa0')](_0x3d95c1);}})[_0x4335('0x2d')](function(_0x2d3525){if(_0x2d3525){_0x66416d=_0x2d3525['length'];if(!_0x2fc586[_0x4335('0x37')]['hasOwnProperty'](_0x4335('0x3e'))){_0x3d95c1[_0x4335('0x24')]=qs[_0x4335('0x24')](_0x2fc586[_0x4335('0x37')][_0x4335('0x24')]);_0x3d95c1[_0x4335('0x23')]=qs[_0x4335('0x23')](_0x2fc586[_0x4335('0x37')][_0x4335('0x23')]);}return _0x17fc48['getAgents'](_0x3d95c1);}})['then'](function(_0xdb3a5d){if(_0xdb3a5d){return _0xdb3a5d?{'count':_0x66416d,'rows':_0xdb3a5d}:null;}})[_0x4335('0x2d')](respondWithResult(_0x5088e6,null))['catch'](handleError(_0x5088e6,null));};