fd4b7029eaed6d1cbfb81854539ff81de5cd32d2
[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 _0x9324=['SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','TeamVoicePrefix','VoicePrefixId','send','channel','Unknown\x20channel','capitalize','toLowerCase','Queue','isValidChannel','ValidationError','add','Queues','ids','findOne','addAgents','isArray','Voice','Chat','Mail','Sms','Openchannel','Whatsapp','QueueId','TeamVoiceQueue','penalty','User','findOrCreate','emit','Queue:save','online','voicePause','interface','UserVoiceQueueRt','upsert','isNil','format','SIP/%s','all','UserVoicePrefix','spread','Fax','Queue:remove','removeAgents','getAgents','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./team.socket','sendStatus','end','status','offset','undefined','count','limit','set','Content-Range','apply','reject','update','then','stack','name','index','map','Team','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','nolimit','order','sort','pick','filter','where','merge','VIRTUAL','options','includeAll','findAll','catch','show','keys','include','create','body','user','get','role','Teams','find','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','destroy','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','sequelize','Sequelize','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','QueryTypes','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','UserSmsQueue','ChatQueueId','UserChatQueue','FaxQueueId','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserOpenchannelQueue'];(function(_0x175a55,_0x4082fd){var _0x167adf=function(_0x18ef07){while(--_0x18ef07){_0x175a55['push'](_0x175a55['shift']());}};_0x167adf(++_0x4082fd);}(_0x9324,0x164));var _0x4932=function(_0x15cef4,_0x448b97){_0x15cef4=_0x15cef4-0x0;var _0x384430=_0x9324[_0x15cef4];return _0x384430;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x4932('0x0'));var jsonpatch=require(_0x4932('0x1'));var rp=require(_0x4932('0x2'));var moment=require(_0x4932('0x3'));var BPromise=require(_0x4932('0x4'));var Mustache=require(_0x4932('0x5'));var util=require(_0x4932('0x6'));var path=require(_0x4932('0x7'));var sox=require(_0x4932('0x8'));var csv=require(_0x4932('0x9'));var ejs=require(_0x4932('0xa'));var fs=require('fs');var fs_extra=require(_0x4932('0xb'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x4932('0xc'));var jsforce=require(_0x4932('0xd'));var deskjs=require(_0x4932('0xe'));var toCsv=require(_0x4932('0x9'));var querystring=require(_0x4932('0xf'));var Papa=require(_0x4932('0x10'));var Redis=require(_0x4932('0x11'));var authService=require(_0x4932('0x12'));var qs=require(_0x4932('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4932('0x14'));var logger=require('../../config/logger')(_0x4932('0x15'));var utils=require(_0x4932('0x16'));var config=require(_0x4932('0x17'));var licenseUtil=require(_0x4932('0x18'));var db=require(_0x4932('0x19'))['db'];config['redis']=_[_0x4932('0x1a')](config[_0x4932('0x1b')],{'host':_0x4932('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x4932('0x1b')]));require(_0x4932('0x1d'))['register'](socket);function respondWithStatusCode(_0x5e8ee7,_0x243409){_0x243409=_0x243409||0xcc;return function(_0x5a27c8){if(_0x5a27c8){return _0x5e8ee7[_0x4932('0x1e')](_0x243409);}return _0x5e8ee7['status'](_0x243409)[_0x4932('0x1f')]();};}function respondWithResult(_0x5a480a,_0x182d43){_0x182d43=_0x182d43||0xc8;return function(_0x120b92){if(_0x120b92){return _0x5a480a[_0x4932('0x20')](_0x182d43)['json'](_0x120b92);}};}function respondWithFilteredResult(_0x26c789,_0x5b7a49){return function(_0x12e610){if(_0x12e610){var _0x40456c=typeof _0x5b7a49[_0x4932('0x21')]==='undefined'&&typeof _0x5b7a49['limit']===_0x4932('0x22');var _0x4e8ff1=_0x12e610[_0x4932('0x23')];var _0x4afc69=_0x40456c?0x0:_0x5b7a49[_0x4932('0x21')];var _0x19b154=_0x40456c?_0x12e610[_0x4932('0x23')]:_0x5b7a49['offset']+_0x5b7a49[_0x4932('0x24')];var _0x344b6f;if(_0x19b154>=_0x4e8ff1){_0x19b154=_0x4e8ff1;_0x344b6f=0xc8;}else{_0x344b6f=0xce;}_0x26c789[_0x4932('0x20')](_0x344b6f);return _0x26c789[_0x4932('0x25')](_0x4932('0x26'),_0x4afc69+'-'+_0x19b154+'/'+_0x4e8ff1)['json'](_0x12e610);}return null;};}function patchUpdates(_0x2f619c){return function(_0x2c888e){try{jsonpatch[_0x4932('0x27')](_0x2c888e,_0x2f619c,!![]);}catch(_0x151355){return BPromise[_0x4932('0x28')](_0x151355);}return _0x2c888e['save']();};}function saveUpdates(_0xb0531a,_0x748eb8){return function(_0x49b97f){if(_0x49b97f){return _0x49b97f[_0x4932('0x29')](_0xb0531a)[_0x4932('0x2a')](function(_0x495f8d){return _0x495f8d;});}return null;};}function handleEntityNotFound(_0x310845,_0x4ea510){return function(_0x5ba7a0){if(!_0x5ba7a0){_0x310845[_0x4932('0x1e')](0x194);}return _0x5ba7a0;};}function handleError(_0x5ad108,_0x23e485){_0x23e485=_0x23e485||0x1f4;return function(_0x402f02){logger['error'](_0x402f02[_0x4932('0x2b')]);if(_0x402f02[_0x4932('0x2c')]){delete _0x402f02['name'];}_0x5ad108[_0x4932('0x20')](_0x23e485)['send'](_0x402f02);};}exports[_0x4932('0x2d')]=function(_0x196790,_0x48cdfa){var _0x13532a={},_0xe00390={},_0x5a167b={'count':0x0,'rows':[]};var _0x1fc88f=_[_0x4932('0x2e')](db[_0x4932('0x2f')][_0x4932('0x30')],function(_0x301939){return{'name':_0x301939[_0x4932('0x31')],'type':_0x301939[_0x4932('0x32')][_0x4932('0x33')]};});_0xe00390['model']=_[_0x4932('0x2e')](_0x1fc88f,_0x4932('0x2c'));_0xe00390[_0x4932('0x34')]=_['keys'](_0x196790[_0x4932('0x34')]);_0xe00390[_0x4932('0x35')]=_[_0x4932('0x36')](_0xe00390[_0x4932('0x37')],_0xe00390[_0x4932('0x34')]);_0x13532a[_0x4932('0x38')]=_[_0x4932('0x36')](_0xe00390[_0x4932('0x37')],qs['fields'](_0x196790[_0x4932('0x34')][_0x4932('0x39')]));_0x13532a[_0x4932('0x38')]=_0x13532a[_0x4932('0x38')][_0x4932('0x3a')]?_0x13532a['attributes']:_0xe00390[_0x4932('0x37')];if(!_0x196790[_0x4932('0x34')]['hasOwnProperty'](_0x4932('0x3b'))){_0x13532a[_0x4932('0x24')]=qs[_0x4932('0x24')](_0x196790[_0x4932('0x34')][_0x4932('0x24')]);_0x13532a[_0x4932('0x21')]=qs[_0x4932('0x21')](_0x196790[_0x4932('0x34')][_0x4932('0x21')]);}_0x13532a[_0x4932('0x3c')]=qs[_0x4932('0x3d')](_0x196790[_0x4932('0x34')][_0x4932('0x3d')]);_0x13532a['where']=qs[_0x4932('0x35')](_[_0x4932('0x3e')](_0x196790['query'],_0xe00390['filters']),_0x1fc88f);if(_0x196790[_0x4932('0x34')][_0x4932('0x3f')]){_0x13532a[_0x4932('0x40')]=_[_0x4932('0x41')](_0x13532a[_0x4932('0x40')],{'$or':_[_0x4932('0x2e')](_0x1fc88f,function(_0xa61b06){if(_0xa61b06['type']!==_0x4932('0x42')){var _0x12b3ba={};_0x12b3ba[_0xa61b06[_0x4932('0x2c')]]={'$like':'%'+_0x196790[_0x4932('0x34')][_0x4932('0x3f')]+'%'};return _0x12b3ba;}})});}_0x13532a=_[_0x4932('0x41')]({},_0x13532a,_0x196790[_0x4932('0x43')]);var _0x565ce0={'where':_0x13532a[_0x4932('0x40')]};return db[_0x4932('0x2f')][_0x4932('0x23')](_0x565ce0)[_0x4932('0x2a')](function(_0x5a28e9){_0x5a167b[_0x4932('0x23')]=_0x5a28e9;if(_0x196790[_0x4932('0x34')][_0x4932('0x44')]){_0x13532a['include']=[{'all':!![]}];}return db[_0x4932('0x2f')][_0x4932('0x45')](_0x13532a);})[_0x4932('0x2a')](function(_0x437b21){_0x5a167b['rows']=_0x437b21;return _0x5a167b;})['then'](respondWithFilteredResult(_0x48cdfa,_0x13532a))[_0x4932('0x46')](handleError(_0x48cdfa,null));};exports[_0x4932('0x47')]=function(_0x13a59f,_0x4ba495){var _0x193702={'raw':![],'where':{'id':_0x13a59f['params']['id']}},_0x5de367={};_0x5de367[_0x4932('0x37')]=_[_0x4932('0x48')](db['Team'][_0x4932('0x30')]);_0x5de367[_0x4932('0x34')]=_['keys'](_0x13a59f['query']);_0x5de367['filters']=_[_0x4932('0x36')](_0x5de367['model'],_0x5de367[_0x4932('0x34')]);_0x193702[_0x4932('0x38')]=_[_0x4932('0x36')](_0x5de367[_0x4932('0x37')],qs[_0x4932('0x39')](_0x13a59f[_0x4932('0x34')][_0x4932('0x39')]));_0x193702['attributes']=_0x193702[_0x4932('0x38')]['length']?_0x193702['attributes']:_0x5de367[_0x4932('0x37')];if(_0x13a59f[_0x4932('0x34')]['includeAll']){_0x193702[_0x4932('0x49')]=[{'all':!![]}];}_0x193702=_[_0x4932('0x41')]({},_0x193702,_0x13a59f[_0x4932('0x43')]);return db[_0x4932('0x2f')]['find'](_0x193702)[_0x4932('0x2a')](handleEntityNotFound(_0x4ba495,null))[_0x4932('0x2a')](respondWithResult(_0x4ba495,null))[_0x4932('0x46')](handleError(_0x4ba495,null));};exports[_0x4932('0x4a')]=function(_0x4cf603,_0x50473a){return db['Team'][_0x4932('0x4a')](_0x4cf603[_0x4932('0x4b')],{})['then'](function(_0x2c6f90){var _0x5b3da8=_0x4cf603[_0x4932('0x4c')][_0x4932('0x4d')]({'plain':!![]});if(!_0x5b3da8)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5b3da8[_0x4932('0x4e')]===_0x4932('0x4c')){var _0x3a8e7d=_0x2c6f90[_0x4932('0x4d')]({'plain':!![]});var _0x34f449=_0x4932('0x4f');return db['UserProfileSection'][_0x4932('0x50')]({'where':{'name':_0x34f449,'userProfileId':_0x5b3da8[_0x4932('0x51')]},'raw':!![]})[_0x4932('0x2a')](function(_0x511dbf){if(_0x511dbf&&_0x511dbf[_0x4932('0x52')]===0x0){return db[_0x4932('0x53')][_0x4932('0x4a')]({'name':_0x3a8e7d[_0x4932('0x2c')],'resourceId':_0x3a8e7d['id'],'type':_0x511dbf[_0x4932('0x2c')],'sectionId':_0x511dbf['id']},{})[_0x4932('0x2a')](function(){return _0x2c6f90;});}else{return _0x2c6f90;}})[_0x4932('0x46')](function(_0x1a2b21){logger[_0x4932('0x54')](_0x4932('0x55'),_0x1a2b21);throw _0x1a2b21;});}return _0x2c6f90;})[_0x4932('0x2a')](respondWithResult(_0x50473a,0xc9))[_0x4932('0x46')](handleError(_0x50473a,null));};exports[_0x4932('0x29')]=function(_0x39f8dc,_0x234213){if(_0x39f8dc['body']['id']){delete _0x39f8dc[_0x4932('0x4b')]['id'];}return db[_0x4932('0x2f')][_0x4932('0x50')]({'where':{'id':_0x39f8dc[_0x4932('0x56')]['id']}})[_0x4932('0x2a')](handleEntityNotFound(_0x234213,null))[_0x4932('0x2a')](saveUpdates(_0x39f8dc[_0x4932('0x4b')],null))[_0x4932('0x2a')](respondWithResult(_0x234213,null))[_0x4932('0x46')](handleError(_0x234213,null));};exports[_0x4932('0x57')]=function(_0x2072e5,_0x441d2e){var _0x5ed2f4=_0x2072e5[_0x4932('0x56')]['id'];var _0x1c88e6=[];return db['sequelize'][_0x4932('0x58')](function(_0x2fa96a){var _0x129d7b=_0x4932('0x59')+_0x5ed2f4;return db[_0x4932('0x5a')][_0x4932('0x34')](_0x129d7b,{'type':db[_0x4932('0x5b')]['QueryTypes'][_0x4932('0x5c')],'raw':!![],'transaction':_0x2fa96a})['then'](function(_0x57db0c){_0x1c88e6=_['map'](_0x57db0c,function(_0x1d9f4a){return Number(_0x1d9f4a[_0x4932('0x5d')]);});})[_0x4932('0x2a')](function(){var _0x3d2dd1=_0x4932('0x5e')+_0x5ed2f4;return db[_0x4932('0x5a')][_0x4932('0x34')](_0x3d2dd1,{'type':db[_0x4932('0x5b')]['QueryTypes'][_0x4932('0x5c')],'raw':!![],'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(_0x4eb2d3){var _0x40a667=_[_0x4932('0x2e')](_0x4eb2d3,function(_0x559a1b){return Number(_0x559a1b['VoiceQueueId']);});return db[_0x4932('0x5f')][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'VoiceQueueId':{'$in':_0x40a667}},'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(){var _0x316102=_0x4932('0x60')+_0x5ed2f4;return db[_0x4932('0x5a')][_0x4932('0x34')](_0x316102,{'type':db[_0x4932('0x5b')][_0x4932('0x61')][_0x4932('0x5c')],'raw':!![],'transaction':_0x2fa96a});})['then'](function(_0x4f2822){var _0x2ffb80=_[_0x4932('0x2e')](_0x4f2822,function(_0x2959f6){return Number(_0x2959f6[_0x4932('0x62')]);});return db[_0x4932('0x63')][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'MailQueueId':{'$in':_0x2ffb80}},'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(){var _0x2398f1=_0x4932('0x64')+_0x5ed2f4;return db[_0x4932('0x5a')][_0x4932('0x34')](_0x2398f1,{'type':db[_0x4932('0x5b')][_0x4932('0x61')]['SELECT'],'raw':!![],'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(_0x603951){var _0xa93f8b=_['map'](_0x603951,function(_0xe08b7c){return Number(_0xe08b7c['SmsQueueId']);});return db[_0x4932('0x65')][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'SmsQueueId':{'$in':_0xa93f8b}},'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(){var _0x468e01='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5ed2f4;return db['sequelize'][_0x4932('0x34')](_0x468e01,{'type':db[_0x4932('0x5b')][_0x4932('0x61')][_0x4932('0x5c')],'raw':!![],'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(_0x3e2e3a){var _0x7ce5e5=_[_0x4932('0x2e')](_0x3e2e3a,function(_0x1f1064){return Number(_0x1f1064[_0x4932('0x66')]);});return db[_0x4932('0x67')][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'ChatQueueId':{'$in':_0x7ce5e5}},'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(){var _0x6b8f54='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5ed2f4;return db['sequelize']['query'](_0x6b8f54,{'type':db['Sequelize']['QueryTypes'][_0x4932('0x5c')],'raw':!![],'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(_0x2509ec){var _0x10d6c7=_[_0x4932('0x2e')](_0x2509ec,function(_0x2183ee){return Number(_0x2183ee[_0x4932('0x68')]);});return db[_0x4932('0x69')][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'FaxQueueId':{'$in':_0x10d6c7}},'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(){var _0x4fda22=_0x4932('0x6a')+_0x5ed2f4;return db['sequelize']['query'](_0x4fda22,{'type':db[_0x4932('0x5b')]['QueryTypes'][_0x4932('0x5c')],'raw':!![],'transaction':_0x2fa96a});})['then'](function(_0x53e361){var _0xbcf008=_[_0x4932('0x2e')](_0x53e361,function(_0x50ea7c){return Number(_0x50ea7c[_0x4932('0x6b')]);});return db[_0x4932('0x6c')][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'OpenchannelQueueId':{'$in':_0xbcf008}},'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(){var _0x592f8e=_0x4932('0x6d')+_0x5ed2f4;return db[_0x4932('0x5a')][_0x4932('0x34')](_0x592f8e,{'type':db[_0x4932('0x5b')][_0x4932('0x61')]['SELECT'],'raw':!![],'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(_0x578374){var _0x344324=_[_0x4932('0x2e')](_0x578374,function(_0x2f0761){return Number(_0x2f0761[_0x4932('0x6e')]);});return db['UserWhatsappQueue'][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'WhatsappQueueId':{'$in':_0x344324}},'transaction':_0x2fa96a});})['then'](function(){return db[_0x4932('0x6f')]['find']({'where':{'TeamId':_0x5ed2f4}});})['then'](function(_0x1604ec){if(_0x1604ec===null){return;}return db['UserVoicePrefix'][_0x4932('0x57')]({'where':{'UserId':{'$in':_0x1c88e6},'VoicePrefixId':_0x1604ec[_0x4932('0x70')]},'transaction':_0x2fa96a});})['then'](function(){return db[_0x4932('0x2f')][_0x4932('0x57')]({'where':{'id':_0x5ed2f4},'cascade':!![],'transaction':_0x2fa96a});})[_0x4932('0x2a')](function(_0x4a892d){if(_0x4a892d===0x0){_0x441d2e[_0x4932('0x1e')](0x194);}else{return db[_0x4932('0x53')][_0x4932('0x57')]({'where':{'type':_0x4932('0x4f'),'resourceId':_0x5ed2f4},'cascade':!![],'transaction':_0x2fa96a})['then'](function(){_0x441d2e[_0x4932('0x20')](0xcc)[_0x4932('0x1f')]();});}})[_0x4932('0x46')](function(_0x465979){_0x441d2e[_0x4932('0x20')](0x1f4)[_0x4932('0x71')](_0x465979);});});};exports['getQueues']=function(_0x51151b,_0x45b803,_0x20cb3c){return db[_0x4932('0x2f')]['findOne']({'where':{'id':_0x51151b[_0x4932('0x56')]['id']}})['then'](handleEntityNotFound(_0x45b803,null))['then'](function(_0x3c4523){if(!_0x51151b[_0x4932('0x34')][_0x4932('0x72')]||!utils['isValidChannel'](_0x51151b['query'][_0x4932('0x72')])){throw new db[(_0x4932('0x5b'))]['ValidationError'](_0x4932('0x73'));}var _0x4f71d5={};var _0x4551bd={};_0x4551bd['model']=_[_0x4932('0x48')](db[_[_0x4932('0x74')](_0x51151b['query'][_0x4932('0x72')][_0x4932('0x75')]())+_0x4932('0x76')][_0x4932('0x30')]);_0x4551bd['query']=_['keys'](_0x51151b[_0x4932('0x34')]);_0x4551bd[_0x4932('0x35')]=_['intersection'](_0x4551bd[_0x4932('0x37')],_0x4551bd['query']);_0x4f71d5[_0x4932('0x38')]=_[_0x4932('0x36')](_0x4551bd[_0x4932('0x37')],qs[_0x4932('0x39')](_0x51151b[_0x4932('0x34')][_0x4932('0x39')]));_0x4f71d5[_0x4932('0x38')]=_0x4f71d5['attributes'][_0x4932('0x3a')]?_0x4f71d5['attributes']:_0x4551bd[_0x4932('0x37')];_0x4f71d5['limit']=qs[_0x4932('0x24')](_0x51151b[_0x4932('0x34')][_0x4932('0x24')]);_0x4f71d5['offset']=qs[_0x4932('0x21')](_0x51151b[_0x4932('0x34')][_0x4932('0x21')]);_0x4f71d5[_0x4932('0x3c')]=qs[_0x4932('0x3d')](_0x51151b[_0x4932('0x34')]['sort']);_0x4f71d5['where']=qs[_0x4932('0x35')](_[_0x4932('0x3e')](_0x51151b[_0x4932('0x34')],_0x4551bd[_0x4932('0x35')]));_0x4f71d5=_[_0x4932('0x41')]({},_0x4f71d5,_0x51151b[_0x4932('0x43')]);return _0x3c4523['get'+_[_0x4932('0x74')](_0x51151b['query'][_0x4932('0x72')][_0x4932('0x75')]())+'Queues'](_0x4f71d5);})[_0x4932('0x2a')](respondWithResult(_0x45b803,null))[_0x4932('0x46')](handleError(_0x45b803,null));};exports['addQueues']=function(_0x43cae6,_0x5bdb2d,_0x4ce4db){return db[_0x4932('0x2f')]['findOne']({'where':{'id':_0x43cae6[_0x4932('0x56')]['id']}})[_0x4932('0x2a')](function(_0x4c2b6f){if(_0x4c2b6f){if(!_0x43cae6['body']['channel']||!utils[_0x4932('0x77')](_0x43cae6[_0x4932('0x4b')][_0x4932('0x72')])){throw new db[(_0x4932('0x5b'))][(_0x4932('0x78'))](_0x4932('0x73'));}return _0x4c2b6f[_0x4932('0x79')+_[_0x4932('0x74')](_0x43cae6[_0x4932('0x4b')][_0x4932('0x72')][_0x4932('0x75')]())+_0x4932('0x7a')](_0x43cae6[_0x4932('0x4b')][_0x4932('0x7b')]);}return null;})[_0x4932('0x2a')](handleEntityNotFound(_0x5bdb2d,null))[_0x4932('0x2a')](respondWithStatusCode(_0x5bdb2d,null))['catch'](handleError(_0x5bdb2d,null));};exports['removeQueues']=function(_0x2ee825,_0x3b57ae,_0xb424f1){return db[_0x4932('0x2f')][_0x4932('0x7c')]({'where':{'id':_0x2ee825[_0x4932('0x56')]['id']}})[_0x4932('0x2a')](function(_0x12153a){if(_0x12153a){if(!_0x2ee825[_0x4932('0x34')][_0x4932('0x72')]||!utils[_0x4932('0x77')](_0x2ee825['query'][_0x4932('0x72')])){throw new db[(_0x4932('0x5b'))][(_0x4932('0x78'))](_0x4932('0x73'));}return _0x12153a['remove'+_[_0x4932('0x74')](_0x2ee825[_0x4932('0x34')][_0x4932('0x72')][_0x4932('0x75')]())+_0x4932('0x7a')](_0x2ee825[_0x4932('0x34')]['ids']);}return null;})[_0x4932('0x2a')](handleEntityNotFound(_0x3b57ae,null))[_0x4932('0x2a')](respondWithStatusCode(_0x3b57ae,null))[_0x4932('0x46')](handleError(_0x3b57ae,null));};exports[_0x4932('0x7d')]=function(_0x5251a4,_0x3eed93){var _0x5a4280=_[_0x4932('0x7e')](_0x5251a4[_0x4932('0x4b')]['ids'])?_0x5251a4[_0x4932('0x4b')][_0x4932('0x7b')]:[_0x5251a4['body'][_0x4932('0x7b')]];var _0x4e3748=_0x5251a4[_0x4932('0x56')]['id'];return db['Team']['find']({'where':{'id':_0x4e3748}})[_0x4932('0x2a')](handleEntityNotFound(_0x3eed93,null))[_0x4932('0x2a')](function(_0x2b9216){if(_0x2b9216){var _0x32696c=[_0x4932('0x7f'),_0x4932('0x80'),_0x4932('0x81'),_0x4932('0x82'),'Fax',_0x4932('0x83'),_0x4932('0x84')];return db[_0x4932('0x5a')][_0x4932('0x58')](function(_0x451104){var _0x2ac36=_['map'](_0x32696c,function(_0xd02f7b){var _0x4dff1d={'attributes':['id','name']};if(_0xd02f7b==='Voice'){_0x4dff1d['through']={'attributes':['penalty']};}return _0x2b9216[_0x4932('0x4d')+_0xd02f7b+_0x4932('0x7a')](_0x4dff1d)['then'](function(_0x387053){var _0x27c399=_['map'](_0x387053,function(_0x31b6bd){var _0x53e635=_['map'](_0x5a4280,function(_0x13f86d){var _0x39006b={'where':{'UserId':_0x13f86d,[_0xd02f7b+_0x4932('0x85')]:_0x31b6bd['id']},'transaction':_0x451104};if(_0xd02f7b===_0x4932('0x7f')){_0x39006b[_0x4932('0x1a')]={'penalty':_0x31b6bd[_0x4932('0x86')][_0x4932('0x87')]};}return db[_0x4932('0x88')+_0xd02f7b+'Queue'][_0x4932('0x89')](_0x39006b)[_0x4932('0x2a')](function(){socket[_0x4932('0x8a')]('user'+_0xd02f7b+_0x4932('0x8b'),{'UserId':_0x13f86d,[_0xd02f7b+_0x4932('0x85')]:_0x31b6bd['id']});if(_0xd02f7b!==_0x4932('0x7f')){return;}return db[_0x4932('0x88')][_0x4932('0x45')]({'where':{'id':_0x5a4280,'online':0x1},'attributes':['id',_0x4932('0x2c'),_0x4932('0x8c'),_0x4932('0x8d'),_0x4932('0x8e')],'raw':!![]})[_0x4932('0x2a')](function(_0x5f2f22){var _0x5eb547=_[_0x4932('0x2e')](_0x5f2f22,function(_0x5d10af){return db[_0x4932('0x8f')][_0x4932('0x90')]({'membername':_0x5d10af['name'],'UserId':_0x5d10af['id'],'queue_name':_0x31b6bd[_0x4932('0x2c')],'VoiceQueueId':_0x31b6bd['id'],'interface':_[_0x4932('0x91')](_0x5d10af[_0x4932('0x8e')])?util[_0x4932('0x92')](_0x4932('0x93'),_0x5d10af['name']):_0x5d10af['interface'],'paused':_0x5d10af[_0x4932('0x8d')]||![],'penalty':_0x31b6bd[_0x4932('0x86')][_0x4932('0x87')]},{'transaction':_0x451104});});return Promise['all'](_0x5eb547);});});});return Promise[_0x4932('0x94')](_0x53e635);});return Promise[_0x4932('0x94')](_0x27c399);})['then'](function(){return db[_0x4932('0x6f')][_0x4932('0x7c')]({'where':{'teamId':_0x4e3748}})[_0x4932('0x2a')](function(_0x3496ff){if(_0x3496ff){var _0x137ddd=_[_0x4932('0x2e')](_0x5a4280,function(_0x545f38){db[_0x4932('0x95')][_0x4932('0x90')]({'UserId':_0x545f38,'VoicePrefixId':_0x3496ff[_0x4932('0x70')]});});return Promise[_0x4932('0x94')](_0x137ddd);}});});});return Promise[_0x4932('0x94')](_0x2ac36)['then'](function(){return _0x2b9216[_0x4932('0x7d')](_0x5a4280,{'transaction':_0x451104})[_0x4932('0x96')](function(_0x3f8b99){return _0x3f8b99;});});});}})['then'](respondWithResult(_0x3eed93,null))[_0x4932('0x46')](handleError(_0x3eed93,null));};exports['removeAgents']=function(_0x208686,_0x43e9e4){var _0xed2958=_[_0x4932('0x7e')](_0x208686[_0x4932('0x34')][_0x4932('0x7b')])?_0x208686['query'][_0x4932('0x7b')]:[_0x208686[_0x4932('0x34')]['ids']];var _0x3a32c1=_0x208686[_0x4932('0x56')]['id'];return db['Team'][_0x4932('0x50')]({'where':{'id':_0x3a32c1}})[_0x4932('0x2a')](handleEntityNotFound(_0x43e9e4,null))[_0x4932('0x2a')](function(_0x1e0471){if(_0x1e0471){var _0x4ee07d=[_0x4932('0x7f'),'Chat','Mail',_0x4932('0x82'),_0x4932('0x97'),_0x4932('0x83'),'Whatsapp'];return db['sequelize'][_0x4932('0x58')](function(_0x5c5c6f){var _0x5ac17a=_[_0x4932('0x2e')](_0x4ee07d,function(_0x4f76c3){var _0x5c0adc={'attributes':['id','name']};return _0x1e0471['get'+_0x4f76c3+_0x4932('0x7a')](_0x5c0adc)[_0x4932('0x2a')](function(_0x527fee){var _0x4a1ca9=_[_0x4932('0x2e')](_0x527fee,function(_0x1ad340){return _0x1ad340['removeAgents'](_0xed2958,{'transaction':_0x5c5c6f})[_0x4932('0x2a')](function(){var _0x390715=_[_0x4932('0x2e')](_0xed2958,function(_0x4312c0){socket[_0x4932('0x8a')]('user'+_0x4f76c3+_0x4932('0x98'),{'UserId':Number(_0x4312c0),[_0x4f76c3+_0x4932('0x85')]:_0x1ad340['id']});if(_0x4f76c3!=='Voice'){return;}return db['UserVoiceQueueRt'][_0x4932('0x57')]({'where':{'VoiceQueueId':_0x1ad340['id'],'UserId':_0x4312c0},'transaction':_0x5c5c6f});});return Promise[_0x4932('0x94')](_0x390715);});});return Promise[_0x4932('0x94')](_0x4a1ca9);});});return Promise[_0x4932('0x94')](_0x5ac17a)['then'](function(){return _0x1e0471[_0x4932('0x99')](_0xed2958,{'transaction':_0x5c5c6f});})[_0x4932('0x2a')](function(){return db[_0x4932('0x6f')]['findOne']({'where':{'teamId':_0x3a32c1}})[_0x4932('0x2a')](function(_0x8ca264){if(_0x8ca264){var _0x349699=_[_0x4932('0x2e')](_0xed2958,function(_0x379478){db[_0x4932('0x95')][_0x4932('0x57')]({'where':{'UserId':_0x379478,'VoicePrefixId':_0x8ca264[_0x4932('0x70')]}});});return Promise[_0x4932('0x94')](_0x349699);}});});});}})['then'](respondWithStatusCode(_0x43e9e4,null))[_0x4932('0x46')](handleError(_0x43e9e4,null));};exports[_0x4932('0x9a')]=function(_0x4b374a,_0x263123,_0x19e5e4){var _0x47cf34={};var _0x483455={};var _0x176f2c;var _0x2d41db;return db['Team']['findOne']({'where':{'id':_0x4b374a[_0x4932('0x56')]['id']}})[_0x4932('0x2a')](handleEntityNotFound(_0x263123,null))['then'](function(_0x4cd897){if(_0x4cd897){_0x176f2c=_0x4cd897;_0x483455[_0x4932('0x37')]=_[_0x4932('0x48')](db[_0x4932('0x88')][_0x4932('0x30')]);_0x483455[_0x4932('0x34')]=_[_0x4932('0x48')](_0x4b374a[_0x4932('0x34')]);_0x483455[_0x4932('0x35')]=_['intersection'](_0x483455[_0x4932('0x37')],_0x483455[_0x4932('0x34')]);_0x47cf34[_0x4932('0x38')]=_[_0x4932('0x36')](_0x483455[_0x4932('0x37')],qs[_0x4932('0x39')](_0x4b374a[_0x4932('0x34')]['fields']));_0x47cf34[_0x4932('0x38')]=_0x47cf34[_0x4932('0x38')][_0x4932('0x3a')]?_0x47cf34[_0x4932('0x38')]:_0x483455[_0x4932('0x37')];_0x47cf34['order']=qs[_0x4932('0x3d')](_0x4b374a[_0x4932('0x34')][_0x4932('0x3d')]);_0x47cf34[_0x4932('0x40')]=qs[_0x4932('0x35')](_[_0x4932('0x3e')](_0x4b374a['query'],_0x483455[_0x4932('0x35')]));if(_0x4b374a['query'][_0x4932('0x3f')]){_0x47cf34['where']=_[_0x4932('0x41')](_0x47cf34[_0x4932('0x40')],{'$or':_[_0x4932('0x2e')](_0x47cf34[_0x4932('0x38')],function(_0x467f4a){var _0x392fb4={};_0x392fb4[_0x467f4a]={'$like':'%'+_0x4b374a['query'][_0x4932('0x3f')]+'%'};return _0x392fb4;})});}_0x47cf34=_[_0x4932('0x41')]({},_0x47cf34,_0x4b374a['options']);return _0x176f2c[_0x4932('0x9a')](_0x47cf34);}})[_0x4932('0x2a')](function(_0x2f00cc){if(_0x2f00cc){_0x2d41db=_0x2f00cc[_0x4932('0x3a')];if(!_0x4b374a[_0x4932('0x34')]['hasOwnProperty'](_0x4932('0x3b'))){_0x47cf34[_0x4932('0x24')]=qs[_0x4932('0x24')](_0x4b374a[_0x4932('0x34')]['limit']);_0x47cf34[_0x4932('0x21')]=qs[_0x4932('0x21')](_0x4b374a[_0x4932('0x34')]['offset']);}return _0x176f2c[_0x4932('0x9a')](_0x47cf34);}})[_0x4932('0x2a')](function(_0x4a93b1){if(_0x4a93b1){return _0x4a93b1?{'count':_0x2d41db,'rows':_0x4a93b1}:null;}})[_0x4932('0x2a')](respondWithResult(_0x263123,null))[_0x4932('0x46')](handleError(_0x263123,null));};