c4d2e50d38b3d0b34442eb9bc3454e43382855de
[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 _0xdf32=['api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./team.socket','register','sendStatus','status','end','offset','undefined','limit','count','set','apply','save','update','then','error','stack','send','index','map','Team','rawAttributes','fieldName','type','name','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter','options','includeAll','findAll','rows','catch','show','params','include','merge','find','create','user','get','role','Teams','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','SELECT','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','QueryTypes','VoiceQueueId','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','UserChatQueue','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','FaxQueueId','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','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','getQueues','isValidChannel','capitalize','channel','toLowerCase','Queue','keys','pick','Queues','addQueues','Unknown\x20channel','ids','removeQueues','findOne','ValidationError','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','Whatsapp','penalty','QueueId','TeamVoiceQueue','findOrCreate','emit','Queue:save','User','online','voicePause','interface','UserVoiceQueueRt','format','SIP/%s','all','spread','removeAgents','Queue:remove','getAgents','rimraf','fast-json-patch','moment','bluebird','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger'];(function(_0x3024d0,_0x481ffb){var _0x5b6652=function(_0x219bae){while(--_0x219bae){_0x3024d0['push'](_0x3024d0['shift']());}};_0x5b6652(++_0x481ffb);}(_0xdf32,0x1b6));var _0x2df3=function(_0x2d7301,_0xddda57){_0x2d7301=_0x2d7301-0x0;var _0x50996f=_0xdf32[_0x2d7301];return _0x50996f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x2df3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2df3('0x1'));var rp=require('request-promise');var moment=require(_0x2df3('0x2'));var BPromise=require(_0x2df3('0x3'));var Mustache=require('mustache');var util=require('util');var path=require(_0x2df3('0x4'));var sox=require(_0x2df3('0x5'));var csv=require(_0x2df3('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2df3('0x7'));var _=require(_0x2df3('0x8'));var squel=require(_0x2df3('0x9'));var crypto=require(_0x2df3('0xa'));var jsforce=require(_0x2df3('0xb'));var deskjs=require(_0x2df3('0xc'));var toCsv=require('to-csv');var querystring=require(_0x2df3('0xd'));var Papa=require('papaparse');var Redis=require(_0x2df3('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x2df3('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2df3('0x10'));var logger=require(_0x2df3('0x11'))(_0x2df3('0x12'));var utils=require(_0x2df3('0x13'));var config=require(_0x2df3('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x2df3('0x15'))['db'];config[_0x2df3('0x16')]=_[_0x2df3('0x17')](config[_0x2df3('0x16')],{'host':'localhost','port':0x18eb});var socket=require(_0x2df3('0x18'))(new Redis(config[_0x2df3('0x16')]));require(_0x2df3('0x19'))[_0x2df3('0x1a')](socket);function respondWithStatusCode(_0x4fe1b6,_0x2ad711){_0x2ad711=_0x2ad711||0xcc;return function(_0x314939){if(_0x314939){return _0x4fe1b6[_0x2df3('0x1b')](_0x2ad711);}return _0x4fe1b6[_0x2df3('0x1c')](_0x2ad711)[_0x2df3('0x1d')]();};}function respondWithResult(_0x1c2514,_0x341099){_0x341099=_0x341099||0xc8;return function(_0x2ff23b){if(_0x2ff23b){return _0x1c2514['status'](_0x341099)['json'](_0x2ff23b);}};}function respondWithFilteredResult(_0x29f8cc,_0x36598d){return function(_0x388a84){if(_0x388a84){var _0x2b01eb=typeof _0x36598d[_0x2df3('0x1e')]===_0x2df3('0x1f')&&typeof _0x36598d[_0x2df3('0x20')]===_0x2df3('0x1f');var _0x4311e0=_0x388a84[_0x2df3('0x21')];var _0x1604b0=_0x2b01eb?0x0:_0x36598d['offset'];var _0x228c93=_0x2b01eb?_0x388a84[_0x2df3('0x21')]:_0x36598d['offset']+_0x36598d[_0x2df3('0x20')];var _0x4a8ecc;if(_0x228c93>=_0x4311e0){_0x228c93=_0x4311e0;_0x4a8ecc=0xc8;}else{_0x4a8ecc=0xce;}_0x29f8cc[_0x2df3('0x1c')](_0x4a8ecc);return _0x29f8cc[_0x2df3('0x22')]('Content-Range',_0x1604b0+'-'+_0x228c93+'/'+_0x4311e0)['json'](_0x388a84);}return null;};}function patchUpdates(_0x53a9da){return function(_0x3b0a6f){try{jsonpatch[_0x2df3('0x23')](_0x3b0a6f,_0x53a9da,!![]);}catch(_0x4322ce){return BPromise['reject'](_0x4322ce);}return _0x3b0a6f[_0x2df3('0x24')]();};}function saveUpdates(_0x3f6696,_0x4567f4){return function(_0x294782){if(_0x294782){return _0x294782[_0x2df3('0x25')](_0x3f6696)[_0x2df3('0x26')](function(_0x1836db){return _0x1836db;});}return null;};}function handleEntityNotFound(_0x2a1142,_0x220866){return function(_0x3705fa){if(!_0x3705fa){_0x2a1142['sendStatus'](0x194);}return _0x3705fa;};}function handleError(_0x31e4c3,_0x26ee59){_0x26ee59=_0x26ee59||0x1f4;return function(_0x21e076){logger[_0x2df3('0x27')](_0x21e076[_0x2df3('0x28')]);if(_0x21e076['name']){delete _0x21e076['name'];}_0x31e4c3[_0x2df3('0x1c')](_0x26ee59)[_0x2df3('0x29')](_0x21e076);};}exports[_0x2df3('0x2a')]=function(_0x20e0a0,_0x101345){var _0x4e6753={},_0x2a639a={},_0x27532a={'count':0x0,'rows':[]};var _0x5a424d=_[_0x2df3('0x2b')](db[_0x2df3('0x2c')][_0x2df3('0x2d')],function(_0x330f75){return{'name':_0x330f75[_0x2df3('0x2e')],'type':_0x330f75[_0x2df3('0x2f')]['key']};});_0x2a639a['model']=_[_0x2df3('0x2b')](_0x5a424d,_0x2df3('0x30'));_0x2a639a['query']=_['keys'](_0x20e0a0[_0x2df3('0x31')]);_0x2a639a[_0x2df3('0x32')]=_[_0x2df3('0x33')](_0x2a639a[_0x2df3('0x34')],_0x2a639a['query']);_0x4e6753[_0x2df3('0x35')]=_[_0x2df3('0x33')](_0x2a639a['model'],qs['fields'](_0x20e0a0[_0x2df3('0x31')][_0x2df3('0x36')]));_0x4e6753[_0x2df3('0x35')]=_0x4e6753[_0x2df3('0x35')][_0x2df3('0x37')]?_0x4e6753[_0x2df3('0x35')]:_0x2a639a[_0x2df3('0x34')];if(!_0x20e0a0[_0x2df3('0x31')][_0x2df3('0x38')](_0x2df3('0x39'))){_0x4e6753[_0x2df3('0x20')]=qs[_0x2df3('0x20')](_0x20e0a0[_0x2df3('0x31')]['limit']);_0x4e6753[_0x2df3('0x1e')]=qs[_0x2df3('0x1e')](_0x20e0a0[_0x2df3('0x31')][_0x2df3('0x1e')]);}_0x4e6753[_0x2df3('0x3a')]=qs[_0x2df3('0x3b')](_0x20e0a0[_0x2df3('0x31')][_0x2df3('0x3b')]);_0x4e6753[_0x2df3('0x3c')]=qs[_0x2df3('0x32')](_['pick'](_0x20e0a0[_0x2df3('0x31')],_0x2a639a[_0x2df3('0x32')]),_0x5a424d);if(_0x20e0a0['query']['filter']){_0x4e6753['where']=_['merge'](_0x4e6753['where'],{'$or':_[_0x2df3('0x2b')](_0x5a424d,function(_0x240a19){if(_0x240a19[_0x2df3('0x2f')]!==_0x2df3('0x3d')){var _0x415e4f={};_0x415e4f[_0x240a19[_0x2df3('0x30')]]={'$like':'%'+_0x20e0a0[_0x2df3('0x31')][_0x2df3('0x3e')]+'%'};return _0x415e4f;}})});}_0x4e6753=_['merge']({},_0x4e6753,_0x20e0a0[_0x2df3('0x3f')]);var _0x29d616={'where':_0x4e6753[_0x2df3('0x3c')]};return db['Team'][_0x2df3('0x21')](_0x29d616)[_0x2df3('0x26')](function(_0x24e914){_0x27532a[_0x2df3('0x21')]=_0x24e914;if(_0x20e0a0[_0x2df3('0x31')][_0x2df3('0x40')]){_0x4e6753['include']=[{'all':!![]}];}return db[_0x2df3('0x2c')][_0x2df3('0x41')](_0x4e6753);})['then'](function(_0x1e6d7b){_0x27532a[_0x2df3('0x42')]=_0x1e6d7b;return _0x27532a;})[_0x2df3('0x26')](respondWithFilteredResult(_0x101345,_0x4e6753))[_0x2df3('0x43')](handleError(_0x101345,null));};exports[_0x2df3('0x44')]=function(_0x1047e6,_0x4c66b1){var _0x57614e={'raw':![],'where':{'id':_0x1047e6[_0x2df3('0x45')]['id']}},_0x3e500e={};_0x3e500e[_0x2df3('0x34')]=_['keys'](db[_0x2df3('0x2c')][_0x2df3('0x2d')]);_0x3e500e[_0x2df3('0x31')]=_['keys'](_0x1047e6[_0x2df3('0x31')]);_0x3e500e['filters']=_[_0x2df3('0x33')](_0x3e500e['model'],_0x3e500e[_0x2df3('0x31')]);_0x57614e[_0x2df3('0x35')]=_['intersection'](_0x3e500e[_0x2df3('0x34')],qs[_0x2df3('0x36')](_0x1047e6[_0x2df3('0x31')][_0x2df3('0x36')]));_0x57614e[_0x2df3('0x35')]=_0x57614e[_0x2df3('0x35')][_0x2df3('0x37')]?_0x57614e[_0x2df3('0x35')]:_0x3e500e[_0x2df3('0x34')];if(_0x1047e6['query'][_0x2df3('0x40')]){_0x57614e[_0x2df3('0x46')]=[{'all':!![]}];}_0x57614e=_[_0x2df3('0x47')]({},_0x57614e,_0x1047e6[_0x2df3('0x3f')]);return db[_0x2df3('0x2c')][_0x2df3('0x48')](_0x57614e)[_0x2df3('0x26')](handleEntityNotFound(_0x4c66b1,null))['then'](respondWithResult(_0x4c66b1,null))['catch'](handleError(_0x4c66b1,null));};exports['create']=function(_0x194a83,_0x3f3230){return db['Team'][_0x2df3('0x49')](_0x194a83['body'],{})[_0x2df3('0x26')](function(_0x18f178){var _0x495b24=_0x194a83[_0x2df3('0x4a')][_0x2df3('0x4b')]({'plain':!![]});if(!_0x495b24)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x495b24[_0x2df3('0x4c')]==='user'){var _0x27730e=_0x18f178[_0x2df3('0x4b')]({'plain':!![]});var _0x59fdbf=_0x2df3('0x4d');return db[_0x2df3('0x4e')][_0x2df3('0x48')]({'where':{'name':_0x59fdbf,'userProfileId':_0x495b24['userProfileId']},'raw':!![]})[_0x2df3('0x26')](function(_0x417654){if(_0x417654&&_0x417654[_0x2df3('0x4f')]===0x0){return db[_0x2df3('0x50')][_0x2df3('0x49')]({'name':_0x27730e['name'],'resourceId':_0x27730e['id'],'type':_0x417654[_0x2df3('0x30')],'sectionId':_0x417654['id']},{})['then'](function(){return _0x18f178;});}else{return _0x18f178;}})[_0x2df3('0x43')](function(_0x21e119){logger[_0x2df3('0x27')](_0x2df3('0x51'),_0x21e119);throw _0x21e119;});}return _0x18f178;})[_0x2df3('0x26')](respondWithResult(_0x3f3230,0xc9))[_0x2df3('0x43')](handleError(_0x3f3230,null));};exports[_0x2df3('0x25')]=function(_0x5d13f9,_0x32e9d1){if(_0x5d13f9[_0x2df3('0x52')]['id']){delete _0x5d13f9[_0x2df3('0x52')]['id'];}return db[_0x2df3('0x2c')]['find']({'where':{'id':_0x5d13f9[_0x2df3('0x45')]['id']}})[_0x2df3('0x26')](handleEntityNotFound(_0x32e9d1,null))[_0x2df3('0x26')](saveUpdates(_0x5d13f9[_0x2df3('0x52')],null))[_0x2df3('0x26')](respondWithResult(_0x32e9d1,null))['catch'](handleError(_0x32e9d1,null));};exports[_0x2df3('0x53')]=function(_0x2f8c5d,_0x2715a6){var _0x5c62f4=_0x2f8c5d['params']['id'];var _0x1a0335=[];return db[_0x2df3('0x54')][_0x2df3('0x55')](function(_0x100402){var _0x5f4d92=_0x2df3('0x56')+_0x5c62f4;return db[_0x2df3('0x54')]['query'](_0x5f4d92,{'type':db[_0x2df3('0x57')]['QueryTypes'][_0x2df3('0x58')],'raw':!![],'transaction':_0x100402})[_0x2df3('0x26')](function(_0x60619){_0x1a0335=_['map'](_0x60619,function(_0x1e813c){return Number(_0x1e813c['UserId']);});})[_0x2df3('0x26')](function(){var _0x501c56=_0x2df3('0x59')+_0x5c62f4;return db[_0x2df3('0x54')][_0x2df3('0x31')](_0x501c56,{'type':db[_0x2df3('0x57')][_0x2df3('0x5a')][_0x2df3('0x58')],'raw':!![],'transaction':_0x100402});})[_0x2df3('0x26')](function(_0x5bc9b8){var _0x4bfd13=_[_0x2df3('0x2b')](_0x5bc9b8,function(_0xf14c05){return Number(_0xf14c05[_0x2df3('0x5b')]);});return db['UserVoiceQueue'][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'VoiceQueueId':{'$in':_0x4bfd13}},'transaction':_0x100402});})['then'](function(){var _0x55391a=_0x2df3('0x5c')+_0x5c62f4;return db[_0x2df3('0x54')]['query'](_0x55391a,{'type':db[_0x2df3('0x57')][_0x2df3('0x5a')][_0x2df3('0x58')],'raw':!![],'transaction':_0x100402});})[_0x2df3('0x26')](function(_0x2492e0){var _0x26d807=_[_0x2df3('0x2b')](_0x2492e0,function(_0x2ed483){return Number(_0x2ed483[_0x2df3('0x5d')]);});return db['UserMailQueue'][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'MailQueueId':{'$in':_0x26d807}},'transaction':_0x100402});})[_0x2df3('0x26')](function(){var _0x334b51=_0x2df3('0x5e')+_0x5c62f4;return db[_0x2df3('0x54')][_0x2df3('0x31')](_0x334b51,{'type':db['Sequelize']['QueryTypes'][_0x2df3('0x58')],'raw':!![],'transaction':_0x100402});})[_0x2df3('0x26')](function(_0x2340f7){var _0x334369=_[_0x2df3('0x2b')](_0x2340f7,function(_0x14f62a){return Number(_0x14f62a[_0x2df3('0x5f')]);});return db[_0x2df3('0x60')]['destroy']({'where':{'UserId':{'$in':_0x1a0335},'SmsQueueId':{'$in':_0x334369}},'transaction':_0x100402});})[_0x2df3('0x26')](function(){var _0x135610='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5c62f4;return db[_0x2df3('0x54')][_0x2df3('0x31')](_0x135610,{'type':db[_0x2df3('0x57')][_0x2df3('0x5a')][_0x2df3('0x58')],'raw':!![],'transaction':_0x100402});})[_0x2df3('0x26')](function(_0x1b1e18){var _0x3210c8=_['map'](_0x1b1e18,function(_0x1b01e8){return Number(_0x1b01e8['ChatQueueId']);});return db[_0x2df3('0x61')][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'ChatQueueId':{'$in':_0x3210c8}},'transaction':_0x100402});})[_0x2df3('0x26')](function(){var _0x48f363=_0x2df3('0x62')+_0x5c62f4;return db[_0x2df3('0x54')][_0x2df3('0x31')](_0x48f363,{'type':db[_0x2df3('0x57')][_0x2df3('0x5a')]['SELECT'],'raw':!![],'transaction':_0x100402});})['then'](function(_0x4e8119){var _0x17580e=_['map'](_0x4e8119,function(_0x3c5fdc){return Number(_0x3c5fdc[_0x2df3('0x63')]);});return db[_0x2df3('0x64')][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'FaxQueueId':{'$in':_0x17580e}},'transaction':_0x100402});})[_0x2df3('0x26')](function(){var _0x1b780f=_0x2df3('0x65')+_0x5c62f4;return db[_0x2df3('0x54')]['query'](_0x1b780f,{'type':db['Sequelize'][_0x2df3('0x5a')][_0x2df3('0x58')],'raw':!![],'transaction':_0x100402});})['then'](function(_0x2d09bb){var _0x28cb52=_[_0x2df3('0x2b')](_0x2d09bb,function(_0x56aa33){return Number(_0x56aa33['OpenchannelQueueId']);});return db[_0x2df3('0x66')][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'OpenchannelQueueId':{'$in':_0x28cb52}},'transaction':_0x100402});})['then'](function(){var _0x5ef7f8=_0x2df3('0x67')+_0x5c62f4;return db[_0x2df3('0x54')][_0x2df3('0x31')](_0x5ef7f8,{'type':db[_0x2df3('0x57')][_0x2df3('0x5a')]['SELECT'],'raw':!![],'transaction':_0x100402});})['then'](function(_0x266be3){var _0x4c721e=_[_0x2df3('0x2b')](_0x266be3,function(_0x16cd0c){return Number(_0x16cd0c[_0x2df3('0x68')]);});return db[_0x2df3('0x69')][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'WhatsappQueueId':{'$in':_0x4c721e}},'transaction':_0x100402});})[_0x2df3('0x26')](function(){return db[_0x2df3('0x6a')][_0x2df3('0x48')]({'where':{'TeamId':_0x5c62f4}});})[_0x2df3('0x26')](function(_0x29a6a0){if(_0x29a6a0===null){return;}return db[_0x2df3('0x6b')][_0x2df3('0x53')]({'where':{'UserId':{'$in':_0x1a0335},'VoicePrefixId':_0x29a6a0[_0x2df3('0x6c')]},'transaction':_0x100402});})[_0x2df3('0x26')](function(){return db[_0x2df3('0x2c')][_0x2df3('0x53')]({'where':{'id':_0x5c62f4},'cascade':!![],'transaction':_0x100402});})['then'](function(_0x13340d){if(_0x13340d===0x0){_0x2715a6[_0x2df3('0x1b')](0x194);}else{return db[_0x2df3('0x50')][_0x2df3('0x53')]({'where':{'type':'Teams','resourceId':_0x5c62f4},'cascade':!![],'transaction':_0x100402})[_0x2df3('0x26')](function(){_0x2715a6['status'](0xcc)['end']();});}})[_0x2df3('0x43')](function(_0x1929b8){_0x2715a6[_0x2df3('0x1c')](0x1f4)[_0x2df3('0x29')](_0x1929b8);});});};exports[_0x2df3('0x6d')]=function(_0x2cb5a5,_0x5d02f6,_0x1a0b04){return db[_0x2df3('0x2c')]['findOne']({'where':{'id':_0x2cb5a5['params']['id']}})[_0x2df3('0x26')](handleEntityNotFound(_0x5d02f6,null))['then'](function(_0x3a3ffe){if(!_0x2cb5a5['query']['channel']||!utils[_0x2df3('0x6e')](_0x2cb5a5[_0x2df3('0x31')]['channel'])){throw new db['Sequelize']['ValidationError']('Unknown\x20channel');}var _0x36c1ad={};var _0x4d4ca7={};_0x4d4ca7[_0x2df3('0x34')]=_['keys'](db[_[_0x2df3('0x6f')](_0x2cb5a5[_0x2df3('0x31')][_0x2df3('0x70')][_0x2df3('0x71')]())+_0x2df3('0x72')]['rawAttributes']);_0x4d4ca7['query']=_[_0x2df3('0x73')](_0x2cb5a5['query']);_0x4d4ca7[_0x2df3('0x32')]=_['intersection'](_0x4d4ca7[_0x2df3('0x34')],_0x4d4ca7[_0x2df3('0x31')]);_0x36c1ad['attributes']=_[_0x2df3('0x33')](_0x4d4ca7[_0x2df3('0x34')],qs[_0x2df3('0x36')](_0x2cb5a5[_0x2df3('0x31')][_0x2df3('0x36')]));_0x36c1ad[_0x2df3('0x35')]=_0x36c1ad[_0x2df3('0x35')][_0x2df3('0x37')]?_0x36c1ad[_0x2df3('0x35')]:_0x4d4ca7[_0x2df3('0x34')];_0x36c1ad['limit']=qs[_0x2df3('0x20')](_0x2cb5a5[_0x2df3('0x31')][_0x2df3('0x20')]);_0x36c1ad[_0x2df3('0x1e')]=qs['offset'](_0x2cb5a5[_0x2df3('0x31')][_0x2df3('0x1e')]);_0x36c1ad[_0x2df3('0x3a')]=qs[_0x2df3('0x3b')](_0x2cb5a5['query'][_0x2df3('0x3b')]);_0x36c1ad[_0x2df3('0x3c')]=qs[_0x2df3('0x32')](_[_0x2df3('0x74')](_0x2cb5a5[_0x2df3('0x31')],_0x4d4ca7[_0x2df3('0x32')]));_0x36c1ad=_[_0x2df3('0x47')]({},_0x36c1ad,_0x2cb5a5[_0x2df3('0x3f')]);return _0x3a3ffe[_0x2df3('0x4b')+_[_0x2df3('0x6f')](_0x2cb5a5[_0x2df3('0x31')][_0x2df3('0x70')][_0x2df3('0x71')]())+_0x2df3('0x75')](_0x36c1ad);})['then'](respondWithResult(_0x5d02f6,null))[_0x2df3('0x43')](handleError(_0x5d02f6,null));};exports[_0x2df3('0x76')]=function(_0x2a888f,_0x2c8b5a,_0x11d0e4){return db[_0x2df3('0x2c')]['findOne']({'where':{'id':_0x2a888f[_0x2df3('0x45')]['id']}})[_0x2df3('0x26')](function(_0x402538){if(_0x402538){if(!_0x2a888f[_0x2df3('0x52')][_0x2df3('0x70')]||!utils[_0x2df3('0x6e')](_0x2a888f['body'][_0x2df3('0x70')])){throw new db[(_0x2df3('0x57'))]['ValidationError'](_0x2df3('0x77'));}return _0x402538['add'+_['capitalize'](_0x2a888f['body'][_0x2df3('0x70')][_0x2df3('0x71')]())+'Queues'](_0x2a888f[_0x2df3('0x52')][_0x2df3('0x78')]);}return null;})[_0x2df3('0x26')](handleEntityNotFound(_0x2c8b5a,null))[_0x2df3('0x26')](respondWithStatusCode(_0x2c8b5a,null))['catch'](handleError(_0x2c8b5a,null));};exports[_0x2df3('0x79')]=function(_0x28a8d6,_0xc0311d,_0x1f5db3){return db['Team'][_0x2df3('0x7a')]({'where':{'id':_0x28a8d6['params']['id']}})[_0x2df3('0x26')](function(_0x326536){if(_0x326536){if(!_0x28a8d6[_0x2df3('0x31')][_0x2df3('0x70')]||!utils[_0x2df3('0x6e')](_0x28a8d6['query']['channel'])){throw new db[(_0x2df3('0x57'))][(_0x2df3('0x7b'))](_0x2df3('0x77'));}return _0x326536[_0x2df3('0x7c')+_[_0x2df3('0x6f')](_0x28a8d6[_0x2df3('0x31')]['channel'][_0x2df3('0x71')]())+_0x2df3('0x75')](_0x28a8d6[_0x2df3('0x31')][_0x2df3('0x78')]);}return null;})[_0x2df3('0x26')](handleEntityNotFound(_0xc0311d,null))['then'](respondWithStatusCode(_0xc0311d,null))[_0x2df3('0x43')](handleError(_0xc0311d,null));};exports[_0x2df3('0x7d')]=function(_0x4d02f1,_0x2bc3cf){var _0x310b71=_[_0x2df3('0x7e')](_0x4d02f1[_0x2df3('0x52')][_0x2df3('0x78')])?_0x4d02f1[_0x2df3('0x52')][_0x2df3('0x78')]:[_0x4d02f1[_0x2df3('0x52')][_0x2df3('0x78')]];var _0x33b563=_0x4d02f1['params']['id'];return db[_0x2df3('0x2c')][_0x2df3('0x48')]({'where':{'id':_0x33b563}})['then'](handleEntityNotFound(_0x2bc3cf,null))[_0x2df3('0x26')](function(_0x1f3b21){if(_0x1f3b21){var _0x21dc5e=[_0x2df3('0x7f'),_0x2df3('0x80'),_0x2df3('0x81'),_0x2df3('0x82'),_0x2df3('0x83'),_0x2df3('0x84'),_0x2df3('0x85')];return db[_0x2df3('0x54')][_0x2df3('0x55')](function(_0x36f2bb){var _0x520ff2=_[_0x2df3('0x2b')](_0x21dc5e,function(_0x264790){var _0x1aa447={'attributes':['id',_0x2df3('0x30')]};if(_0x264790===_0x2df3('0x7f')){_0x1aa447['through']={'attributes':[_0x2df3('0x86')]};}return _0x1f3b21[_0x2df3('0x4b')+_0x264790+_0x2df3('0x75')](_0x1aa447)[_0x2df3('0x26')](function(_0x3d41fd){var _0x498465=_[_0x2df3('0x2b')](_0x3d41fd,function(_0x8034ed){var _0x180fcd=_[_0x2df3('0x2b')](_0x310b71,function(_0x3f1299){var _0x14fd9d={'where':{'UserId':_0x3f1299,[_0x264790+_0x2df3('0x87')]:_0x8034ed['id']},'transaction':_0x36f2bb};if(_0x264790===_0x2df3('0x7f')){_0x14fd9d[_0x2df3('0x17')]={'penalty':_0x8034ed[_0x2df3('0x88')][_0x2df3('0x86')]};}return db['User'+_0x264790+_0x2df3('0x72')][_0x2df3('0x89')](_0x14fd9d)['then'](function(){socket[_0x2df3('0x8a')](_0x2df3('0x4a')+_0x264790+_0x2df3('0x8b'),{'UserId':_0x3f1299,[_0x264790+_0x2df3('0x87')]:_0x8034ed['id']});if(_0x264790!=='Voice'){return;}return db[_0x2df3('0x8c')][_0x2df3('0x41')]({'where':{'id':_0x310b71,'online':0x1},'attributes':['id',_0x2df3('0x30'),_0x2df3('0x8d'),_0x2df3('0x8e'),_0x2df3('0x8f')],'raw':!![]})[_0x2df3('0x26')](function(_0x22949b){var _0x4bba9a=_[_0x2df3('0x2b')](_0x22949b,function(_0x1ffc92){return db[_0x2df3('0x90')]['upsert']({'membername':_0x1ffc92[_0x2df3('0x30')],'UserId':_0x1ffc92['id'],'queue_name':_0x8034ed[_0x2df3('0x30')],'VoiceQueueId':_0x8034ed['id'],'interface':_['isNil'](_0x1ffc92[_0x2df3('0x8f')])?util[_0x2df3('0x91')](_0x2df3('0x92'),_0x1ffc92[_0x2df3('0x30')]):_0x1ffc92['interface'],'paused':_0x1ffc92['voicePause']||![],'penalty':_0x8034ed[_0x2df3('0x88')][_0x2df3('0x86')]},{'transaction':_0x36f2bb});});return Promise[_0x2df3('0x93')](_0x4bba9a);});});});return Promise[_0x2df3('0x93')](_0x180fcd);});return Promise[_0x2df3('0x93')](_0x498465);})[_0x2df3('0x26')](function(){return db[_0x2df3('0x6a')]['findOne']({'where':{'teamId':_0x33b563}})[_0x2df3('0x26')](function(_0x2c3b29){if(_0x2c3b29){var _0x54ac10=_[_0x2df3('0x2b')](_0x310b71,function(_0xcd5b41){db[_0x2df3('0x6b')]['upsert']({'UserId':_0xcd5b41,'VoicePrefixId':_0x2c3b29['VoicePrefixId']});});return Promise['all'](_0x54ac10);}});});});return Promise[_0x2df3('0x93')](_0x520ff2)['then'](function(){return _0x1f3b21['addAgents'](_0x310b71,{'transaction':_0x36f2bb})[_0x2df3('0x94')](function(_0x6ac648){return _0x6ac648;});});});}})[_0x2df3('0x26')](respondWithResult(_0x2bc3cf,null))[_0x2df3('0x43')](handleError(_0x2bc3cf,null));};exports['removeAgents']=function(_0x13dcf5,_0x5a6671){var _0x1504ad=_[_0x2df3('0x7e')](_0x13dcf5[_0x2df3('0x31')][_0x2df3('0x78')])?_0x13dcf5[_0x2df3('0x31')]['ids']:[_0x13dcf5[_0x2df3('0x31')]['ids']];var _0x30c29=_0x13dcf5[_0x2df3('0x45')]['id'];return db[_0x2df3('0x2c')][_0x2df3('0x48')]({'where':{'id':_0x30c29}})[_0x2df3('0x26')](handleEntityNotFound(_0x5a6671,null))[_0x2df3('0x26')](function(_0x346e21){if(_0x346e21){var _0x2065e7=[_0x2df3('0x7f'),_0x2df3('0x80'),_0x2df3('0x81'),_0x2df3('0x82'),_0x2df3('0x83'),_0x2df3('0x84'),'Whatsapp'];return db[_0x2df3('0x54')][_0x2df3('0x55')](function(_0x5569c9){var _0x420b0e=_[_0x2df3('0x2b')](_0x2065e7,function(_0x2ae43c){var _0x3d360c={'attributes':['id',_0x2df3('0x30')]};return _0x346e21[_0x2df3('0x4b')+_0x2ae43c+_0x2df3('0x75')](_0x3d360c)[_0x2df3('0x26')](function(_0x5effea){var _0x5efd7f=_[_0x2df3('0x2b')](_0x5effea,function(_0x58a401){return _0x58a401[_0x2df3('0x95')](_0x1504ad,{'transaction':_0x5569c9})['then'](function(){var _0x670739=_[_0x2df3('0x2b')](_0x1504ad,function(_0x2e2d04){socket[_0x2df3('0x8a')](_0x2df3('0x4a')+_0x2ae43c+_0x2df3('0x96'),{'UserId':Number(_0x2e2d04),[_0x2ae43c+_0x2df3('0x87')]:_0x58a401['id']});if(_0x2ae43c!=='Voice'){return;}return db[_0x2df3('0x90')][_0x2df3('0x53')]({'where':{'VoiceQueueId':_0x58a401['id'],'UserId':_0x2e2d04},'transaction':_0x5569c9});});return Promise[_0x2df3('0x93')](_0x670739);});});return Promise['all'](_0x5efd7f);});});return Promise[_0x2df3('0x93')](_0x420b0e)[_0x2df3('0x26')](function(){return _0x346e21[_0x2df3('0x95')](_0x1504ad,{'transaction':_0x5569c9});})[_0x2df3('0x26')](function(){return db[_0x2df3('0x6a')][_0x2df3('0x7a')]({'where':{'teamId':_0x30c29}})[_0x2df3('0x26')](function(_0x11edfd){if(_0x11edfd){var _0x512029=_[_0x2df3('0x2b')](_0x1504ad,function(_0x2836b7){db['UserVoicePrefix'][_0x2df3('0x53')]({'where':{'UserId':_0x2836b7,'VoicePrefixId':_0x11edfd[_0x2df3('0x6c')]}});});return Promise[_0x2df3('0x93')](_0x512029);}});});});}})['then'](respondWithStatusCode(_0x5a6671,null))[_0x2df3('0x43')](handleError(_0x5a6671,null));};exports[_0x2df3('0x97')]=function(_0x1e36be,_0x5a4136,_0x5f55fe){var _0x5dd7a3={};var _0x5131c3={};var _0x294051;var _0xca72c;return db['Team']['findOne']({'where':{'id':_0x1e36be[_0x2df3('0x45')]['id']}})[_0x2df3('0x26')](handleEntityNotFound(_0x5a4136,null))[_0x2df3('0x26')](function(_0x50e26d){if(_0x50e26d){_0x294051=_0x50e26d;_0x5131c3[_0x2df3('0x34')]=_[_0x2df3('0x73')](db['User'][_0x2df3('0x2d')]);_0x5131c3[_0x2df3('0x31')]=_[_0x2df3('0x73')](_0x1e36be[_0x2df3('0x31')]);_0x5131c3[_0x2df3('0x32')]=_[_0x2df3('0x33')](_0x5131c3[_0x2df3('0x34')],_0x5131c3[_0x2df3('0x31')]);_0x5dd7a3['attributes']=_['intersection'](_0x5131c3['model'],qs['fields'](_0x1e36be[_0x2df3('0x31')][_0x2df3('0x36')]));_0x5dd7a3[_0x2df3('0x35')]=_0x5dd7a3['attributes'][_0x2df3('0x37')]?_0x5dd7a3[_0x2df3('0x35')]:_0x5131c3[_0x2df3('0x34')];_0x5dd7a3[_0x2df3('0x3a')]=qs[_0x2df3('0x3b')](_0x1e36be[_0x2df3('0x31')][_0x2df3('0x3b')]);_0x5dd7a3[_0x2df3('0x3c')]=qs[_0x2df3('0x32')](_[_0x2df3('0x74')](_0x1e36be[_0x2df3('0x31')],_0x5131c3['filters']));if(_0x1e36be[_0x2df3('0x31')][_0x2df3('0x3e')]){_0x5dd7a3[_0x2df3('0x3c')]=_[_0x2df3('0x47')](_0x5dd7a3[_0x2df3('0x3c')],{'$or':_[_0x2df3('0x2b')](_0x5dd7a3['attributes'],function(_0x4b6b79){var _0x5bcd57={};_0x5bcd57[_0x4b6b79]={'$like':'%'+_0x1e36be['query'][_0x2df3('0x3e')]+'%'};return _0x5bcd57;})});}_0x5dd7a3=_[_0x2df3('0x47')]({},_0x5dd7a3,_0x1e36be[_0x2df3('0x3f')]);return _0x294051[_0x2df3('0x97')](_0x5dd7a3);}})[_0x2df3('0x26')](function(_0x315679){if(_0x315679){_0xca72c=_0x315679['length'];if(!_0x1e36be[_0x2df3('0x31')][_0x2df3('0x38')](_0x2df3('0x39'))){_0x5dd7a3['limit']=qs[_0x2df3('0x20')](_0x1e36be[_0x2df3('0x31')][_0x2df3('0x20')]);_0x5dd7a3[_0x2df3('0x1e')]=qs[_0x2df3('0x1e')](_0x1e36be[_0x2df3('0x31')][_0x2df3('0x1e')]);}return _0x294051[_0x2df3('0x97')](_0x5dd7a3);}})[_0x2df3('0x26')](function(_0x4c658e){if(_0x4c658e){return _0x4c658e?{'count':_0xca72c,'rows':_0x4c658e}:null;}})[_0x2df3('0x26')](respondWithResult(_0x5a4136,null))[_0x2df3('0x43')](handleError(_0x5a4136,null));};