Built motion from commit 753c950e.|2.5.42
[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 _0x81be=['isArray','Voice','Chat','Mail','Sms','Whatsapp','penalty','defaults','TeamVoiceQueue','User','findOrCreate','emit','QueueId','online','UserVoiceQueueRt','upsert','isNil','interface','SIP/%s','all','UserVoicePrefix','spread','removeAgents','Fax','Openchannel','Queue:remove','TeamVoicePrefix','getAgents','hasOwnProperty','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','reject','save','update','then','error','stack','name','send','index','map','Team','rawAttributes','fieldName','key','model','keys','filters','intersection','query','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','findAll','rows','params','include','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Teams','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','sequelize','transaction','QueryTypes','SELECT','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','Sequelize','VoiceQueueId','UserVoiceQueue','destroy','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','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','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','UserProfileResource','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','addQueues','add','ids','addAgents'];(function(_0x17b1c0,_0x5f48f5){var _0x5b0ff5=function(_0x404a6c){while(--_0x404a6c){_0x17b1c0['push'](_0x17b1c0['shift']());}};_0x5b0ff5(++_0x5f48f5);}(_0x81be,0x15d));var _0xe81b=function(_0x42cae2,_0x284ef8){_0x42cae2=_0x42cae2-0x0;var _0x5f256f=_0x81be[_0x42cae2];return _0x5f256f;};'use strict';var emlformat=require(_0xe81b('0x0'));var rimraf=require(_0xe81b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe81b('0x2'));var rp=require(_0xe81b('0x3'));var moment=require(_0xe81b('0x4'));var BPromise=require(_0xe81b('0x5'));var Mustache=require(_0xe81b('0x6'));var util=require('util');var path=require(_0xe81b('0x7'));var sox=require(_0xe81b('0x8'));var csv=require(_0xe81b('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xe81b('0xa'));var _=require(_0xe81b('0xb'));var squel=require(_0xe81b('0xc'));var crypto=require(_0xe81b('0xd'));var jsforce=require(_0xe81b('0xe'));var deskjs=require(_0xe81b('0xf'));var toCsv=require(_0xe81b('0x9'));var querystring=require(_0xe81b('0x10'));var Papa=require(_0xe81b('0x11'));var Redis=require('ioredis');var authService=require(_0xe81b('0x12'));var qs=require(_0xe81b('0x13'));var as=require(_0xe81b('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe81b('0x15'))(_0xe81b('0x16'));var utils=require(_0xe81b('0x17'));var config=require(_0xe81b('0x18'));var licenseUtil=require(_0xe81b('0x19'));var db=require(_0xe81b('0x1a'))['db'];config[_0xe81b('0x1b')]=_['defaults'](config[_0xe81b('0x1b')],{'host':_0xe81b('0x1c'),'port':0x18eb});var socket=require(_0xe81b('0x1d'))(new Redis(config[_0xe81b('0x1b')]));require(_0xe81b('0x1e'))[_0xe81b('0x1f')](socket);function respondWithStatusCode(_0x21d9c1,_0x5afdf6){_0x5afdf6=_0x5afdf6||0xcc;return function(_0x1055c9){if(_0x1055c9){return _0x21d9c1[_0xe81b('0x20')](_0x5afdf6);}return _0x21d9c1['status'](_0x5afdf6)[_0xe81b('0x21')]();};}function respondWithResult(_0x8e4863,_0x3a5233){_0x3a5233=_0x3a5233||0xc8;return function(_0x11c024){if(_0x11c024){return _0x8e4863[_0xe81b('0x22')](_0x3a5233)[_0xe81b('0x23')](_0x11c024);}};}function respondWithFilteredResult(_0x9586c7,_0x176ec3){return function(_0x1fa233){if(_0x1fa233){var _0x497fc5=typeof _0x176ec3[_0xe81b('0x24')]===_0xe81b('0x25')&&typeof _0x176ec3[_0xe81b('0x26')]==='undefined';var _0x44e244=_0x1fa233[_0xe81b('0x27')];var _0x30a377=_0x497fc5?0x0:_0x176ec3[_0xe81b('0x24')];var _0x13350b=_0x497fc5?_0x1fa233[_0xe81b('0x27')]:_0x176ec3[_0xe81b('0x24')]+_0x176ec3[_0xe81b('0x26')];var _0x32175d;if(_0x13350b>=_0x44e244){_0x13350b=_0x44e244;_0x32175d=0xc8;}else{_0x32175d=0xce;}_0x9586c7[_0xe81b('0x22')](_0x32175d);return _0x9586c7[_0xe81b('0x28')]('Content-Range',_0x30a377+'-'+_0x13350b+'/'+_0x44e244)[_0xe81b('0x23')](_0x1fa233);}return null;};}function patchUpdates(_0x582e1a){return function(_0x12d139){try{jsonpatch[_0xe81b('0x29')](_0x12d139,_0x582e1a,!![]);}catch(_0x35138c){return BPromise[_0xe81b('0x2a')](_0x35138c);}return _0x12d139[_0xe81b('0x2b')]();};}function saveUpdates(_0x34d83e,_0x4484f2){return function(_0x5c5170){if(_0x5c5170){return _0x5c5170[_0xe81b('0x2c')](_0x34d83e)[_0xe81b('0x2d')](function(_0x3f9e39){return _0x3f9e39;});}return null;};}function handleEntityNotFound(_0x59268a,_0x361cc0){return function(_0x362a68){if(!_0x362a68){_0x59268a[_0xe81b('0x20')](0x194);}return _0x362a68;};}function handleError(_0x30de45,_0x529431){_0x529431=_0x529431||0x1f4;return function(_0x1244de){logger[_0xe81b('0x2e')](_0x1244de[_0xe81b('0x2f')]);if(_0x1244de[_0xe81b('0x30')]){delete _0x1244de[_0xe81b('0x30')];}_0x30de45[_0xe81b('0x22')](_0x529431)[_0xe81b('0x31')](_0x1244de);};}exports[_0xe81b('0x32')]=function(_0xa0c8ec,_0x5cbe88){var _0x2e6efd={},_0x5349a1={},_0x1cf1c2={'count':0x0,'rows':[]};var _0x298f3f=_[_0xe81b('0x33')](db[_0xe81b('0x34')][_0xe81b('0x35')],function(_0xa2667b){return{'name':_0xa2667b[_0xe81b('0x36')],'type':_0xa2667b['type'][_0xe81b('0x37')]};});_0x5349a1[_0xe81b('0x38')]=_[_0xe81b('0x33')](_0x298f3f,_0xe81b('0x30'));_0x5349a1['query']=_[_0xe81b('0x39')](_0xa0c8ec['query']);_0x5349a1[_0xe81b('0x3a')]=_[_0xe81b('0x3b')](_0x5349a1[_0xe81b('0x38')],_0x5349a1[_0xe81b('0x3c')]);_0x2e6efd[_0xe81b('0x3d')]=_[_0xe81b('0x3b')](_0x5349a1[_0xe81b('0x38')],qs[_0xe81b('0x3e')](_0xa0c8ec[_0xe81b('0x3c')][_0xe81b('0x3e')]));_0x2e6efd[_0xe81b('0x3d')]=_0x2e6efd['attributes'][_0xe81b('0x3f')]?_0x2e6efd[_0xe81b('0x3d')]:_0x5349a1[_0xe81b('0x38')];if(!_0xa0c8ec['query']['hasOwnProperty'](_0xe81b('0x40'))){_0x2e6efd[_0xe81b('0x26')]=qs[_0xe81b('0x26')](_0xa0c8ec['query'][_0xe81b('0x26')]);_0x2e6efd[_0xe81b('0x24')]=qs[_0xe81b('0x24')](_0xa0c8ec[_0xe81b('0x3c')][_0xe81b('0x24')]);}_0x2e6efd[_0xe81b('0x41')]=qs[_0xe81b('0x42')](_0xa0c8ec[_0xe81b('0x3c')]['sort']);_0x2e6efd[_0xe81b('0x43')]=qs['filters'](_[_0xe81b('0x44')](_0xa0c8ec[_0xe81b('0x3c')],_0x5349a1[_0xe81b('0x3a')]),_0x298f3f);if(_0xa0c8ec[_0xe81b('0x3c')][_0xe81b('0x45')]){_0x2e6efd[_0xe81b('0x43')]=_[_0xe81b('0x46')](_0x2e6efd[_0xe81b('0x43')],{'$or':_[_0xe81b('0x33')](_0x298f3f,function(_0x4eb5c1){if(_0x4eb5c1[_0xe81b('0x47')]!==_0xe81b('0x48')){var _0x242d2d={};_0x242d2d[_0x4eb5c1['name']]={'$like':'%'+_0xa0c8ec[_0xe81b('0x3c')][_0xe81b('0x45')]+'%'};return _0x242d2d;}})});}_0x2e6efd=_[_0xe81b('0x46')]({},_0x2e6efd,_0xa0c8ec[_0xe81b('0x49')]);var _0x1c856f={'where':_0x2e6efd['where']};return db[_0xe81b('0x34')][_0xe81b('0x27')](_0x1c856f)[_0xe81b('0x2d')](function(_0x4ac6b4){_0x1cf1c2[_0xe81b('0x27')]=_0x4ac6b4;if(_0xa0c8ec['query'][_0xe81b('0x4a')]){_0x2e6efd['include']=[{'all':!![]}];}return db[_0xe81b('0x34')][_0xe81b('0x4b')](_0x2e6efd);})['then'](function(_0xb1366){_0x1cf1c2[_0xe81b('0x4c')]=_0xb1366;return _0x1cf1c2;})['then'](respondWithFilteredResult(_0x5cbe88,_0x2e6efd))['catch'](handleError(_0x5cbe88,null));};exports['show']=function(_0x3ea9ba,_0xce3efa){var _0xf08b09={'raw':![],'where':{'id':_0x3ea9ba[_0xe81b('0x4d')]['id']}},_0x1a86ca={};_0x1a86ca[_0xe81b('0x38')]=_[_0xe81b('0x39')](db[_0xe81b('0x34')]['rawAttributes']);_0x1a86ca['query']=_[_0xe81b('0x39')](_0x3ea9ba[_0xe81b('0x3c')]);_0x1a86ca[_0xe81b('0x3a')]=_['intersection'](_0x1a86ca[_0xe81b('0x38')],_0x1a86ca['query']);_0xf08b09[_0xe81b('0x3d')]=_[_0xe81b('0x3b')](_0x1a86ca[_0xe81b('0x38')],qs[_0xe81b('0x3e')](_0x3ea9ba['query'][_0xe81b('0x3e')]));_0xf08b09['attributes']=_0xf08b09[_0xe81b('0x3d')][_0xe81b('0x3f')]?_0xf08b09[_0xe81b('0x3d')]:_0x1a86ca['model'];if(_0x3ea9ba[_0xe81b('0x3c')][_0xe81b('0x4a')]){_0xf08b09[_0xe81b('0x4e')]=[{'all':!![]}];}_0xf08b09=_[_0xe81b('0x46')]({},_0xf08b09,_0x3ea9ba[_0xe81b('0x49')]);return db['Team'][_0xe81b('0x4f')](_0xf08b09)['then'](handleEntityNotFound(_0xce3efa,null))[_0xe81b('0x2d')](respondWithResult(_0xce3efa,null))[_0xe81b('0x50')](handleError(_0xce3efa,null));};exports[_0xe81b('0x51')]=function(_0x64fd91,_0x48b713){return db[_0xe81b('0x34')]['create'](_0x64fd91[_0xe81b('0x52')],{})[_0xe81b('0x2d')](function(_0x1e2ff9){var _0x64080c=_0x64fd91[_0xe81b('0x53')][_0xe81b('0x54')]({'plain':!![]});if(!_0x64080c)throw new Error(_0xe81b('0x55'));if(_0x64080c[_0xe81b('0x56')]===_0xe81b('0x53')){var _0x2e7f6e=_0x1e2ff9[_0xe81b('0x54')]({'plain':!![]});var _0x44b21d=_0xe81b('0x57');return db[_0xe81b('0x58')]['find']({'where':{'name':_0x44b21d,'userProfileId':_0x64080c[_0xe81b('0x59')]},'raw':!![]})['then'](function(_0x50e46d){if(_0x50e46d&&_0x50e46d['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x2e7f6e[_0xe81b('0x30')],'resourceId':_0x2e7f6e['id'],'type':_0x50e46d[_0xe81b('0x30')],'sectionId':_0x50e46d['id']},{})[_0xe81b('0x2d')](function(){return _0x1e2ff9;});}else{return _0x1e2ff9;}})['catch'](function(_0x530dac){logger[_0xe81b('0x2e')](_0xe81b('0x5a'),_0x530dac);throw _0x530dac;});}return _0x1e2ff9;})[_0xe81b('0x2d')](respondWithResult(_0x48b713,0xc9))['catch'](handleError(_0x48b713,null));};exports[_0xe81b('0x2c')]=function(_0x5b1e9d,_0x5c38b0){if(_0x5b1e9d[_0xe81b('0x52')]['id']){delete _0x5b1e9d[_0xe81b('0x52')]['id'];}return db[_0xe81b('0x34')][_0xe81b('0x4f')]({'where':{'id':_0x5b1e9d[_0xe81b('0x4d')]['id']}})[_0xe81b('0x2d')](handleEntityNotFound(_0x5c38b0,null))[_0xe81b('0x2d')](saveUpdates(_0x5b1e9d[_0xe81b('0x52')],null))[_0xe81b('0x2d')](respondWithResult(_0x5c38b0,null))['catch'](handleError(_0x5c38b0,null));};exports['destroy']=function(_0xa2b410,_0x50ce0b){var _0x3354d4=_0xa2b410[_0xe81b('0x4d')]['id'];var _0x57a663=[];return db[_0xe81b('0x5b')][_0xe81b('0x5c')](function(_0x5d1a6a){var _0x3421a3='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x3354d4;return db[_0xe81b('0x5b')]['query'](_0x3421a3,{'type':db['Sequelize'][_0xe81b('0x5d')][_0xe81b('0x5e')],'raw':!![],'transaction':_0x5d1a6a})[_0xe81b('0x2d')](function(_0x1618e0){_0x57a663=_['map'](_0x1618e0,function(_0x12c46d){return Number(_0x12c46d['UserId']);});})['then'](function(){var _0xef338=_0xe81b('0x5f')+_0x3354d4;return db['sequelize']['query'](_0xef338,{'type':db[_0xe81b('0x60')]['QueryTypes'][_0xe81b('0x5e')],'raw':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x5169cc){var _0x567d2a=_[_0xe81b('0x33')](_0x5169cc,function(_0x5ca875){return Number(_0x5ca875[_0xe81b('0x61')]);});return db[_0xe81b('0x62')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'VoiceQueueId':{'$in':_0x567d2a}},'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(){var _0x132992=_0xe81b('0x64')+_0x3354d4;return db[_0xe81b('0x5b')][_0xe81b('0x3c')](_0x132992,{'type':db[_0xe81b('0x60')][_0xe81b('0x5d')]['SELECT'],'raw':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x4b1693){var _0x95a927=_[_0xe81b('0x33')](_0x4b1693,function(_0x16b8ab){return Number(_0x16b8ab[_0xe81b('0x65')]);});return db[_0xe81b('0x66')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'MailQueueId':{'$in':_0x95a927}},'transaction':_0x5d1a6a});})['then'](function(){var _0x10b05b=_0xe81b('0x67')+_0x3354d4;return db[_0xe81b('0x5b')][_0xe81b('0x3c')](_0x10b05b,{'type':db[_0xe81b('0x60')][_0xe81b('0x5d')][_0xe81b('0x5e')],'raw':!![],'transaction':_0x5d1a6a});})['then'](function(_0x533ab6){var _0xd15898=_[_0xe81b('0x33')](_0x533ab6,function(_0x147313){return Number(_0x147313['SmsQueueId']);});return db[_0xe81b('0x68')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'SmsQueueId':{'$in':_0xd15898}},'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(){var _0x49e513=_0xe81b('0x69')+_0x3354d4;return db[_0xe81b('0x5b')][_0xe81b('0x3c')](_0x49e513,{'type':db['Sequelize'][_0xe81b('0x5d')][_0xe81b('0x5e')],'raw':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x515408){var _0x3ffc1b=_[_0xe81b('0x33')](_0x515408,function(_0x2a8086){return Number(_0x2a8086[_0xe81b('0x6a')]);});return db[_0xe81b('0x6b')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'ChatQueueId':{'$in':_0x3ffc1b}},'transaction':_0x5d1a6a});})['then'](function(){var _0x44e97f=_0xe81b('0x6c')+_0x3354d4;return db['sequelize'][_0xe81b('0x3c')](_0x44e97f,{'type':db[_0xe81b('0x60')]['QueryTypes'][_0xe81b('0x5e')],'raw':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x35c7db){var _0x1a0c48=_['map'](_0x35c7db,function(_0x4fb2f3){return Number(_0x4fb2f3['FaxQueueId']);});return db[_0xe81b('0x6d')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'FaxQueueId':{'$in':_0x1a0c48}},'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(){var _0x15a0ad=_0xe81b('0x6e')+_0x3354d4;return db[_0xe81b('0x5b')][_0xe81b('0x3c')](_0x15a0ad,{'type':db[_0xe81b('0x60')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x6ea6c8){var _0x5582c6=_[_0xe81b('0x33')](_0x6ea6c8,function(_0x5c45fe){return Number(_0x5c45fe[_0xe81b('0x6f')]);});return db[_0xe81b('0x70')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'OpenchannelQueueId':{'$in':_0x5582c6}},'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(){var _0x324dc9=_0xe81b('0x71')+_0x3354d4;return db['sequelize'][_0xe81b('0x3c')](_0x324dc9,{'type':db['Sequelize'][_0xe81b('0x5d')][_0xe81b('0x5e')],'raw':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x431178){var _0x485073=_[_0xe81b('0x33')](_0x431178,function(_0x26ecb3){return Number(_0x26ecb3[_0xe81b('0x72')]);});return db[_0xe81b('0x73')][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'WhatsappQueueId':{'$in':_0x485073}},'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(){return db['TeamVoicePrefix'][_0xe81b('0x4f')]({'where':{'TeamId':_0x3354d4}});})[_0xe81b('0x2d')](function(_0x268c51){if(_0x268c51===null){return;}return db['UserVoicePrefix'][_0xe81b('0x63')]({'where':{'UserId':{'$in':_0x57a663},'VoicePrefixId':_0x268c51['VoicePrefixId']},'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(){return db[_0xe81b('0x34')]['destroy']({'where':{'id':_0x3354d4},'cascade':!![],'transaction':_0x5d1a6a});})[_0xe81b('0x2d')](function(_0x31460c){if(_0x31460c===0x0){_0x50ce0b[_0xe81b('0x20')](0x194);}else{return db[_0xe81b('0x74')]['destroy']({'where':{'type':_0xe81b('0x57'),'resourceId':_0x3354d4},'cascade':!![],'transaction':_0x5d1a6a})[_0xe81b('0x2d')](function(){_0x50ce0b['status'](0xcc)[_0xe81b('0x21')]();});}})['catch'](function(_0x59e2a4){_0x50ce0b[_0xe81b('0x22')](0x1f4)[_0xe81b('0x31')](_0x59e2a4);});});};exports[_0xe81b('0x75')]=function(_0x521f60,_0x3d379b,_0x231cb3){return db[_0xe81b('0x34')][_0xe81b('0x76')]({'where':{'id':_0x521f60[_0xe81b('0x4d')]['id']}})[_0xe81b('0x2d')](handleEntityNotFound(_0x3d379b,null))[_0xe81b('0x2d')](function(_0x887899){if(!_0x521f60[_0xe81b('0x3c')][_0xe81b('0x77')]||!utils[_0xe81b('0x78')](_0x521f60['query']['channel'])){throw new db[(_0xe81b('0x60'))][(_0xe81b('0x79'))](_0xe81b('0x7a'));}var _0x4d7901={};var _0x1abeb6={};_0x1abeb6['model']=_[_0xe81b('0x39')](db[_[_0xe81b('0x7b')](_0x521f60[_0xe81b('0x3c')][_0xe81b('0x77')][_0xe81b('0x7c')]())+_0xe81b('0x7d')][_0xe81b('0x35')]);_0x1abeb6[_0xe81b('0x3c')]=_[_0xe81b('0x39')](_0x521f60[_0xe81b('0x3c')]);_0x1abeb6[_0xe81b('0x3a')]=_[_0xe81b('0x3b')](_0x1abeb6['model'],_0x1abeb6['query']);_0x4d7901['attributes']=_[_0xe81b('0x3b')](_0x1abeb6[_0xe81b('0x38')],qs[_0xe81b('0x3e')](_0x521f60[_0xe81b('0x3c')][_0xe81b('0x3e')]));_0x4d7901[_0xe81b('0x3d')]=_0x4d7901['attributes'][_0xe81b('0x3f')]?_0x4d7901[_0xe81b('0x3d')]:_0x1abeb6[_0xe81b('0x38')];_0x4d7901[_0xe81b('0x26')]=qs[_0xe81b('0x26')](_0x521f60[_0xe81b('0x3c')][_0xe81b('0x26')]);_0x4d7901[_0xe81b('0x24')]=qs['offset'](_0x521f60[_0xe81b('0x3c')][_0xe81b('0x24')]);_0x4d7901[_0xe81b('0x41')]=qs['sort'](_0x521f60['query']['sort']);_0x4d7901['where']=qs['filters'](_[_0xe81b('0x44')](_0x521f60[_0xe81b('0x3c')],_0x1abeb6[_0xe81b('0x3a')]));_0x4d7901=_[_0xe81b('0x46')]({},_0x4d7901,_0x521f60[_0xe81b('0x49')]);return _0x887899[_0xe81b('0x54')+_[_0xe81b('0x7b')](_0x521f60[_0xe81b('0x3c')][_0xe81b('0x77')]['toLowerCase']())+_0xe81b('0x7e')](_0x4d7901);})[_0xe81b('0x2d')](respondWithResult(_0x3d379b,null))[_0xe81b('0x50')](handleError(_0x3d379b,null));};exports[_0xe81b('0x7f')]=function(_0x589d30,_0x4982aa,_0x3b52ec){return db[_0xe81b('0x34')]['findOne']({'where':{'id':_0x589d30[_0xe81b('0x4d')]['id']}})[_0xe81b('0x2d')](function(_0x53288f){if(_0x53288f){if(!_0x589d30[_0xe81b('0x52')]['channel']||!utils[_0xe81b('0x78')](_0x589d30[_0xe81b('0x52')][_0xe81b('0x77')])){throw new db[(_0xe81b('0x60'))][(_0xe81b('0x79'))](_0xe81b('0x7a'));}return _0x53288f[_0xe81b('0x80')+_[_0xe81b('0x7b')](_0x589d30[_0xe81b('0x52')]['channel']['toLowerCase']())+_0xe81b('0x7e')](_0x589d30[_0xe81b('0x52')]['ids']);}return null;})[_0xe81b('0x2d')](handleEntityNotFound(_0x4982aa,null))[_0xe81b('0x2d')](respondWithStatusCode(_0x4982aa,null))[_0xe81b('0x50')](handleError(_0x4982aa,null));};exports['removeQueues']=function(_0x59be2e,_0x345a3d,_0x500bdc){return db['Team']['findOne']({'where':{'id':_0x59be2e[_0xe81b('0x4d')]['id']}})['then'](function(_0x59444a){if(_0x59444a){if(!_0x59be2e[_0xe81b('0x3c')][_0xe81b('0x77')]||!utils[_0xe81b('0x78')](_0x59be2e[_0xe81b('0x3c')][_0xe81b('0x77')])){throw new db[(_0xe81b('0x60'))][(_0xe81b('0x79'))](_0xe81b('0x7a'));}return _0x59444a['remove'+_[_0xe81b('0x7b')](_0x59be2e[_0xe81b('0x3c')][_0xe81b('0x77')][_0xe81b('0x7c')]())+_0xe81b('0x7e')](_0x59be2e['query'][_0xe81b('0x81')]);}return null;})[_0xe81b('0x2d')](handleEntityNotFound(_0x345a3d,null))['then'](respondWithStatusCode(_0x345a3d,null))['catch'](handleError(_0x345a3d,null));};exports[_0xe81b('0x82')]=function(_0x43138c,_0x1e0abb){var _0x318c98=_[_0xe81b('0x83')](_0x43138c[_0xe81b('0x52')][_0xe81b('0x81')])?_0x43138c[_0xe81b('0x52')]['ids']:[_0x43138c[_0xe81b('0x52')][_0xe81b('0x81')]];var _0x2a0859=_0x43138c[_0xe81b('0x4d')]['id'];return db[_0xe81b('0x34')][_0xe81b('0x4f')]({'where':{'id':_0x2a0859}})[_0xe81b('0x2d')](handleEntityNotFound(_0x1e0abb,null))[_0xe81b('0x2d')](function(_0x293b04){if(_0x293b04){var _0x1040f5=[_0xe81b('0x84'),_0xe81b('0x85'),_0xe81b('0x86'),_0xe81b('0x87'),'Fax','Openchannel',_0xe81b('0x88')];return db[_0xe81b('0x5b')][_0xe81b('0x5c')](function(_0x41638f){var _0x2595ca=_[_0xe81b('0x33')](_0x1040f5,function(_0xb16d16){var _0xc97cbd={'attributes':['id',_0xe81b('0x30')]};if(_0xb16d16===_0xe81b('0x84')){_0xc97cbd['through']={'attributes':[_0xe81b('0x89')]};}return _0x293b04['get'+_0xb16d16+_0xe81b('0x7e')](_0xc97cbd)[_0xe81b('0x2d')](function(_0x5fb3d5){var _0x168128=_[_0xe81b('0x33')](_0x5fb3d5,function(_0x4b7419){var _0x1f7266=_[_0xe81b('0x33')](_0x318c98,function(_0x4f6d99){var _0x3cd818={'where':{'UserId':_0x4f6d99,[_0xb16d16+'QueueId']:_0x4b7419['id']},'transaction':_0x41638f};if(_0xb16d16===_0xe81b('0x84')){_0x3cd818[_0xe81b('0x8a')]={'penalty':_0x4b7419[_0xe81b('0x8b')][_0xe81b('0x89')]};}return db[_0xe81b('0x8c')+_0xb16d16+_0xe81b('0x7d')][_0xe81b('0x8d')](_0x3cd818)[_0xe81b('0x2d')](function(){socket[_0xe81b('0x8e')]('user'+_0xb16d16+'Queue:save',{'UserId':_0x4f6d99,[_0xb16d16+_0xe81b('0x8f')]:_0x4b7419['id']});if(_0xb16d16!==_0xe81b('0x84')){return;}return db[_0xe81b('0x8c')][_0xe81b('0x4b')]({'where':{'id':_0x318c98,'online':0x1},'attributes':['id','name',_0xe81b('0x90'),'voicePause','interface'],'raw':!![]})['then'](function(_0x3b4cac){var _0x1c7f0c=_[_0xe81b('0x33')](_0x3b4cac,function(_0x5c5784){return db[_0xe81b('0x91')][_0xe81b('0x92')]({'membername':_0x5c5784[_0xe81b('0x30')],'UserId':_0x5c5784['id'],'queue_name':_0x4b7419[_0xe81b('0x30')],'VoiceQueueId':_0x4b7419['id'],'interface':_[_0xe81b('0x93')](_0x5c5784[_0xe81b('0x94')])?util['format'](_0xe81b('0x95'),_0x5c5784[_0xe81b('0x30')]):_0x5c5784[_0xe81b('0x94')],'paused':_0x5c5784['voicePause']||![],'penalty':_0x4b7419[_0xe81b('0x8b')][_0xe81b('0x89')]},{'transaction':_0x41638f});});return Promise[_0xe81b('0x96')](_0x1c7f0c);});});});return Promise[_0xe81b('0x96')](_0x1f7266);});return Promise[_0xe81b('0x96')](_0x168128);})[_0xe81b('0x2d')](function(){return db['TeamVoicePrefix']['findOne']({'where':{'teamId':_0x2a0859}})[_0xe81b('0x2d')](function(_0xaf87d6){if(_0xaf87d6){var _0x4b36d4=_[_0xe81b('0x33')](_0x318c98,function(_0x11ba19){db[_0xe81b('0x97')][_0xe81b('0x92')]({'UserId':_0x11ba19,'VoicePrefixId':_0xaf87d6['VoicePrefixId']});});return Promise[_0xe81b('0x96')](_0x4b36d4);}});});});return Promise['all'](_0x2595ca)[_0xe81b('0x2d')](function(){return _0x293b04['addAgents'](_0x318c98,{'transaction':_0x41638f})[_0xe81b('0x98')](function(_0x25ff53){return _0x25ff53;});});});}})[_0xe81b('0x2d')](respondWithResult(_0x1e0abb,null))[_0xe81b('0x50')](handleError(_0x1e0abb,null));};exports[_0xe81b('0x99')]=function(_0x160d7c,_0x16173a){var _0x439d86=_['isArray'](_0x160d7c[_0xe81b('0x3c')][_0xe81b('0x81')])?_0x160d7c[_0xe81b('0x3c')]['ids']:[_0x160d7c[_0xe81b('0x3c')][_0xe81b('0x81')]];var _0x16a259=_0x160d7c[_0xe81b('0x4d')]['id'];return db[_0xe81b('0x34')][_0xe81b('0x4f')]({'where':{'id':_0x16a259}})[_0xe81b('0x2d')](handleEntityNotFound(_0x16173a,null))[_0xe81b('0x2d')](function(_0x47a608){if(_0x47a608){var _0x12fcb1=[_0xe81b('0x84'),_0xe81b('0x85'),_0xe81b('0x86'),'Sms',_0xe81b('0x9a'),_0xe81b('0x9b'),_0xe81b('0x88')];return db['sequelize'][_0xe81b('0x5c')](function(_0x374687){var _0x582b7d=_[_0xe81b('0x33')](_0x12fcb1,function(_0x11d11d){var _0x21a7bd={'attributes':['id',_0xe81b('0x30')]};return _0x47a608[_0xe81b('0x54')+_0x11d11d+_0xe81b('0x7e')](_0x21a7bd)[_0xe81b('0x2d')](function(_0x1d23af){var _0x38718d=_[_0xe81b('0x33')](_0x1d23af,function(_0x5c644a){return _0x5c644a[_0xe81b('0x99')](_0x439d86,{'transaction':_0x374687})[_0xe81b('0x2d')](function(){var _0x19130d=_[_0xe81b('0x33')](_0x439d86,function(_0xe13057){socket[_0xe81b('0x8e')](_0xe81b('0x53')+_0x11d11d+_0xe81b('0x9c'),{'UserId':Number(_0xe13057),[_0x11d11d+'QueueId']:_0x5c644a['id']});if(_0x11d11d!==_0xe81b('0x84')){return;}return db[_0xe81b('0x91')][_0xe81b('0x63')]({'where':{'VoiceQueueId':_0x5c644a['id'],'UserId':_0xe13057},'transaction':_0x374687});});return Promise[_0xe81b('0x96')](_0x19130d);});});return Promise[_0xe81b('0x96')](_0x38718d);});});return Promise[_0xe81b('0x96')](_0x582b7d)[_0xe81b('0x2d')](function(){return _0x47a608[_0xe81b('0x99')](_0x439d86,{'transaction':_0x374687});})[_0xe81b('0x2d')](function(){return db[_0xe81b('0x9d')]['findOne']({'where':{'teamId':_0x16a259}})[_0xe81b('0x2d')](function(_0x26dcaa){if(_0x26dcaa){var _0x4d598b=_[_0xe81b('0x33')](_0x439d86,function(_0x145418){db[_0xe81b('0x97')]['destroy']({'where':{'UserId':_0x145418,'VoicePrefixId':_0x26dcaa['VoicePrefixId']}});});return Promise[_0xe81b('0x96')](_0x4d598b);}});});});}})[_0xe81b('0x2d')](respondWithStatusCode(_0x16173a,null))[_0xe81b('0x50')](handleError(_0x16173a,null));};exports[_0xe81b('0x9e')]=function(_0x5b5d7f,_0x2cf00f,_0x286406){var _0x5dac6e={};var _0x22fc89={};var _0x1d44bd;var _0x29caaa;return db[_0xe81b('0x34')][_0xe81b('0x76')]({'where':{'id':_0x5b5d7f['params']['id']}})[_0xe81b('0x2d')](handleEntityNotFound(_0x2cf00f,null))[_0xe81b('0x2d')](function(_0x4b505a){if(_0x4b505a){_0x1d44bd=_0x4b505a;_0x22fc89[_0xe81b('0x38')]=_['keys'](db['User'][_0xe81b('0x35')]);_0x22fc89[_0xe81b('0x3c')]=_[_0xe81b('0x39')](_0x5b5d7f['query']);_0x22fc89[_0xe81b('0x3a')]=_[_0xe81b('0x3b')](_0x22fc89[_0xe81b('0x38')],_0x22fc89[_0xe81b('0x3c')]);_0x5dac6e[_0xe81b('0x3d')]=_['intersection'](_0x22fc89[_0xe81b('0x38')],qs[_0xe81b('0x3e')](_0x5b5d7f['query'][_0xe81b('0x3e')]));_0x5dac6e[_0xe81b('0x3d')]=_0x5dac6e[_0xe81b('0x3d')]['length']?_0x5dac6e[_0xe81b('0x3d')]:_0x22fc89[_0xe81b('0x38')];_0x5dac6e[_0xe81b('0x41')]=qs[_0xe81b('0x42')](_0x5b5d7f[_0xe81b('0x3c')]['sort']);_0x5dac6e[_0xe81b('0x43')]=qs[_0xe81b('0x3a')](_[_0xe81b('0x44')](_0x5b5d7f[_0xe81b('0x3c')],_0x22fc89[_0xe81b('0x3a')]));if(_0x5b5d7f[_0xe81b('0x3c')]['filter']){_0x5dac6e[_0xe81b('0x43')]=_[_0xe81b('0x46')](_0x5dac6e['where'],{'$or':_[_0xe81b('0x33')](_0x5dac6e['attributes'],function(_0x226b6a){var _0x3bacb7={};_0x3bacb7[_0x226b6a]={'$like':'%'+_0x5b5d7f[_0xe81b('0x3c')][_0xe81b('0x45')]+'%'};return _0x3bacb7;})});}_0x5dac6e=_[_0xe81b('0x46')]({},_0x5dac6e,_0x5b5d7f[_0xe81b('0x49')]);return _0x1d44bd[_0xe81b('0x9e')](_0x5dac6e);}})[_0xe81b('0x2d')](function(_0x501d52){if(_0x501d52){_0x29caaa=_0x501d52[_0xe81b('0x3f')];if(!_0x5b5d7f[_0xe81b('0x3c')][_0xe81b('0x9f')](_0xe81b('0x40'))){_0x5dac6e['limit']=qs[_0xe81b('0x26')](_0x5b5d7f[_0xe81b('0x3c')][_0xe81b('0x26')]);_0x5dac6e[_0xe81b('0x24')]=qs[_0xe81b('0x24')](_0x5b5d7f[_0xe81b('0x3c')][_0xe81b('0x24')]);}return _0x1d44bd[_0xe81b('0x9e')](_0x5dac6e);}})[_0xe81b('0x2d')](function(_0x33e280){if(_0x33e280){return _0x33e280?{'count':_0x29caaa,'rows':_0x33e280}:null;}})[_0xe81b('0x2d')](respondWithResult(_0x2cf00f,null))[_0xe81b('0x50')](handleError(_0x2cf00f,null));};