777dc81025ea466338ba085401ca8e87a9578e06
[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 _0xce5c=['voicePause','interface','UserVoiceQueueRt','upsert','isNil','format','all','UserVoicePrefix','addAgents','spread','removeAgents','Whatsapp','Queue:remove','getAgents','hasOwnProperty','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./team.socket','register','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','json','apply','update','then','error','stack','name','send','map','Team','rawAttributes','key','model','query','filters','intersection','attributes','fields','length','sort','where','filter','merge','type','VIRTUAL','options','includeAll','rows','catch','show','params','keys','include','find','create','body','get','role','user','Teams','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','sequelize','QueryTypes','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','FaxQueueId','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','UserWhatsappQueue','TeamVoicePrefix','VoicePrefixId','getQueues','findOne','channel','isValidChannel','capitalize','order','pick','toLowerCase','Queues','ValidationError','Unknown\x20channel','add','ids','removeQueues','remove','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','transaction','penalty','QueueId','User','Queue','findOrCreate','emit','Queue:save','findAll'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0xce5c,0x1dd));var _0xcce5=function(_0x1e4360,_0x930b9b){_0x1e4360=_0x1e4360-0x0;var _0x31e6b4=_0xce5c[_0x1e4360];return _0x31e6b4;};'use strict';var emlformat=require(_0xcce5('0x0'));var rimraf=require(_0xcce5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcce5('0x2'));var rp=require(_0xcce5('0x3'));var moment=require(_0xcce5('0x4'));var BPromise=require(_0xcce5('0x5'));var Mustache=require(_0xcce5('0x6'));var util=require('util');var path=require(_0xcce5('0x7'));var sox=require('sox');var csv=require(_0xcce5('0x8'));var ejs=require(_0xcce5('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xcce5('0xa'));var crypto=require('crypto');var jsforce=require(_0xcce5('0xb'));var deskjs=require(_0xcce5('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xcce5('0xd'));var Redis=require(_0xcce5('0xe'));var authService=require(_0xcce5('0xf'));var qs=require(_0xcce5('0x10'));var as=require(_0xcce5('0x11'));var hardwareService=require(_0xcce5('0x12'));var logger=require(_0xcce5('0x13'))(_0xcce5('0x14'));var utils=require(_0xcce5('0x15'));var config=require(_0xcce5('0x16'));var licenseUtil=require(_0xcce5('0x17'));var db=require(_0xcce5('0x18'))['db'];config[_0xcce5('0x19')]=_[_0xcce5('0x1a')](config[_0xcce5('0x19')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xcce5('0x1b'))[_0xcce5('0x1c')](socket);function respondWithStatusCode(_0x4b0ec2,_0x4eade1){_0x4eade1=_0x4eade1||0xcc;return function(_0x2dc72b){if(_0x2dc72b){return _0x4b0ec2[_0xcce5('0x1d')](_0x4eade1);}return _0x4b0ec2[_0xcce5('0x1e')](_0x4eade1)[_0xcce5('0x1f')]();};}function respondWithResult(_0x46947a,_0x190afa){_0x190afa=_0x190afa||0xc8;return function(_0x3a058a){if(_0x3a058a){return _0x46947a[_0xcce5('0x1e')](_0x190afa)['json'](_0x3a058a);}};}function respondWithFilteredResult(_0x1addbf,_0x14cfc){return function(_0x24da43){if(_0x24da43){var _0x106ab6=typeof _0x14cfc[_0xcce5('0x20')]===_0xcce5('0x21')&&typeof _0x14cfc['limit']===_0xcce5('0x21');var _0x1b7bed=_0x24da43[_0xcce5('0x22')];var _0x1ff480=_0x106ab6?0x0:_0x14cfc[_0xcce5('0x20')];var _0x199d10=_0x106ab6?_0x24da43['count']:_0x14cfc[_0xcce5('0x20')]+_0x14cfc[_0xcce5('0x23')];var _0x364d19;if(_0x199d10>=_0x1b7bed){_0x199d10=_0x1b7bed;_0x364d19=0xc8;}else{_0x364d19=0xce;}_0x1addbf[_0xcce5('0x1e')](_0x364d19);return _0x1addbf[_0xcce5('0x24')](_0xcce5('0x25'),_0x1ff480+'-'+_0x199d10+'/'+_0x1b7bed)[_0xcce5('0x26')](_0x24da43);}return null;};}function patchUpdates(_0x9b65f2){return function(_0x723290){try{jsonpatch[_0xcce5('0x27')](_0x723290,_0x9b65f2,!![]);}catch(_0x5d51c7){return BPromise['reject'](_0x5d51c7);}return _0x723290['save']();};}function saveUpdates(_0x2e9443,_0x2c7e1c){return function(_0x168a21){if(_0x168a21){return _0x168a21[_0xcce5('0x28')](_0x2e9443)[_0xcce5('0x29')](function(_0x288aa1){return _0x288aa1;});}return null;};}function handleEntityNotFound(_0x368543,_0x4de71a){return function(_0x5d6b1c){if(!_0x5d6b1c){_0x368543['sendStatus'](0x194);}return _0x5d6b1c;};}function handleError(_0x53a5aa,_0x30bd2a){_0x30bd2a=_0x30bd2a||0x1f4;return function(_0x13cc90){logger[_0xcce5('0x2a')](_0x13cc90[_0xcce5('0x2b')]);if(_0x13cc90['name']){delete _0x13cc90[_0xcce5('0x2c')];}_0x53a5aa[_0xcce5('0x1e')](_0x30bd2a)[_0xcce5('0x2d')](_0x13cc90);};}exports['index']=function(_0x100ada,_0x36c059){var _0x44238e={},_0x512b0b={},_0xd53689={'count':0x0,'rows':[]};var _0xee9ff=_[_0xcce5('0x2e')](db[_0xcce5('0x2f')][_0xcce5('0x30')],function(_0x4ebae1){return{'name':_0x4ebae1['fieldName'],'type':_0x4ebae1['type'][_0xcce5('0x31')]};});_0x512b0b[_0xcce5('0x32')]=_[_0xcce5('0x2e')](_0xee9ff,_0xcce5('0x2c'));_0x512b0b[_0xcce5('0x33')]=_['keys'](_0x100ada['query']);_0x512b0b[_0xcce5('0x34')]=_[_0xcce5('0x35')](_0x512b0b['model'],_0x512b0b[_0xcce5('0x33')]);_0x44238e[_0xcce5('0x36')]=_[_0xcce5('0x35')](_0x512b0b[_0xcce5('0x32')],qs[_0xcce5('0x37')](_0x100ada[_0xcce5('0x33')][_0xcce5('0x37')]));_0x44238e[_0xcce5('0x36')]=_0x44238e['attributes'][_0xcce5('0x38')]?_0x44238e[_0xcce5('0x36')]:_0x512b0b[_0xcce5('0x32')];if(!_0x100ada['query']['hasOwnProperty']('nolimit')){_0x44238e[_0xcce5('0x23')]=qs[_0xcce5('0x23')](_0x100ada[_0xcce5('0x33')]['limit']);_0x44238e[_0xcce5('0x20')]=qs[_0xcce5('0x20')](_0x100ada['query']['offset']);}_0x44238e['order']=qs[_0xcce5('0x39')](_0x100ada[_0xcce5('0x33')][_0xcce5('0x39')]);_0x44238e[_0xcce5('0x3a')]=qs[_0xcce5('0x34')](_['pick'](_0x100ada['query'],_0x512b0b[_0xcce5('0x34')]),_0xee9ff);if(_0x100ada[_0xcce5('0x33')][_0xcce5('0x3b')]){_0x44238e['where']=_[_0xcce5('0x3c')](_0x44238e['where'],{'$or':_['map'](_0xee9ff,function(_0x13bf7b){if(_0x13bf7b[_0xcce5('0x3d')]!==_0xcce5('0x3e')){var _0xa5a949={};_0xa5a949[_0x13bf7b['name']]={'$like':'%'+_0x100ada[_0xcce5('0x33')][_0xcce5('0x3b')]+'%'};return _0xa5a949;}})});}_0x44238e=_['merge']({},_0x44238e,_0x100ada[_0xcce5('0x3f')]);var _0x91697d={'where':_0x44238e[_0xcce5('0x3a')]};return db[_0xcce5('0x2f')][_0xcce5('0x22')](_0x91697d)[_0xcce5('0x29')](function(_0x5a1e48){_0xd53689[_0xcce5('0x22')]=_0x5a1e48;if(_0x100ada['query'][_0xcce5('0x40')]){_0x44238e['include']=[{'all':!![]}];}return db[_0xcce5('0x2f')]['findAll'](_0x44238e);})['then'](function(_0x23d1d5){_0xd53689[_0xcce5('0x41')]=_0x23d1d5;return _0xd53689;})['then'](respondWithFilteredResult(_0x36c059,_0x44238e))[_0xcce5('0x42')](handleError(_0x36c059,null));};exports[_0xcce5('0x43')]=function(_0x371ae3,_0x3e6b45){var _0x3288d9={'raw':![],'where':{'id':_0x371ae3[_0xcce5('0x44')]['id']}},_0x1d905e={};_0x1d905e[_0xcce5('0x32')]=_[_0xcce5('0x45')](db[_0xcce5('0x2f')][_0xcce5('0x30')]);_0x1d905e[_0xcce5('0x33')]=_[_0xcce5('0x45')](_0x371ae3[_0xcce5('0x33')]);_0x1d905e['filters']=_[_0xcce5('0x35')](_0x1d905e[_0xcce5('0x32')],_0x1d905e[_0xcce5('0x33')]);_0x3288d9['attributes']=_[_0xcce5('0x35')](_0x1d905e[_0xcce5('0x32')],qs[_0xcce5('0x37')](_0x371ae3[_0xcce5('0x33')][_0xcce5('0x37')]));_0x3288d9[_0xcce5('0x36')]=_0x3288d9['attributes']['length']?_0x3288d9['attributes']:_0x1d905e['model'];if(_0x371ae3[_0xcce5('0x33')][_0xcce5('0x40')]){_0x3288d9[_0xcce5('0x46')]=[{'all':!![]}];}_0x3288d9=_[_0xcce5('0x3c')]({},_0x3288d9,_0x371ae3[_0xcce5('0x3f')]);return db[_0xcce5('0x2f')][_0xcce5('0x47')](_0x3288d9)[_0xcce5('0x29')](handleEntityNotFound(_0x3e6b45,null))[_0xcce5('0x29')](respondWithResult(_0x3e6b45,null))[_0xcce5('0x42')](handleError(_0x3e6b45,null));};exports[_0xcce5('0x48')]=function(_0x4b0fb8,_0x3d08c4){return db['Team'][_0xcce5('0x48')](_0x4b0fb8[_0xcce5('0x49')],{})[_0xcce5('0x29')](function(_0x1448b4){var _0x27c888=_0x4b0fb8['user'][_0xcce5('0x4a')]({'plain':!![]});if(!_0x27c888)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x27c888[_0xcce5('0x4b')]===_0xcce5('0x4c')){var _0x5357d9=_0x1448b4['get']({'plain':!![]});var _0x44a7ca=_0xcce5('0x4d');return db[_0xcce5('0x4e')][_0xcce5('0x47')]({'where':{'name':_0x44a7ca,'userProfileId':_0x27c888[_0xcce5('0x4f')]},'raw':!![]})[_0xcce5('0x29')](function(_0xc1c29f){if(_0xc1c29f&&_0xc1c29f[_0xcce5('0x50')]===0x0){return db[_0xcce5('0x51')][_0xcce5('0x48')]({'name':_0x5357d9[_0xcce5('0x2c')],'resourceId':_0x5357d9['id'],'type':_0xc1c29f['name'],'sectionId':_0xc1c29f['id']},{})['then'](function(){return _0x1448b4;});}else{return _0x1448b4;}})['catch'](function(_0x3f2b02){logger[_0xcce5('0x2a')](_0xcce5('0x52'),_0x3f2b02);throw _0x3f2b02;});}return _0x1448b4;})[_0xcce5('0x29')](respondWithResult(_0x3d08c4,0xc9))[_0xcce5('0x42')](handleError(_0x3d08c4,null));};exports['update']=function(_0x2627d5,_0x36d253){if(_0x2627d5[_0xcce5('0x49')]['id']){delete _0x2627d5[_0xcce5('0x49')]['id'];}return db[_0xcce5('0x2f')][_0xcce5('0x47')]({'where':{'id':_0x2627d5[_0xcce5('0x44')]['id']}})['then'](handleEntityNotFound(_0x36d253,null))[_0xcce5('0x29')](saveUpdates(_0x2627d5[_0xcce5('0x49')],null))[_0xcce5('0x29')](respondWithResult(_0x36d253,null))[_0xcce5('0x42')](handleError(_0x36d253,null));};exports[_0xcce5('0x53')]=function(_0x1b2e64,_0x5a9346){var _0xdf2935=_0x1b2e64['params']['id'];var _0x9745aa=[];return db['sequelize']['transaction'](function(_0x28fad8){var _0x3831f8=_0xcce5('0x54')+_0xdf2935;return db['sequelize'][_0xcce5('0x33')](_0x3831f8,{'type':db[_0xcce5('0x55')]['QueryTypes'][_0xcce5('0x56')],'raw':!![],'transaction':_0x28fad8})[_0xcce5('0x29')](function(_0x468260){_0x9745aa=_[_0xcce5('0x2e')](_0x468260,function(_0x2bafad){return Number(_0x2bafad[_0xcce5('0x57')]);});})['then'](function(){var _0xf6c32c=_0xcce5('0x58')+_0xdf2935;return db[_0xcce5('0x59')][_0xcce5('0x33')](_0xf6c32c,{'type':db[_0xcce5('0x55')][_0xcce5('0x5a')]['SELECT'],'raw':!![],'transaction':_0x28fad8});})['then'](function(_0x11f551){var _0xf8c818=_[_0xcce5('0x2e')](_0x11f551,function(_0x3fb454){return Number(_0x3fb454[_0xcce5('0x5b')]);});return db[_0xcce5('0x5c')][_0xcce5('0x53')]({'where':{'UserId':{'$in':_0x9745aa},'VoiceQueueId':{'$in':_0xf8c818}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){var _0x29279b=_0xcce5('0x5d')+_0xdf2935;return db[_0xcce5('0x59')][_0xcce5('0x33')](_0x29279b,{'type':db[_0xcce5('0x55')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x28fad8});})[_0xcce5('0x29')](function(_0x478059){var _0x5437bb=_[_0xcce5('0x2e')](_0x478059,function(_0x1a4f34){return Number(_0x1a4f34[_0xcce5('0x5e')]);});return db[_0xcce5('0x5f')][_0xcce5('0x53')]({'where':{'UserId':{'$in':_0x9745aa},'MailQueueId':{'$in':_0x5437bb}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){var _0x59da6c=_0xcce5('0x60')+_0xdf2935;return db[_0xcce5('0x59')][_0xcce5('0x33')](_0x59da6c,{'type':db[_0xcce5('0x55')]['QueryTypes'][_0xcce5('0x56')],'raw':!![],'transaction':_0x28fad8});})['then'](function(_0x5035db){var _0x3890e4=_[_0xcce5('0x2e')](_0x5035db,function(_0xb5b6c5){return Number(_0xb5b6c5[_0xcce5('0x61')]);});return db['UserSmsQueue']['destroy']({'where':{'UserId':{'$in':_0x9745aa},'SmsQueueId':{'$in':_0x3890e4}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){var _0x1aae14=_0xcce5('0x62')+_0xdf2935;return db[_0xcce5('0x59')][_0xcce5('0x33')](_0x1aae14,{'type':db[_0xcce5('0x55')][_0xcce5('0x5a')][_0xcce5('0x56')],'raw':!![],'transaction':_0x28fad8});})['then'](function(_0x303392){var _0x13e916=_['map'](_0x303392,function(_0x69c202){return Number(_0x69c202[_0xcce5('0x63')]);});return db[_0xcce5('0x64')][_0xcce5('0x53')]({'where':{'UserId':{'$in':_0x9745aa},'ChatQueueId':{'$in':_0x13e916}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){var _0xc66ab7='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0xdf2935;return db[_0xcce5('0x59')][_0xcce5('0x33')](_0xc66ab7,{'type':db[_0xcce5('0x55')][_0xcce5('0x5a')][_0xcce5('0x56')],'raw':!![],'transaction':_0x28fad8});})[_0xcce5('0x29')](function(_0x411601){var _0x2e9462=_[_0xcce5('0x2e')](_0x411601,function(_0x3a14dd){return Number(_0x3a14dd[_0xcce5('0x65')]);});return db[_0xcce5('0x66')][_0xcce5('0x53')]({'where':{'UserId':{'$in':_0x9745aa},'FaxQueueId':{'$in':_0x2e9462}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){var _0x54625b=_0xcce5('0x67')+_0xdf2935;return db[_0xcce5('0x59')]['query'](_0x54625b,{'type':db[_0xcce5('0x55')][_0xcce5('0x5a')][_0xcce5('0x56')],'raw':!![],'transaction':_0x28fad8});})[_0xcce5('0x29')](function(_0x5009f8){var _0x57760f=_['map'](_0x5009f8,function(_0x391415){return Number(_0x391415['OpenchannelQueueId']);});return db['UserOpenchannelQueue']['destroy']({'where':{'UserId':{'$in':_0x9745aa},'OpenchannelQueueId':{'$in':_0x57760f}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){var _0x3fddfe=_0xcce5('0x68')+_0xdf2935;return db[_0xcce5('0x59')][_0xcce5('0x33')](_0x3fddfe,{'type':db['Sequelize']['QueryTypes'][_0xcce5('0x56')],'raw':!![],'transaction':_0x28fad8});})['then'](function(_0x2230e5){var _0x5ee15c=_[_0xcce5('0x2e')](_0x2230e5,function(_0x10f651){return Number(_0x10f651['WhatsappQueueId']);});return db[_0xcce5('0x69')][_0xcce5('0x53')]({'where':{'UserId':{'$in':_0x9745aa},'WhatsappQueueId':{'$in':_0x5ee15c}},'transaction':_0x28fad8});})[_0xcce5('0x29')](function(){return db[_0xcce5('0x6a')][_0xcce5('0x47')]({'where':{'TeamId':_0xdf2935}});})[_0xcce5('0x29')](function(_0xf49cbd){if(_0xf49cbd===null){return;}return db['UserVoicePrefix']['destroy']({'where':{'UserId':{'$in':_0x9745aa},'VoicePrefixId':_0xf49cbd[_0xcce5('0x6b')]},'transaction':_0x28fad8});})['then'](function(){return db[_0xcce5('0x2f')][_0xcce5('0x53')]({'where':{'id':_0xdf2935},'cascade':!![],'transaction':_0x28fad8});})[_0xcce5('0x29')](function(_0x476935){if(_0x476935===0x0){_0x5a9346[_0xcce5('0x1d')](0x194);}else{return db['UserProfileResource'][_0xcce5('0x53')]({'where':{'type':_0xcce5('0x4d'),'resourceId':_0xdf2935},'cascade':!![],'transaction':_0x28fad8})[_0xcce5('0x29')](function(){_0x5a9346['status'](0xcc)[_0xcce5('0x1f')]();});}})['catch'](function(_0x5a0ea0){_0x5a9346[_0xcce5('0x1e')](0x1f4)[_0xcce5('0x2d')](_0x5a0ea0);});});};exports[_0xcce5('0x6c')]=function(_0x1dbfe7,_0x19e3ad,_0x177803){return db[_0xcce5('0x2f')][_0xcce5('0x6d')]({'where':{'id':_0x1dbfe7[_0xcce5('0x44')]['id']}})[_0xcce5('0x29')](handleEntityNotFound(_0x19e3ad,null))['then'](function(_0x17a8d7){if(!_0x1dbfe7['query'][_0xcce5('0x6e')]||!utils[_0xcce5('0x6f')](_0x1dbfe7[_0xcce5('0x33')][_0xcce5('0x6e')])){throw new db[(_0xcce5('0x55'))]['ValidationError']('Unknown\x20channel');}var _0x47b4d2={};var _0x123143={};_0x123143[_0xcce5('0x32')]=_[_0xcce5('0x45')](db[_[_0xcce5('0x70')](_0x1dbfe7[_0xcce5('0x33')][_0xcce5('0x6e')]['toLowerCase']())+'Queue'][_0xcce5('0x30')]);_0x123143[_0xcce5('0x33')]=_[_0xcce5('0x45')](_0x1dbfe7[_0xcce5('0x33')]);_0x123143[_0xcce5('0x34')]=_['intersection'](_0x123143['model'],_0x123143[_0xcce5('0x33')]);_0x47b4d2[_0xcce5('0x36')]=_['intersection'](_0x123143[_0xcce5('0x32')],qs['fields'](_0x1dbfe7['query']['fields']));_0x47b4d2[_0xcce5('0x36')]=_0x47b4d2[_0xcce5('0x36')][_0xcce5('0x38')]?_0x47b4d2[_0xcce5('0x36')]:_0x123143[_0xcce5('0x32')];_0x47b4d2['limit']=qs[_0xcce5('0x23')](_0x1dbfe7['query'][_0xcce5('0x23')]);_0x47b4d2[_0xcce5('0x20')]=qs['offset'](_0x1dbfe7[_0xcce5('0x33')][_0xcce5('0x20')]);_0x47b4d2[_0xcce5('0x71')]=qs[_0xcce5('0x39')](_0x1dbfe7[_0xcce5('0x33')]['sort']);_0x47b4d2[_0xcce5('0x3a')]=qs[_0xcce5('0x34')](_[_0xcce5('0x72')](_0x1dbfe7[_0xcce5('0x33')],_0x123143[_0xcce5('0x34')]));_0x47b4d2=_[_0xcce5('0x3c')]({},_0x47b4d2,_0x1dbfe7[_0xcce5('0x3f')]);return _0x17a8d7[_0xcce5('0x4a')+_['capitalize'](_0x1dbfe7[_0xcce5('0x33')][_0xcce5('0x6e')][_0xcce5('0x73')]())+_0xcce5('0x74')](_0x47b4d2);})[_0xcce5('0x29')](respondWithResult(_0x19e3ad,null))[_0xcce5('0x42')](handleError(_0x19e3ad,null));};exports['addQueues']=function(_0x5a3ce5,_0x3cc9f3,_0x21cef4){return db[_0xcce5('0x2f')][_0xcce5('0x6d')]({'where':{'id':_0x5a3ce5[_0xcce5('0x44')]['id']}})[_0xcce5('0x29')](function(_0x433271){if(_0x433271){if(!_0x5a3ce5[_0xcce5('0x49')]['channel']||!utils[_0xcce5('0x6f')](_0x5a3ce5[_0xcce5('0x49')]['channel'])){throw new db[(_0xcce5('0x55'))][(_0xcce5('0x75'))](_0xcce5('0x76'));}return _0x433271[_0xcce5('0x77')+_[_0xcce5('0x70')](_0x5a3ce5[_0xcce5('0x49')][_0xcce5('0x6e')][_0xcce5('0x73')]())+'Queues'](_0x5a3ce5['body'][_0xcce5('0x78')]);}return null;})['then'](handleEntityNotFound(_0x3cc9f3,null))[_0xcce5('0x29')](respondWithStatusCode(_0x3cc9f3,null))['catch'](handleError(_0x3cc9f3,null));};exports[_0xcce5('0x79')]=function(_0x1d1bcb,_0x5c47ef,_0x1ffd56){return db['Team'][_0xcce5('0x6d')]({'where':{'id':_0x1d1bcb[_0xcce5('0x44')]['id']}})['then'](function(_0x279114){if(_0x279114){if(!_0x1d1bcb[_0xcce5('0x33')][_0xcce5('0x6e')]||!utils[_0xcce5('0x6f')](_0x1d1bcb[_0xcce5('0x33')][_0xcce5('0x6e')])){throw new db[(_0xcce5('0x55'))]['ValidationError'](_0xcce5('0x76'));}return _0x279114[_0xcce5('0x7a')+_['capitalize'](_0x1d1bcb[_0xcce5('0x33')][_0xcce5('0x6e')][_0xcce5('0x73')]())+_0xcce5('0x74')](_0x1d1bcb[_0xcce5('0x33')][_0xcce5('0x78')]);}return null;})[_0xcce5('0x29')](handleEntityNotFound(_0x5c47ef,null))['then'](respondWithStatusCode(_0x5c47ef,null))[_0xcce5('0x42')](handleError(_0x5c47ef,null));};exports['addAgents']=function(_0x46de45,_0x3f506f){var _0xe1e4ff=_[_0xcce5('0x7b')](_0x46de45[_0xcce5('0x49')][_0xcce5('0x78')])?_0x46de45[_0xcce5('0x49')][_0xcce5('0x78')]:[_0x46de45[_0xcce5('0x49')][_0xcce5('0x78')]];var _0xfcb7c3=_0x46de45[_0xcce5('0x44')]['id'];return db[_0xcce5('0x2f')][_0xcce5('0x47')]({'where':{'id':_0xfcb7c3}})[_0xcce5('0x29')](handleEntityNotFound(_0x3f506f,null))[_0xcce5('0x29')](function(_0x4ae290){if(_0x4ae290){var _0x4fcdb0=[_0xcce5('0x7c'),_0xcce5('0x7d'),_0xcce5('0x7e'),_0xcce5('0x7f'),_0xcce5('0x80'),_0xcce5('0x81'),'Whatsapp'];return db[_0xcce5('0x59')][_0xcce5('0x82')](function(_0x1d1422){var _0x325e19=_['map'](_0x4fcdb0,function(_0x24267e){var _0x134256={'attributes':['id',_0xcce5('0x2c')]};if(_0x24267e===_0xcce5('0x7c')){_0x134256['through']={'attributes':[_0xcce5('0x83')]};}return _0x4ae290[_0xcce5('0x4a')+_0x24267e+_0xcce5('0x74')](_0x134256)[_0xcce5('0x29')](function(_0x2408d7){var _0x14f735=_['map'](_0x2408d7,function(_0x53d2df){var _0x282635=_[_0xcce5('0x2e')](_0xe1e4ff,function(_0x12ad21){var _0x5da2d0={'where':{'UserId':_0x12ad21,[_0x24267e+_0xcce5('0x84')]:_0x53d2df['id']},'transaction':_0x1d1422};if(_0x24267e==='Voice'){_0x5da2d0[_0xcce5('0x1a')]={'penalty':_0x53d2df['TeamVoiceQueue'][_0xcce5('0x83')]};}return db[_0xcce5('0x85')+_0x24267e+_0xcce5('0x86')][_0xcce5('0x87')](_0x5da2d0)[_0xcce5('0x29')](function(){socket[_0xcce5('0x88')](_0xcce5('0x4c')+_0x24267e+_0xcce5('0x89'),{'UserId':_0x12ad21,[_0x24267e+_0xcce5('0x84')]:_0x53d2df['id']});if(_0x24267e!=='Voice'){return;}return db['User'][_0xcce5('0x8a')]({'where':{'id':_0xe1e4ff,'online':0x1},'attributes':['id','name','online',_0xcce5('0x8b'),_0xcce5('0x8c')],'raw':!![]})['then'](function(_0x4994c0){var _0x1b843e=_[_0xcce5('0x2e')](_0x4994c0,function(_0x845a38){return db[_0xcce5('0x8d')][_0xcce5('0x8e')]({'membername':_0x845a38[_0xcce5('0x2c')],'UserId':_0x845a38['id'],'queue_name':_0x53d2df[_0xcce5('0x2c')],'VoiceQueueId':_0x53d2df['id'],'interface':_[_0xcce5('0x8f')](_0x845a38[_0xcce5('0x8c')])?util[_0xcce5('0x90')]('SIP/%s',_0x845a38['name']):_0x845a38['interface'],'paused':_0x845a38[_0xcce5('0x8b')]||![],'penalty':_0x53d2df['TeamVoiceQueue'][_0xcce5('0x83')]},{'transaction':_0x1d1422});});return Promise[_0xcce5('0x91')](_0x1b843e);});});});return Promise[_0xcce5('0x91')](_0x282635);});return Promise['all'](_0x14f735);})[_0xcce5('0x29')](function(){return db['TeamVoicePrefix'][_0xcce5('0x6d')]({'where':{'teamId':_0xfcb7c3}})[_0xcce5('0x29')](function(_0x23abaa){if(_0x23abaa){var _0x24c129=_[_0xcce5('0x2e')](_0xe1e4ff,function(_0x225793){db[_0xcce5('0x92')][_0xcce5('0x8e')]({'UserId':_0x225793,'VoicePrefixId':_0x23abaa['VoicePrefixId']});});return Promise['all'](_0x24c129);}});});});return Promise[_0xcce5('0x91')](_0x325e19)[_0xcce5('0x29')](function(){return _0x4ae290[_0xcce5('0x93')](_0xe1e4ff,{'transaction':_0x1d1422})[_0xcce5('0x94')](function(_0x29e40c){return _0x29e40c;});});});}})[_0xcce5('0x29')](respondWithResult(_0x3f506f,null))[_0xcce5('0x42')](handleError(_0x3f506f,null));};exports[_0xcce5('0x95')]=function(_0x5e09f5,_0xcf6c8a){var _0x29eae4=_[_0xcce5('0x7b')](_0x5e09f5[_0xcce5('0x33')]['ids'])?_0x5e09f5[_0xcce5('0x33')][_0xcce5('0x78')]:[_0x5e09f5[_0xcce5('0x33')][_0xcce5('0x78')]];var _0x50c4aa=_0x5e09f5['params']['id'];return db['Team']['find']({'where':{'id':_0x50c4aa}})[_0xcce5('0x29')](handleEntityNotFound(_0xcf6c8a,null))[_0xcce5('0x29')](function(_0x4c0cf9){if(_0x4c0cf9){var _0x383c7c=[_0xcce5('0x7c'),_0xcce5('0x7d'),'Mail','Sms',_0xcce5('0x80'),'Openchannel',_0xcce5('0x96')];return db[_0xcce5('0x59')][_0xcce5('0x82')](function(_0x2e08ac){var _0x2ad8c5=_[_0xcce5('0x2e')](_0x383c7c,function(_0x193be2){var _0x23a3bf={'attributes':['id','name']};return _0x4c0cf9['get'+_0x193be2+_0xcce5('0x74')](_0x23a3bf)[_0xcce5('0x29')](function(_0x30931d){var _0x25a04c=_[_0xcce5('0x2e')](_0x30931d,function(_0x251e1c){return _0x251e1c['removeAgents'](_0x29eae4,{'transaction':_0x2e08ac})[_0xcce5('0x29')](function(){var _0x14e093=_['map'](_0x29eae4,function(_0x23ce13){socket[_0xcce5('0x88')](_0xcce5('0x4c')+_0x193be2+_0xcce5('0x97'),{'UserId':Number(_0x23ce13),[_0x193be2+_0xcce5('0x84')]:_0x251e1c['id']});if(_0x193be2!=='Voice'){return;}return db[_0xcce5('0x8d')]['destroy']({'where':{'VoiceQueueId':_0x251e1c['id'],'UserId':_0x23ce13},'transaction':_0x2e08ac});});return Promise[_0xcce5('0x91')](_0x14e093);});});return Promise['all'](_0x25a04c);});});return Promise[_0xcce5('0x91')](_0x2ad8c5)[_0xcce5('0x29')](function(){return _0x4c0cf9['removeAgents'](_0x29eae4,{'transaction':_0x2e08ac});})[_0xcce5('0x29')](function(){return db['TeamVoicePrefix']['findOne']({'where':{'teamId':_0x50c4aa}})[_0xcce5('0x29')](function(_0x278b6e){if(_0x278b6e){var _0x14101b=_[_0xcce5('0x2e')](_0x29eae4,function(_0x415ae6){db[_0xcce5('0x92')][_0xcce5('0x53')]({'where':{'UserId':_0x415ae6,'VoicePrefixId':_0x278b6e[_0xcce5('0x6b')]}});});return Promise[_0xcce5('0x91')](_0x14101b);}});});});}})[_0xcce5('0x29')](respondWithStatusCode(_0xcf6c8a,null))[_0xcce5('0x42')](handleError(_0xcf6c8a,null));};exports[_0xcce5('0x98')]=function(_0x306713,_0x2640a8,_0x31f2c1){var _0x4fc6ea={};var _0x3f1a39={};var _0x2b5273;var _0x164902;return db[_0xcce5('0x2f')][_0xcce5('0x6d')]({'where':{'id':_0x306713['params']['id']}})['then'](handleEntityNotFound(_0x2640a8,null))[_0xcce5('0x29')](function(_0x556d00){if(_0x556d00){_0x2b5273=_0x556d00;_0x3f1a39[_0xcce5('0x32')]=_['keys'](db[_0xcce5('0x85')][_0xcce5('0x30')]);_0x3f1a39[_0xcce5('0x33')]=_['keys'](_0x306713['query']);_0x3f1a39['filters']=_[_0xcce5('0x35')](_0x3f1a39['model'],_0x3f1a39[_0xcce5('0x33')]);_0x4fc6ea[_0xcce5('0x36')]=_[_0xcce5('0x35')](_0x3f1a39['model'],qs[_0xcce5('0x37')](_0x306713['query'][_0xcce5('0x37')]));_0x4fc6ea['attributes']=_0x4fc6ea[_0xcce5('0x36')][_0xcce5('0x38')]?_0x4fc6ea[_0xcce5('0x36')]:_0x3f1a39['model'];_0x4fc6ea[_0xcce5('0x71')]=qs[_0xcce5('0x39')](_0x306713['query']['sort']);_0x4fc6ea[_0xcce5('0x3a')]=qs[_0xcce5('0x34')](_[_0xcce5('0x72')](_0x306713['query'],_0x3f1a39['filters']));if(_0x306713[_0xcce5('0x33')][_0xcce5('0x3b')]){_0x4fc6ea[_0xcce5('0x3a')]=_['merge'](_0x4fc6ea[_0xcce5('0x3a')],{'$or':_[_0xcce5('0x2e')](_0x4fc6ea[_0xcce5('0x36')],function(_0x3b0cff){var _0x16f11d={};_0x16f11d[_0x3b0cff]={'$like':'%'+_0x306713[_0xcce5('0x33')]['filter']+'%'};return _0x16f11d;})});}_0x4fc6ea=_[_0xcce5('0x3c')]({},_0x4fc6ea,_0x306713[_0xcce5('0x3f')]);return _0x2b5273[_0xcce5('0x98')](_0x4fc6ea);}})[_0xcce5('0x29')](function(_0x8b0be9){if(_0x8b0be9){_0x164902=_0x8b0be9[_0xcce5('0x38')];if(!_0x306713[_0xcce5('0x33')][_0xcce5('0x99')]('nolimit')){_0x4fc6ea[_0xcce5('0x23')]=qs['limit'](_0x306713[_0xcce5('0x33')][_0xcce5('0x23')]);_0x4fc6ea[_0xcce5('0x20')]=qs[_0xcce5('0x20')](_0x306713[_0xcce5('0x33')]['offset']);}return _0x2b5273[_0xcce5('0x98')](_0x4fc6ea);}})[_0xcce5('0x29')](function(_0x53e36a){if(_0x53e36a){return _0x53e36a?{'count':_0x164902,'rows':_0x53e36a}:null;}})[_0xcce5('0x29')](respondWithResult(_0x2640a8,null))[_0xcce5('0x42')](handleError(_0x2640a8,null));};