Built motion from commit 15aa0e42.|2.6.19
[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 _0x3db8=['filter','merge','VIRTUAL','options','includeAll','rows','show','rawAttributes','include','find','catch','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','destroy','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','UserVoiceQueue','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','FaxQueueId','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','UserProfileResource','Teams','getQueues','findOne','channel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','addQueues','isValidChannel','ids','removeQueues','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','through','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','emit','Queue:save','findAll','voicePause','UserVoiceQueueRt','upsert','isNil','interface','format','all','spread','Openchannel','Whatsapp','Queue:remove','removeAgents','getAgents','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','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','defaults','localhost','socket.io-emitter','./team.socket','register','sendStatus','status','end','offset','limit','undefined','count','set','Content-Range','json','apply','reject','save','then','error','stack','name','send','index','map','Team','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick'];(function(_0x8550ba,_0x57c10d){var _0x432399=function(_0x33ab8a){while(--_0x33ab8a){_0x8550ba['push'](_0x8550ba['shift']());}};_0x432399(++_0x57c10d);}(_0x3db8,0xff));var _0x83db=function(_0x17be8a,_0xc4f89b){_0x17be8a=_0x17be8a-0x0;var _0x3ef88f=_0x3db8[_0x17be8a];return _0x3ef88f;};'use strict';var emlformat=require(_0x83db('0x0'));var rimraf=require(_0x83db('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x83db('0x2'));var rp=require('request-promise');var moment=require(_0x83db('0x3'));var BPromise=require(_0x83db('0x4'));var Mustache=require(_0x83db('0x5'));var util=require('util');var path=require('path');var sox=require(_0x83db('0x6'));var csv=require(_0x83db('0x7'));var ejs=require(_0x83db('0x8'));var fs=require('fs');var fs_extra=require(_0x83db('0x9'));var _=require(_0x83db('0xa'));var squel=require('squel');var crypto=require(_0x83db('0xb'));var jsforce=require(_0x83db('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x83db('0x7'));var querystring=require(_0x83db('0xd'));var Papa=require(_0x83db('0xe'));var Redis=require(_0x83db('0xf'));var authService=require(_0x83db('0x10'));var qs=require(_0x83db('0x11'));var as=require(_0x83db('0x12'));var hardwareService=require(_0x83db('0x13'));var logger=require(_0x83db('0x14'))(_0x83db('0x15'));var utils=require(_0x83db('0x16'));var config=require(_0x83db('0x17'));var licenseUtil=require(_0x83db('0x18'));var db=require(_0x83db('0x19'))['db'];config['redis']=_[_0x83db('0x1a')](config['redis'],{'host':_0x83db('0x1b'),'port':0x18eb});var socket=require(_0x83db('0x1c'))(new Redis(config['redis']));require(_0x83db('0x1d'))[_0x83db('0x1e')](socket);function respondWithStatusCode(_0x47111,_0x5e6530){_0x5e6530=_0x5e6530||0xcc;return function(_0x3c7179){if(_0x3c7179){return _0x47111[_0x83db('0x1f')](_0x5e6530);}return _0x47111[_0x83db('0x20')](_0x5e6530)[_0x83db('0x21')]();};}function respondWithResult(_0x2c39da,_0x5b23e5){_0x5b23e5=_0x5b23e5||0xc8;return function(_0x5e1979){if(_0x5e1979){return _0x2c39da[_0x83db('0x20')](_0x5b23e5)['json'](_0x5e1979);}};}function respondWithFilteredResult(_0x13badc,_0x38badb){return function(_0x1be912){if(_0x1be912){var _0x2e302d=typeof _0x38badb[_0x83db('0x22')]==='undefined'&&typeof _0x38badb[_0x83db('0x23')]===_0x83db('0x24');var _0x482805=_0x1be912[_0x83db('0x25')];var _0x14ffb0=_0x2e302d?0x0:_0x38badb[_0x83db('0x22')];var _0x38ad9d=_0x2e302d?_0x1be912[_0x83db('0x25')]:_0x38badb[_0x83db('0x22')]+_0x38badb[_0x83db('0x23')];var _0x45dad9;if(_0x38ad9d>=_0x482805){_0x38ad9d=_0x482805;_0x45dad9=0xc8;}else{_0x45dad9=0xce;}_0x13badc[_0x83db('0x20')](_0x45dad9);return _0x13badc[_0x83db('0x26')](_0x83db('0x27'),_0x14ffb0+'-'+_0x38ad9d+'/'+_0x482805)[_0x83db('0x28')](_0x1be912);}return null;};}function patchUpdates(_0x2419f7){return function(_0x279402){try{jsonpatch[_0x83db('0x29')](_0x279402,_0x2419f7,!![]);}catch(_0x569f4d){return BPromise[_0x83db('0x2a')](_0x569f4d);}return _0x279402[_0x83db('0x2b')]();};}function saveUpdates(_0x1a66c1,_0x5537d8){return function(_0x16cab9){if(_0x16cab9){return _0x16cab9['update'](_0x1a66c1)[_0x83db('0x2c')](function(_0x578213){return _0x578213;});}return null;};}function handleEntityNotFound(_0x2d6a93,_0xe20dee){return function(_0x346111){if(!_0x346111){_0x2d6a93[_0x83db('0x1f')](0x194);}return _0x346111;};}function handleError(_0x3796ee,_0x215cdd){_0x215cdd=_0x215cdd||0x1f4;return function(_0x29a7f2){logger[_0x83db('0x2d')](_0x29a7f2[_0x83db('0x2e')]);if(_0x29a7f2[_0x83db('0x2f')]){delete _0x29a7f2[_0x83db('0x2f')];}_0x3796ee['status'](_0x215cdd)[_0x83db('0x30')](_0x29a7f2);};}exports[_0x83db('0x31')]=function(_0x5447f3,_0x4cd3b4){var _0x3739ce={},_0x3ba77c={},_0x2c5537={'count':0x0,'rows':[]};var _0x302714=_[_0x83db('0x32')](db[_0x83db('0x33')]['rawAttributes'],function(_0x2f3cda){return{'name':_0x2f3cda[_0x83db('0x34')],'type':_0x2f3cda[_0x83db('0x35')][_0x83db('0x36')]};});_0x3ba77c[_0x83db('0x37')]=_[_0x83db('0x32')](_0x302714,'name');_0x3ba77c[_0x83db('0x38')]=_[_0x83db('0x39')](_0x5447f3[_0x83db('0x38')]);_0x3ba77c[_0x83db('0x3a')]=_[_0x83db('0x3b')](_0x3ba77c[_0x83db('0x37')],_0x3ba77c[_0x83db('0x38')]);_0x3739ce[_0x83db('0x3c')]=_[_0x83db('0x3b')](_0x3ba77c[_0x83db('0x37')],qs[_0x83db('0x3d')](_0x5447f3['query'][_0x83db('0x3d')]));_0x3739ce[_0x83db('0x3c')]=_0x3739ce[_0x83db('0x3c')][_0x83db('0x3e')]?_0x3739ce[_0x83db('0x3c')]:_0x3ba77c[_0x83db('0x37')];if(!_0x5447f3['query'][_0x83db('0x3f')](_0x83db('0x40'))){_0x3739ce['limit']=qs['limit'](_0x5447f3['query']['limit']);_0x3739ce[_0x83db('0x22')]=qs[_0x83db('0x22')](_0x5447f3[_0x83db('0x38')]['offset']);}_0x3739ce[_0x83db('0x41')]=qs[_0x83db('0x42')](_0x5447f3['query'][_0x83db('0x42')]);_0x3739ce[_0x83db('0x43')]=qs[_0x83db('0x3a')](_[_0x83db('0x44')](_0x5447f3[_0x83db('0x38')],_0x3ba77c['filters']),_0x302714);if(_0x5447f3[_0x83db('0x38')][_0x83db('0x45')]){_0x3739ce[_0x83db('0x43')]=_[_0x83db('0x46')](_0x3739ce[_0x83db('0x43')],{'$or':_[_0x83db('0x32')](_0x302714,function(_0x7ca2b8){if(_0x7ca2b8[_0x83db('0x35')]!==_0x83db('0x47')){var _0x13fb9d={};_0x13fb9d[_0x7ca2b8[_0x83db('0x2f')]]={'$like':'%'+_0x5447f3[_0x83db('0x38')]['filter']+'%'};return _0x13fb9d;}})});}_0x3739ce=_[_0x83db('0x46')]({},_0x3739ce,_0x5447f3[_0x83db('0x48')]);var _0x4b33ac={'where':_0x3739ce[_0x83db('0x43')]};return db[_0x83db('0x33')][_0x83db('0x25')](_0x4b33ac)['then'](function(_0x197aad){_0x2c5537[_0x83db('0x25')]=_0x197aad;if(_0x5447f3[_0x83db('0x38')][_0x83db('0x49')]){_0x3739ce['include']=[{'all':!![]}];}return db['Team']['findAll'](_0x3739ce);})[_0x83db('0x2c')](function(_0x1c03f7){_0x2c5537[_0x83db('0x4a')]=_0x1c03f7;return _0x2c5537;})[_0x83db('0x2c')](respondWithFilteredResult(_0x4cd3b4,_0x3739ce))['catch'](handleError(_0x4cd3b4,null));};exports[_0x83db('0x4b')]=function(_0x18127a,_0x40a246){var _0x453da0={'raw':![],'where':{'id':_0x18127a['params']['id']}},_0xcffa50={};_0xcffa50['model']=_[_0x83db('0x39')](db[_0x83db('0x33')][_0x83db('0x4c')]);_0xcffa50[_0x83db('0x38')]=_[_0x83db('0x39')](_0x18127a[_0x83db('0x38')]);_0xcffa50['filters']=_[_0x83db('0x3b')](_0xcffa50[_0x83db('0x37')],_0xcffa50[_0x83db('0x38')]);_0x453da0[_0x83db('0x3c')]=_[_0x83db('0x3b')](_0xcffa50[_0x83db('0x37')],qs[_0x83db('0x3d')](_0x18127a[_0x83db('0x38')][_0x83db('0x3d')]));_0x453da0[_0x83db('0x3c')]=_0x453da0[_0x83db('0x3c')][_0x83db('0x3e')]?_0x453da0['attributes']:_0xcffa50[_0x83db('0x37')];if(_0x18127a['query']['includeAll']){_0x453da0[_0x83db('0x4d')]=[{'all':!![]}];}_0x453da0=_['merge']({},_0x453da0,_0x18127a[_0x83db('0x48')]);return db['Team'][_0x83db('0x4e')](_0x453da0)[_0x83db('0x2c')](handleEntityNotFound(_0x40a246,null))[_0x83db('0x2c')](respondWithResult(_0x40a246,null))[_0x83db('0x4f')](handleError(_0x40a246,null));};exports['create']=function(_0x17fd20,_0x430dff){return db[_0x83db('0x33')]['create'](_0x17fd20[_0x83db('0x50')],{})[_0x83db('0x2c')](function(_0x4ae587){var _0x296a8a=_0x17fd20[_0x83db('0x51')][_0x83db('0x52')]({'plain':!![]});if(!_0x296a8a)throw new Error(_0x83db('0x53'));if(_0x296a8a['role']==='user'){var _0x224830=_0x4ae587['get']({'plain':!![]});var _0x160475='Teams';return db['UserProfileSection']['find']({'where':{'name':_0x160475,'userProfileId':_0x296a8a[_0x83db('0x54')]},'raw':!![]})[_0x83db('0x2c')](function(_0x33121e){if(_0x33121e&&_0x33121e[_0x83db('0x55')]===0x0){return db['UserProfileResource'][_0x83db('0x56')]({'name':_0x224830[_0x83db('0x2f')],'resourceId':_0x224830['id'],'type':_0x33121e[_0x83db('0x2f')],'sectionId':_0x33121e['id']},{})['then'](function(){return _0x4ae587;});}else{return _0x4ae587;}})[_0x83db('0x4f')](function(_0x52d9ff){logger[_0x83db('0x2d')](_0x83db('0x57'),_0x52d9ff);throw _0x52d9ff;});}return _0x4ae587;})[_0x83db('0x2c')](respondWithResult(_0x430dff,0xc9))['catch'](handleError(_0x430dff,null));};exports[_0x83db('0x58')]=function(_0x28ec23,_0x1fb5c2){if(_0x28ec23['body']['id']){delete _0x28ec23['body']['id'];}return db[_0x83db('0x33')]['find']({'where':{'id':_0x28ec23[_0x83db('0x59')]['id']}})[_0x83db('0x2c')](handleEntityNotFound(_0x1fb5c2,null))[_0x83db('0x2c')](saveUpdates(_0x28ec23[_0x83db('0x50')],null))[_0x83db('0x2c')](respondWithResult(_0x1fb5c2,null))[_0x83db('0x4f')](handleError(_0x1fb5c2,null));};exports[_0x83db('0x5a')]=function(_0xdec844,_0x1dcb07){var _0x6415dd=_0xdec844[_0x83db('0x59')]['id'];var _0x33c6ea=[];return db[_0x83db('0x5b')][_0x83db('0x5c')](function(_0x63fbd7){var _0x496b25=_0x83db('0x5d')+_0x6415dd;return db[_0x83db('0x5b')][_0x83db('0x38')](_0x496b25,{'type':db[_0x83db('0x5e')][_0x83db('0x5f')][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7})['then'](function(_0x83b22a){_0x33c6ea=_[_0x83db('0x32')](_0x83b22a,function(_0x230960){return Number(_0x230960[_0x83db('0x61')]);});})[_0x83db('0x2c')](function(){var _0xe6e6b3=_0x83db('0x62')+_0x6415dd;return db[_0x83db('0x5b')][_0x83db('0x38')](_0xe6e6b3,{'type':db[_0x83db('0x5e')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(_0x44de75){var _0x437b9d=_[_0x83db('0x32')](_0x44de75,function(_0x332d54){return Number(_0x332d54['VoiceQueueId']);});return db[_0x83db('0x63')]['destroy']({'where':{'UserId':{'$in':_0x33c6ea},'VoiceQueueId':{'$in':_0x437b9d}},'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(){var _0x596a7e='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x6415dd;return db[_0x83db('0x5b')][_0x83db('0x38')](_0x596a7e,{'type':db[_0x83db('0x5e')][_0x83db('0x5f')][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(_0x46c533){var _0x5aab36=_['map'](_0x46c533,function(_0x4883e6){return Number(_0x4883e6[_0x83db('0x64')]);});return db[_0x83db('0x65')][_0x83db('0x5a')]({'where':{'UserId':{'$in':_0x33c6ea},'MailQueueId':{'$in':_0x5aab36}},'transaction':_0x63fbd7});})['then'](function(){var _0x49ab4f=_0x83db('0x66')+_0x6415dd;return db['sequelize'][_0x83db('0x38')](_0x49ab4f,{'type':db['Sequelize']['QueryTypes'][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7});})['then'](function(_0x7bc48a){var _0x52702d=_[_0x83db('0x32')](_0x7bc48a,function(_0x5144c1){return Number(_0x5144c1[_0x83db('0x67')]);});return db[_0x83db('0x68')][_0x83db('0x5a')]({'where':{'UserId':{'$in':_0x33c6ea},'SmsQueueId':{'$in':_0x52702d}},'transaction':_0x63fbd7});})['then'](function(){var _0x46b136=_0x83db('0x69')+_0x6415dd;return db['sequelize'][_0x83db('0x38')](_0x46b136,{'type':db[_0x83db('0x5e')]['QueryTypes'][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(_0x5068c7){var _0x7afea6=_[_0x83db('0x32')](_0x5068c7,function(_0x560eaf){return Number(_0x560eaf[_0x83db('0x6a')]);});return db[_0x83db('0x6b')][_0x83db('0x5a')]({'where':{'UserId':{'$in':_0x33c6ea},'ChatQueueId':{'$in':_0x7afea6}},'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(){var _0x2d74c7=_0x83db('0x6c')+_0x6415dd;return db[_0x83db('0x5b')][_0x83db('0x38')](_0x2d74c7,{'type':db['Sequelize'][_0x83db('0x5f')][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7});})['then'](function(_0x38cf08){var _0x2640eb=_[_0x83db('0x32')](_0x38cf08,function(_0x573337){return Number(_0x573337[_0x83db('0x6d')]);});return db['UserFaxQueue'][_0x83db('0x5a')]({'where':{'UserId':{'$in':_0x33c6ea},'FaxQueueId':{'$in':_0x2640eb}},'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(){var _0x569fcf=_0x83db('0x6e')+_0x6415dd;return db[_0x83db('0x5b')]['query'](_0x569fcf,{'type':db[_0x83db('0x5e')][_0x83db('0x5f')][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(_0x157df4){var _0x13b3f1=_[_0x83db('0x32')](_0x157df4,function(_0x468ed9){return Number(_0x468ed9[_0x83db('0x6f')]);});return db['UserOpenchannelQueue'][_0x83db('0x5a')]({'where':{'UserId':{'$in':_0x33c6ea},'OpenchannelQueueId':{'$in':_0x13b3f1}},'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(){var _0x2268f3=_0x83db('0x70')+_0x6415dd;return db[_0x83db('0x5b')]['query'](_0x2268f3,{'type':db[_0x83db('0x5e')][_0x83db('0x5f')][_0x83db('0x60')],'raw':!![],'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(_0xd9384f){var _0x48febd=_[_0x83db('0x32')](_0xd9384f,function(_0x330987){return Number(_0x330987['WhatsappQueueId']);});return db[_0x83db('0x71')][_0x83db('0x5a')]({'where':{'UserId':{'$in':_0x33c6ea},'WhatsappQueueId':{'$in':_0x48febd}},'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(){return db[_0x83db('0x72')][_0x83db('0x4e')]({'where':{'TeamId':_0x6415dd}});})['then'](function(_0x43c71e){if(_0x43c71e===null){return;}return db[_0x83db('0x73')]['destroy']({'where':{'UserId':{'$in':_0x33c6ea},'VoicePrefixId':_0x43c71e[_0x83db('0x74')]},'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(){return db['Team'][_0x83db('0x5a')]({'where':{'id':_0x6415dd},'cascade':!![],'transaction':_0x63fbd7});})[_0x83db('0x2c')](function(_0x37b02d){if(_0x37b02d===0x0){_0x1dcb07[_0x83db('0x1f')](0x194);}else{return db[_0x83db('0x75')][_0x83db('0x5a')]({'where':{'type':_0x83db('0x76'),'resourceId':_0x6415dd},'cascade':!![],'transaction':_0x63fbd7})[_0x83db('0x2c')](function(){_0x1dcb07[_0x83db('0x20')](0xcc)[_0x83db('0x21')]();});}})[_0x83db('0x4f')](function(_0x335c3e){_0x1dcb07[_0x83db('0x20')](0x1f4)[_0x83db('0x30')](_0x335c3e);});});};exports[_0x83db('0x77')]=function(_0x4c0bd0,_0x35f932,_0xc77e7a){return db[_0x83db('0x33')][_0x83db('0x78')]({'where':{'id':_0x4c0bd0[_0x83db('0x59')]['id']}})[_0x83db('0x2c')](handleEntityNotFound(_0x35f932,null))[_0x83db('0x2c')](function(_0xa3b6f4){if(!_0x4c0bd0[_0x83db('0x38')][_0x83db('0x79')]||!utils['isValidChannel'](_0x4c0bd0[_0x83db('0x38')]['channel'])){throw new db[(_0x83db('0x5e'))][(_0x83db('0x7a'))](_0x83db('0x7b'));}var _0x45a17c={};var _0x3c4e73={};_0x3c4e73[_0x83db('0x37')]=_[_0x83db('0x39')](db[_[_0x83db('0x7c')](_0x4c0bd0[_0x83db('0x38')][_0x83db('0x79')][_0x83db('0x7d')]())+_0x83db('0x7e')][_0x83db('0x4c')]);_0x3c4e73[_0x83db('0x38')]=_['keys'](_0x4c0bd0[_0x83db('0x38')]);_0x3c4e73[_0x83db('0x3a')]=_[_0x83db('0x3b')](_0x3c4e73['model'],_0x3c4e73[_0x83db('0x38')]);_0x45a17c[_0x83db('0x3c')]=_['intersection'](_0x3c4e73[_0x83db('0x37')],qs[_0x83db('0x3d')](_0x4c0bd0[_0x83db('0x38')][_0x83db('0x3d')]));_0x45a17c[_0x83db('0x3c')]=_0x45a17c[_0x83db('0x3c')]['length']?_0x45a17c[_0x83db('0x3c')]:_0x3c4e73[_0x83db('0x37')];_0x45a17c[_0x83db('0x23')]=qs[_0x83db('0x23')](_0x4c0bd0['query'][_0x83db('0x23')]);_0x45a17c[_0x83db('0x22')]=qs[_0x83db('0x22')](_0x4c0bd0[_0x83db('0x38')][_0x83db('0x22')]);_0x45a17c['order']=qs[_0x83db('0x42')](_0x4c0bd0[_0x83db('0x38')][_0x83db('0x42')]);_0x45a17c[_0x83db('0x43')]=qs['filters'](_['pick'](_0x4c0bd0[_0x83db('0x38')],_0x3c4e73[_0x83db('0x3a')]));_0x45a17c=_[_0x83db('0x46')]({},_0x45a17c,_0x4c0bd0[_0x83db('0x48')]);return _0xa3b6f4[_0x83db('0x52')+_['capitalize'](_0x4c0bd0['query'][_0x83db('0x79')]['toLowerCase']())+_0x83db('0x7f')](_0x45a17c);})['then'](respondWithResult(_0x35f932,null))[_0x83db('0x4f')](handleError(_0x35f932,null));};exports[_0x83db('0x80')]=function(_0x3757af,_0x4a4739,_0x416cba){return db['Team'][_0x83db('0x78')]({'where':{'id':_0x3757af['params']['id']}})[_0x83db('0x2c')](function(_0x3777ee){if(_0x3777ee){if(!_0x3757af[_0x83db('0x50')][_0x83db('0x79')]||!utils[_0x83db('0x81')](_0x3757af[_0x83db('0x50')][_0x83db('0x79')])){throw new db[(_0x83db('0x5e'))][(_0x83db('0x7a'))](_0x83db('0x7b'));}return _0x3777ee['add'+_[_0x83db('0x7c')](_0x3757af[_0x83db('0x50')]['channel'][_0x83db('0x7d')]())+_0x83db('0x7f')](_0x3757af['body'][_0x83db('0x82')]);}return null;})[_0x83db('0x2c')](handleEntityNotFound(_0x4a4739,null))[_0x83db('0x2c')](respondWithStatusCode(_0x4a4739,null))['catch'](handleError(_0x4a4739,null));};exports[_0x83db('0x83')]=function(_0x5a76a2,_0x3cee54,_0x21cb77){return db[_0x83db('0x33')][_0x83db('0x78')]({'where':{'id':_0x5a76a2[_0x83db('0x59')]['id']}})['then'](function(_0x36ccf9){if(_0x36ccf9){if(!_0x5a76a2[_0x83db('0x38')][_0x83db('0x79')]||!utils[_0x83db('0x81')](_0x5a76a2[_0x83db('0x38')][_0x83db('0x79')])){throw new db[(_0x83db('0x5e'))][(_0x83db('0x7a'))](_0x83db('0x7b'));}return _0x36ccf9[_0x83db('0x84')+_[_0x83db('0x7c')](_0x5a76a2[_0x83db('0x38')][_0x83db('0x79')][_0x83db('0x7d')]())+_0x83db('0x7f')](_0x5a76a2['query'][_0x83db('0x82')]);}return null;})['then'](handleEntityNotFound(_0x3cee54,null))['then'](respondWithStatusCode(_0x3cee54,null))[_0x83db('0x4f')](handleError(_0x3cee54,null));};exports[_0x83db('0x85')]=function(_0x139e4c,_0x46eff0){var _0x38337e=_[_0x83db('0x86')](_0x139e4c[_0x83db('0x50')][_0x83db('0x82')])?_0x139e4c['body'][_0x83db('0x82')]:[_0x139e4c[_0x83db('0x50')][_0x83db('0x82')]];var _0x4ab6c7=_0x139e4c[_0x83db('0x59')]['id'];return db['Team'][_0x83db('0x4e')]({'where':{'id':_0x4ab6c7}})[_0x83db('0x2c')](handleEntityNotFound(_0x46eff0,null))[_0x83db('0x2c')](function(_0x4f7218){if(_0x4f7218){var _0x414515=[_0x83db('0x87'),_0x83db('0x88'),_0x83db('0x89'),_0x83db('0x8a'),_0x83db('0x8b'),'Openchannel','Whatsapp'];return db['sequelize']['transaction'](function(_0x16264c){var _0x85861a=_['map'](_0x414515,function(_0x2992ae){var _0x11ba96={'attributes':['id',_0x83db('0x2f')]};if(_0x2992ae==='Voice'){_0x11ba96[_0x83db('0x8c')]={'attributes':[_0x83db('0x8d')]};}return _0x4f7218['get'+_0x2992ae+'Queues'](_0x11ba96)[_0x83db('0x2c')](function(_0x37e373){var _0x559f3c=_[_0x83db('0x32')](_0x37e373,function(_0x462ad5){var _0x30e0f2=_[_0x83db('0x32')](_0x38337e,function(_0x3a20be){var _0x8df244={'where':{'UserId':_0x3a20be,[_0x2992ae+_0x83db('0x8e')]:_0x462ad5['id']},'transaction':_0x16264c};if(_0x2992ae===_0x83db('0x87')){_0x8df244['defaults']={'penalty':_0x462ad5[_0x83db('0x8f')][_0x83db('0x8d')]};}return db[_0x83db('0x90')+_0x2992ae+_0x83db('0x7e')][_0x83db('0x91')](_0x8df244)['then'](function(){socket[_0x83db('0x92')](_0x83db('0x51')+_0x2992ae+_0x83db('0x93'),{'UserId':_0x3a20be,[_0x2992ae+_0x83db('0x8e')]:_0x462ad5['id']});if(_0x2992ae!==_0x83db('0x87')){return;}return db['User'][_0x83db('0x94')]({'where':{'id':_0x38337e,'online':0x1},'attributes':['id',_0x83db('0x2f'),'online',_0x83db('0x95'),'interface'],'raw':!![]})[_0x83db('0x2c')](function(_0x3ac152){var _0x29a6f3=_['map'](_0x3ac152,function(_0x4b22b9){return db[_0x83db('0x96')][_0x83db('0x97')]({'membername':_0x4b22b9[_0x83db('0x2f')],'UserId':_0x4b22b9['id'],'queue_name':_0x462ad5['name'],'VoiceQueueId':_0x462ad5['id'],'interface':_[_0x83db('0x98')](_0x4b22b9[_0x83db('0x99')])?util[_0x83db('0x9a')]('SIP/%s',_0x4b22b9[_0x83db('0x2f')]):_0x4b22b9[_0x83db('0x99')],'paused':_0x4b22b9[_0x83db('0x95')]||![],'penalty':_0x462ad5['TeamVoiceQueue'][_0x83db('0x8d')]},{'transaction':_0x16264c});});return Promise[_0x83db('0x9b')](_0x29a6f3);});});});return Promise[_0x83db('0x9b')](_0x30e0f2);});return Promise[_0x83db('0x9b')](_0x559f3c);})[_0x83db('0x2c')](function(){return db[_0x83db('0x72')]['findOne']({'where':{'teamId':_0x4ab6c7}})[_0x83db('0x2c')](function(_0x54b680){if(_0x54b680){var _0x3fc659=_[_0x83db('0x32')](_0x38337e,function(_0x1ce138){db[_0x83db('0x73')][_0x83db('0x97')]({'UserId':_0x1ce138,'VoicePrefixId':_0x54b680[_0x83db('0x74')]});});return Promise[_0x83db('0x9b')](_0x3fc659);}});});});return Promise[_0x83db('0x9b')](_0x85861a)[_0x83db('0x2c')](function(){return _0x4f7218[_0x83db('0x85')](_0x38337e,{'transaction':_0x16264c})[_0x83db('0x9c')](function(_0x6937e9){return _0x6937e9;});});});}})[_0x83db('0x2c')](respondWithResult(_0x46eff0,null))[_0x83db('0x4f')](handleError(_0x46eff0,null));};exports['removeAgents']=function(_0x17f29d,_0x543bbe){var _0x50b028=_[_0x83db('0x86')](_0x17f29d[_0x83db('0x38')][_0x83db('0x82')])?_0x17f29d['query'][_0x83db('0x82')]:[_0x17f29d[_0x83db('0x38')]['ids']];var _0x328480=_0x17f29d[_0x83db('0x59')]['id'];return db['Team']['find']({'where':{'id':_0x328480}})[_0x83db('0x2c')](handleEntityNotFound(_0x543bbe,null))['then'](function(_0x50c7d5){if(_0x50c7d5){var _0x56eb0b=[_0x83db('0x87'),_0x83db('0x88'),_0x83db('0x89'),_0x83db('0x8a'),_0x83db('0x8b'),_0x83db('0x9d'),_0x83db('0x9e')];return db['sequelize']['transaction'](function(_0x4d606c){var _0x10136d=_[_0x83db('0x32')](_0x56eb0b,function(_0x4a8a65){var _0x27fb64={'attributes':['id',_0x83db('0x2f')]};return _0x50c7d5[_0x83db('0x52')+_0x4a8a65+_0x83db('0x7f')](_0x27fb64)[_0x83db('0x2c')](function(_0x2b9d3e){var _0x1fa43c=_['map'](_0x2b9d3e,function(_0x3ed454){return _0x3ed454['removeAgents'](_0x50b028,{'transaction':_0x4d606c})[_0x83db('0x2c')](function(){var _0x5e5e9a=_[_0x83db('0x32')](_0x50b028,function(_0x5b2014){socket[_0x83db('0x92')](_0x83db('0x51')+_0x4a8a65+_0x83db('0x9f'),{'UserId':Number(_0x5b2014),[_0x4a8a65+_0x83db('0x8e')]:_0x3ed454['id']});if(_0x4a8a65!==_0x83db('0x87')){return;}return db[_0x83db('0x96')][_0x83db('0x5a')]({'where':{'VoiceQueueId':_0x3ed454['id'],'UserId':_0x5b2014},'transaction':_0x4d606c});});return Promise[_0x83db('0x9b')](_0x5e5e9a);});});return Promise[_0x83db('0x9b')](_0x1fa43c);});});return Promise[_0x83db('0x9b')](_0x10136d)['then'](function(){return _0x50c7d5[_0x83db('0xa0')](_0x50b028,{'transaction':_0x4d606c});})[_0x83db('0x2c')](function(){return db[_0x83db('0x72')]['findOne']({'where':{'teamId':_0x328480}})[_0x83db('0x2c')](function(_0x42b6df){if(_0x42b6df){var _0x4f153d=_[_0x83db('0x32')](_0x50b028,function(_0x3c90b2){db[_0x83db('0x73')]['destroy']({'where':{'UserId':_0x3c90b2,'VoicePrefixId':_0x42b6df[_0x83db('0x74')]}});});return Promise[_0x83db('0x9b')](_0x4f153d);}});});});}})[_0x83db('0x2c')](respondWithStatusCode(_0x543bbe,null))[_0x83db('0x4f')](handleError(_0x543bbe,null));};exports[_0x83db('0xa1')]=function(_0x4472df,_0x340ed6,_0x5412aa){var _0x1e3430={};var _0x47abe8={};var _0x287eb2;var _0x42dc7c;return db[_0x83db('0x33')][_0x83db('0x78')]({'where':{'id':_0x4472df[_0x83db('0x59')]['id']}})[_0x83db('0x2c')](handleEntityNotFound(_0x340ed6,null))[_0x83db('0x2c')](function(_0x896ab8){if(_0x896ab8){_0x287eb2=_0x896ab8;_0x47abe8[_0x83db('0x37')]=_['keys'](db[_0x83db('0x90')][_0x83db('0x4c')]);_0x47abe8['query']=_[_0x83db('0x39')](_0x4472df[_0x83db('0x38')]);_0x47abe8[_0x83db('0x3a')]=_[_0x83db('0x3b')](_0x47abe8[_0x83db('0x37')],_0x47abe8[_0x83db('0x38')]);_0x1e3430[_0x83db('0x3c')]=_[_0x83db('0x3b')](_0x47abe8[_0x83db('0x37')],qs['fields'](_0x4472df['query']['fields']));_0x1e3430['attributes']=_0x1e3430[_0x83db('0x3c')]['length']?_0x1e3430[_0x83db('0x3c')]:_0x47abe8[_0x83db('0x37')];_0x1e3430[_0x83db('0x41')]=qs[_0x83db('0x42')](_0x4472df[_0x83db('0x38')][_0x83db('0x42')]);_0x1e3430[_0x83db('0x43')]=qs[_0x83db('0x3a')](_[_0x83db('0x44')](_0x4472df[_0x83db('0x38')],_0x47abe8[_0x83db('0x3a')]));if(_0x4472df[_0x83db('0x38')][_0x83db('0x45')]){_0x1e3430[_0x83db('0x43')]=_['merge'](_0x1e3430[_0x83db('0x43')],{'$or':_['map'](_0x1e3430[_0x83db('0x3c')],function(_0x3cf55c){var _0x4e2332={};_0x4e2332[_0x3cf55c]={'$like':'%'+_0x4472df[_0x83db('0x38')]['filter']+'%'};return _0x4e2332;})});}_0x1e3430=_['merge']({},_0x1e3430,_0x4472df[_0x83db('0x48')]);return _0x287eb2[_0x83db('0xa1')](_0x1e3430);}})[_0x83db('0x2c')](function(_0x115c9a){if(_0x115c9a){_0x42dc7c=_0x115c9a[_0x83db('0x3e')];if(!_0x4472df['query'][_0x83db('0x3f')](_0x83db('0x40'))){_0x1e3430[_0x83db('0x23')]=qs[_0x83db('0x23')](_0x4472df[_0x83db('0x38')][_0x83db('0x23')]);_0x1e3430[_0x83db('0x22')]=qs['offset'](_0x4472df[_0x83db('0x38')][_0x83db('0x22')]);}return _0x287eb2[_0x83db('0xa1')](_0x1e3430);}})[_0x83db('0x2c')](function(_0x4da6cd){if(_0x4da6cd){return _0x4da6cd?{'count':_0x42dc7c,'rows':_0x4da6cd}:null;}})[_0x83db('0x2c')](respondWithResult(_0x340ed6,null))[_0x83db('0x4f')](handleError(_0x340ed6,null));};