Built motion from commit 10af8726.|2.6.34
[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 _0x8816=['Mail','Fax','Openchannel','Whatsapp','Voice','through','penalty','defaults','TeamVoiceQueue','User','findOrCreate','Queue:save','QueueId','findAll','online','upsert','isNil','format','SIP/%s','voicePause','all','spread','removeAgents','transaction','UserVoiceQueueRt','UserVoicePrefix','getAgents','nolimit','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','update','then','stack','name','send','index','map','Team','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','includeAll','include','rows','catch','params','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','error','sequelize','Sequelize','QueryTypes','SELECT','VoiceQueueId','destroy','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','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','UserFaxQueue','OpenchannelQueueId','UserOpenchannelQueue','WhatsappQueueId','TeamVoicePrefix','VoicePrefixId','Teams','findOne','channel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','addQueues','isValidChannel','add','Queues','ids','removeQueues','remove','addAgents','isArray','Chat'];(function(_0x476bf4,_0x2a3755){var _0x788ffe=function(_0x13fa11){while(--_0x13fa11){_0x476bf4['push'](_0x476bf4['shift']());}};_0x788ffe(++_0x2a3755);}(_0x8816,0x152));var _0x6881=function(_0x586ad9,_0x5087da){_0x586ad9=_0x586ad9-0x0;var _0x17eaaf=_0x8816[_0x586ad9];return _0x17eaaf;};'use strict';var emlformat=require(_0x6881('0x0'));var rimraf=require(_0x6881('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6881('0x2'));var rp=require(_0x6881('0x3'));var moment=require(_0x6881('0x4'));var BPromise=require(_0x6881('0x5'));var Mustache=require(_0x6881('0x6'));var util=require(_0x6881('0x7'));var path=require('path');var sox=require(_0x6881('0x8'));var csv=require('to-csv');var ejs=require(_0x6881('0x9'));var fs=require('fs');var fs_extra=require(_0x6881('0xa'));var _=require(_0x6881('0xb'));var squel=require(_0x6881('0xc'));var crypto=require(_0x6881('0xd'));var jsforce=require(_0x6881('0xe'));var deskjs=require(_0x6881('0xf'));var toCsv=require(_0x6881('0x10'));var querystring=require(_0x6881('0x11'));var Papa=require(_0x6881('0x12'));var Redis=require('ioredis');var authService=require(_0x6881('0x13'));var qs=require(_0x6881('0x14'));var as=require(_0x6881('0x15'));var hardwareService=require(_0x6881('0x16'));var logger=require('../../config/logger')(_0x6881('0x17'));var utils=require(_0x6881('0x18'));var config=require(_0x6881('0x19'));var licenseUtil=require(_0x6881('0x1a'));var db=require(_0x6881('0x1b'))['db'];config[_0x6881('0x1c')]=_['defaults'](config[_0x6881('0x1c')],{'host':_0x6881('0x1d'),'port':0x18eb});var socket=require(_0x6881('0x1e'))(new Redis(config[_0x6881('0x1c')]));require(_0x6881('0x1f'))[_0x6881('0x20')](socket);function respondWithStatusCode(_0x3d58f0,_0x4beaea){_0x4beaea=_0x4beaea||0xcc;return function(_0x569810){if(_0x569810){return _0x3d58f0[_0x6881('0x21')](_0x4beaea);}return _0x3d58f0[_0x6881('0x22')](_0x4beaea)[_0x6881('0x23')]();};}function respondWithResult(_0x331ce7,_0x599a54){_0x599a54=_0x599a54||0xc8;return function(_0x108044){if(_0x108044){return _0x331ce7[_0x6881('0x22')](_0x599a54)[_0x6881('0x24')](_0x108044);}};}function respondWithFilteredResult(_0x32cab5,_0x2f4301){return function(_0x4ee0f9){if(_0x4ee0f9){var _0x2f08ee=typeof _0x2f4301['offset']===_0x6881('0x25')&&typeof _0x2f4301[_0x6881('0x26')]===_0x6881('0x25');var _0x221e95=_0x4ee0f9[_0x6881('0x27')];var _0x4f64dd=_0x2f08ee?0x0:_0x2f4301[_0x6881('0x28')];var _0x2209c9=_0x2f08ee?_0x4ee0f9[_0x6881('0x27')]:_0x2f4301[_0x6881('0x28')]+_0x2f4301[_0x6881('0x26')];var _0x383019;if(_0x2209c9>=_0x221e95){_0x2209c9=_0x221e95;_0x383019=0xc8;}else{_0x383019=0xce;}_0x32cab5[_0x6881('0x22')](_0x383019);return _0x32cab5[_0x6881('0x29')](_0x6881('0x2a'),_0x4f64dd+'-'+_0x2209c9+'/'+_0x221e95)[_0x6881('0x24')](_0x4ee0f9);}return null;};}function patchUpdates(_0x438823){return function(_0x456a25){try{jsonpatch[_0x6881('0x2b')](_0x456a25,_0x438823,!![]);}catch(_0x3c5963){return BPromise[_0x6881('0x2c')](_0x3c5963);}return _0x456a25['save']();};}function saveUpdates(_0x5df741,_0x352987){return function(_0x47f054){if(_0x47f054){return _0x47f054[_0x6881('0x2d')](_0x5df741)[_0x6881('0x2e')](function(_0x430b2a){return _0x430b2a;});}return null;};}function handleEntityNotFound(_0x4c114c,_0x550cd1){return function(_0x94be94){if(!_0x94be94){_0x4c114c[_0x6881('0x21')](0x194);}return _0x94be94;};}function handleError(_0x21171e,_0x32ed60){_0x32ed60=_0x32ed60||0x1f4;return function(_0x59e498){logger['error'](_0x59e498[_0x6881('0x2f')]);if(_0x59e498[_0x6881('0x30')]){delete _0x59e498[_0x6881('0x30')];}_0x21171e[_0x6881('0x22')](_0x32ed60)[_0x6881('0x31')](_0x59e498);};}exports[_0x6881('0x32')]=function(_0x1e61b9,_0x5f4b45){var _0x22062c={},_0x55fc75={},_0x5e1cf3={'count':0x0,'rows':[]};var _0x33b523=_[_0x6881('0x33')](db[_0x6881('0x34')][_0x6881('0x35')],function(_0x310b39){return{'name':_0x310b39['fieldName'],'type':_0x310b39[_0x6881('0x36')][_0x6881('0x37')]};});_0x55fc75[_0x6881('0x38')]=_[_0x6881('0x33')](_0x33b523,'name');_0x55fc75[_0x6881('0x39')]=_[_0x6881('0x3a')](_0x1e61b9[_0x6881('0x39')]);_0x55fc75[_0x6881('0x3b')]=_[_0x6881('0x3c')](_0x55fc75[_0x6881('0x38')],_0x55fc75['query']);_0x22062c['attributes']=_[_0x6881('0x3c')](_0x55fc75[_0x6881('0x38')],qs[_0x6881('0x3d')](_0x1e61b9[_0x6881('0x39')][_0x6881('0x3d')]));_0x22062c[_0x6881('0x3e')]=_0x22062c[_0x6881('0x3e')][_0x6881('0x3f')]?_0x22062c[_0x6881('0x3e')]:_0x55fc75[_0x6881('0x38')];if(!_0x1e61b9[_0x6881('0x39')][_0x6881('0x40')]('nolimit')){_0x22062c[_0x6881('0x26')]=qs['limit'](_0x1e61b9['query']['limit']);_0x22062c['offset']=qs[_0x6881('0x28')](_0x1e61b9['query']['offset']);}_0x22062c[_0x6881('0x41')]=qs['sort'](_0x1e61b9[_0x6881('0x39')][_0x6881('0x42')]);_0x22062c[_0x6881('0x43')]=qs['filters'](_[_0x6881('0x44')](_0x1e61b9['query'],_0x55fc75[_0x6881('0x3b')]),_0x33b523);if(_0x1e61b9['query'][_0x6881('0x45')]){_0x22062c['where']=_['merge'](_0x22062c[_0x6881('0x43')],{'$or':_['map'](_0x33b523,function(_0x11c715){if(_0x11c715['type']!=='VIRTUAL'){var _0x4a38bf={};_0x4a38bf[_0x11c715[_0x6881('0x30')]]={'$like':'%'+_0x1e61b9[_0x6881('0x39')]['filter']+'%'};return _0x4a38bf;}})});}_0x22062c=_[_0x6881('0x46')]({},_0x22062c,_0x1e61b9[_0x6881('0x47')]);var _0x2d29cf={'where':_0x22062c['where']};return db['Team']['count'](_0x2d29cf)[_0x6881('0x2e')](function(_0x33f260){_0x5e1cf3['count']=_0x33f260;if(_0x1e61b9[_0x6881('0x39')][_0x6881('0x48')]){_0x22062c[_0x6881('0x49')]=[{'all':!![]}];}return db[_0x6881('0x34')]['findAll'](_0x22062c);})['then'](function(_0x5f0066){_0x5e1cf3[_0x6881('0x4a')]=_0x5f0066;return _0x5e1cf3;})[_0x6881('0x2e')](respondWithFilteredResult(_0x5f4b45,_0x22062c))[_0x6881('0x4b')](handleError(_0x5f4b45,null));};exports['show']=function(_0x1d37f8,_0x3fafeb){var _0x2fdc77={'raw':![],'where':{'id':_0x1d37f8[_0x6881('0x4c')]['id']}},_0x26210b={};_0x26210b['model']=_['keys'](db[_0x6881('0x34')][_0x6881('0x35')]);_0x26210b[_0x6881('0x39')]=_['keys'](_0x1d37f8[_0x6881('0x39')]);_0x26210b[_0x6881('0x3b')]=_['intersection'](_0x26210b[_0x6881('0x38')],_0x26210b[_0x6881('0x39')]);_0x2fdc77['attributes']=_['intersection'](_0x26210b[_0x6881('0x38')],qs[_0x6881('0x3d')](_0x1d37f8[_0x6881('0x39')][_0x6881('0x3d')]));_0x2fdc77[_0x6881('0x3e')]=_0x2fdc77[_0x6881('0x3e')][_0x6881('0x3f')]?_0x2fdc77[_0x6881('0x3e')]:_0x26210b[_0x6881('0x38')];if(_0x1d37f8[_0x6881('0x39')][_0x6881('0x48')]){_0x2fdc77[_0x6881('0x49')]=[{'all':!![]}];}_0x2fdc77=_['merge']({},_0x2fdc77,_0x1d37f8[_0x6881('0x47')]);return db['Team'][_0x6881('0x4d')](_0x2fdc77)[_0x6881('0x2e')](handleEntityNotFound(_0x3fafeb,null))[_0x6881('0x2e')](respondWithResult(_0x3fafeb,null))[_0x6881('0x4b')](handleError(_0x3fafeb,null));};exports[_0x6881('0x4e')]=function(_0x14a9f2,_0x18d5d2){return db[_0x6881('0x34')][_0x6881('0x4e')](_0x14a9f2[_0x6881('0x4f')],{})[_0x6881('0x2e')](function(_0xdc57eb){var _0x4b2240=_0x14a9f2[_0x6881('0x50')][_0x6881('0x51')]({'plain':!![]});if(!_0x4b2240)throw new Error(_0x6881('0x52'));if(_0x4b2240[_0x6881('0x53')]===_0x6881('0x50')){var _0x5ed86d=_0xdc57eb[_0x6881('0x51')]({'plain':!![]});var _0x437fa5='Teams';return db[_0x6881('0x54')][_0x6881('0x4d')]({'where':{'name':_0x437fa5,'userProfileId':_0x4b2240[_0x6881('0x55')]},'raw':!![]})[_0x6881('0x2e')](function(_0x292488){if(_0x292488&&_0x292488['autoAssociation']===0x0){return db['UserProfileResource'][_0x6881('0x4e')]({'name':_0x5ed86d[_0x6881('0x30')],'resourceId':_0x5ed86d['id'],'type':_0x292488[_0x6881('0x30')],'sectionId':_0x292488['id']},{})['then'](function(){return _0xdc57eb;});}else{return _0xdc57eb;}})[_0x6881('0x4b')](function(_0x4dbe78){logger[_0x6881('0x56')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4dbe78);throw _0x4dbe78;});}return _0xdc57eb;})[_0x6881('0x2e')](respondWithResult(_0x18d5d2,0xc9))[_0x6881('0x4b')](handleError(_0x18d5d2,null));};exports[_0x6881('0x2d')]=function(_0x283477,_0x440ff0){if(_0x283477[_0x6881('0x4f')]['id']){delete _0x283477['body']['id'];}return db[_0x6881('0x34')]['find']({'where':{'id':_0x283477[_0x6881('0x4c')]['id']}})[_0x6881('0x2e')](handleEntityNotFound(_0x440ff0,null))[_0x6881('0x2e')](saveUpdates(_0x283477[_0x6881('0x4f')],null))[_0x6881('0x2e')](respondWithResult(_0x440ff0,null))[_0x6881('0x4b')](handleError(_0x440ff0,null));};exports['destroy']=function(_0x6949d3,_0x4a990e){var _0x3bb012=_0x6949d3[_0x6881('0x4c')]['id'];var _0x336cbe=[];return db[_0x6881('0x57')]['transaction'](function(_0x26df51){var _0x550e3c='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x3bb012;return db[_0x6881('0x57')][_0x6881('0x39')](_0x550e3c,{'type':db[_0x6881('0x58')][_0x6881('0x59')][_0x6881('0x5a')],'raw':!![],'transaction':_0x26df51})[_0x6881('0x2e')](function(_0x2cb2ed){_0x336cbe=_['map'](_0x2cb2ed,function(_0xb5fc86){return Number(_0xb5fc86['UserId']);});})['then'](function(){var _0x56fb6e='SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3bb012;return db[_0x6881('0x57')][_0x6881('0x39')](_0x56fb6e,{'type':db[_0x6881('0x58')][_0x6881('0x59')][_0x6881('0x5a')],'raw':!![],'transaction':_0x26df51});})['then'](function(_0x802d4d){var _0x2485f5=_[_0x6881('0x33')](_0x802d4d,function(_0x4763eb){return Number(_0x4763eb[_0x6881('0x5b')]);});return db['UserVoiceQueue'][_0x6881('0x5c')]({'where':{'UserId':{'$in':_0x336cbe},'VoiceQueueId':{'$in':_0x2485f5}},'transaction':_0x26df51});})[_0x6881('0x2e')](function(){var _0x4df2ac=_0x6881('0x5d')+_0x3bb012;return db[_0x6881('0x57')][_0x6881('0x39')](_0x4df2ac,{'type':db['Sequelize'][_0x6881('0x59')][_0x6881('0x5a')],'raw':!![],'transaction':_0x26df51});})['then'](function(_0x1168c2){var _0x470173=_['map'](_0x1168c2,function(_0x19f904){return Number(_0x19f904[_0x6881('0x5e')]);});return db['UserMailQueue'][_0x6881('0x5c')]({'where':{'UserId':{'$in':_0x336cbe},'MailQueueId':{'$in':_0x470173}},'transaction':_0x26df51});})[_0x6881('0x2e')](function(){var _0x49770a=_0x6881('0x5f')+_0x3bb012;return db['sequelize'][_0x6881('0x39')](_0x49770a,{'type':db[_0x6881('0x58')][_0x6881('0x59')]['SELECT'],'raw':!![],'transaction':_0x26df51});})[_0x6881('0x2e')](function(_0x400133){var _0x12c016=_[_0x6881('0x33')](_0x400133,function(_0x223d35){return Number(_0x223d35[_0x6881('0x60')]);});return db[_0x6881('0x61')][_0x6881('0x5c')]({'where':{'UserId':{'$in':_0x336cbe},'SmsQueueId':{'$in':_0x12c016}},'transaction':_0x26df51});})['then'](function(){var _0x2b9d18=_0x6881('0x62')+_0x3bb012;return db[_0x6881('0x57')][_0x6881('0x39')](_0x2b9d18,{'type':db[_0x6881('0x58')][_0x6881('0x59')][_0x6881('0x5a')],'raw':!![],'transaction':_0x26df51});})['then'](function(_0x2a09ec){var _0x5791e9=_['map'](_0x2a09ec,function(_0x1191b2){return Number(_0x1191b2[_0x6881('0x63')]);});return db[_0x6881('0x64')][_0x6881('0x5c')]({'where':{'UserId':{'$in':_0x336cbe},'ChatQueueId':{'$in':_0x5791e9}},'transaction':_0x26df51});})[_0x6881('0x2e')](function(){var _0x50ffa6=_0x6881('0x65')+_0x3bb012;return db[_0x6881('0x57')][_0x6881('0x39')](_0x50ffa6,{'type':db[_0x6881('0x58')]['QueryTypes'][_0x6881('0x5a')],'raw':!![],'transaction':_0x26df51});})[_0x6881('0x2e')](function(_0x6af65d){var _0x40b8b3=_[_0x6881('0x33')](_0x6af65d,function(_0x369fa5){return Number(_0x369fa5[_0x6881('0x66')]);});return db[_0x6881('0x67')]['destroy']({'where':{'UserId':{'$in':_0x336cbe},'FaxQueueId':{'$in':_0x40b8b3}},'transaction':_0x26df51});})[_0x6881('0x2e')](function(){var _0xc5f3db='SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3bb012;return db[_0x6881('0x57')][_0x6881('0x39')](_0xc5f3db,{'type':db['Sequelize'][_0x6881('0x59')][_0x6881('0x5a')],'raw':!![],'transaction':_0x26df51});})[_0x6881('0x2e')](function(_0x4d7843){var _0x31fd5a=_[_0x6881('0x33')](_0x4d7843,function(_0x22db33){return Number(_0x22db33[_0x6881('0x68')]);});return db[_0x6881('0x69')][_0x6881('0x5c')]({'where':{'UserId':{'$in':_0x336cbe},'OpenchannelQueueId':{'$in':_0x31fd5a}},'transaction':_0x26df51});})[_0x6881('0x2e')](function(){var _0x41b06b='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x3bb012;return db[_0x6881('0x57')]['query'](_0x41b06b,{'type':db[_0x6881('0x58')][_0x6881('0x59')]['SELECT'],'raw':!![],'transaction':_0x26df51});})['then'](function(_0x4c9605){var _0x501345=_[_0x6881('0x33')](_0x4c9605,function(_0x757042){return Number(_0x757042[_0x6881('0x6a')]);});return db['UserWhatsappQueue'][_0x6881('0x5c')]({'where':{'UserId':{'$in':_0x336cbe},'WhatsappQueueId':{'$in':_0x501345}},'transaction':_0x26df51});})['then'](function(){return db[_0x6881('0x6b')]['find']({'where':{'TeamId':_0x3bb012}});})['then'](function(_0x49a704){if(_0x49a704===null){return;}return db['UserVoicePrefix']['destroy']({'where':{'UserId':{'$in':_0x336cbe},'VoicePrefixId':_0x49a704[_0x6881('0x6c')]},'transaction':_0x26df51});})[_0x6881('0x2e')](function(){return db[_0x6881('0x34')]['destroy']({'where':{'id':_0x3bb012},'cascade':!![],'transaction':_0x26df51});})['then'](function(_0x199f12){if(_0x199f12===0x0){_0x4a990e[_0x6881('0x21')](0x194);}else{return db['UserProfileResource'][_0x6881('0x5c')]({'where':{'type':_0x6881('0x6d'),'resourceId':_0x3bb012},'cascade':!![],'transaction':_0x26df51})[_0x6881('0x2e')](function(){_0x4a990e[_0x6881('0x22')](0xcc)[_0x6881('0x23')]();});}})[_0x6881('0x4b')](function(_0x5203fd){_0x4a990e[_0x6881('0x22')](0x1f4)['send'](_0x5203fd);});});};exports['getQueues']=function(_0x2aee41,_0x51723b,_0xa33534){return db[_0x6881('0x34')][_0x6881('0x6e')]({'where':{'id':_0x2aee41['params']['id']}})[_0x6881('0x2e')](handleEntityNotFound(_0x51723b,null))[_0x6881('0x2e')](function(_0x20ad56){if(!_0x2aee41[_0x6881('0x39')]['channel']||!utils['isValidChannel'](_0x2aee41['query'][_0x6881('0x6f')])){throw new db['Sequelize'][(_0x6881('0x70'))](_0x6881('0x71'));}var _0x560a9e={};var _0x2c1a8c={};_0x2c1a8c[_0x6881('0x38')]=_['keys'](db[_[_0x6881('0x72')](_0x2aee41[_0x6881('0x39')][_0x6881('0x6f')][_0x6881('0x73')]())+_0x6881('0x74')][_0x6881('0x35')]);_0x2c1a8c[_0x6881('0x39')]=_[_0x6881('0x3a')](_0x2aee41['query']);_0x2c1a8c['filters']=_[_0x6881('0x3c')](_0x2c1a8c[_0x6881('0x38')],_0x2c1a8c[_0x6881('0x39')]);_0x560a9e[_0x6881('0x3e')]=_[_0x6881('0x3c')](_0x2c1a8c[_0x6881('0x38')],qs[_0x6881('0x3d')](_0x2aee41[_0x6881('0x39')][_0x6881('0x3d')]));_0x560a9e[_0x6881('0x3e')]=_0x560a9e[_0x6881('0x3e')][_0x6881('0x3f')]?_0x560a9e[_0x6881('0x3e')]:_0x2c1a8c[_0x6881('0x38')];_0x560a9e['limit']=qs[_0x6881('0x26')](_0x2aee41[_0x6881('0x39')][_0x6881('0x26')]);_0x560a9e[_0x6881('0x28')]=qs['offset'](_0x2aee41['query'][_0x6881('0x28')]);_0x560a9e[_0x6881('0x41')]=qs['sort'](_0x2aee41[_0x6881('0x39')][_0x6881('0x42')]);_0x560a9e[_0x6881('0x43')]=qs[_0x6881('0x3b')](_[_0x6881('0x44')](_0x2aee41[_0x6881('0x39')],_0x2c1a8c[_0x6881('0x3b')]));_0x560a9e=_[_0x6881('0x46')]({},_0x560a9e,_0x2aee41[_0x6881('0x47')]);return _0x20ad56[_0x6881('0x51')+_[_0x6881('0x72')](_0x2aee41[_0x6881('0x39')][_0x6881('0x6f')][_0x6881('0x73')]())+'Queues'](_0x560a9e);})[_0x6881('0x2e')](respondWithResult(_0x51723b,null))[_0x6881('0x4b')](handleError(_0x51723b,null));};exports[_0x6881('0x75')]=function(_0x1f7ed2,_0x3ea2da,_0x2b5072){return db[_0x6881('0x34')][_0x6881('0x6e')]({'where':{'id':_0x1f7ed2[_0x6881('0x4c')]['id']}})[_0x6881('0x2e')](function(_0x28e81c){if(_0x28e81c){if(!_0x1f7ed2[_0x6881('0x4f')]['channel']||!utils[_0x6881('0x76')](_0x1f7ed2['body']['channel'])){throw new db['Sequelize'][(_0x6881('0x70'))](_0x6881('0x71'));}return _0x28e81c[_0x6881('0x77')+_[_0x6881('0x72')](_0x1f7ed2['body'][_0x6881('0x6f')][_0x6881('0x73')]())+_0x6881('0x78')](_0x1f7ed2[_0x6881('0x4f')][_0x6881('0x79')]);}return null;})[_0x6881('0x2e')](handleEntityNotFound(_0x3ea2da,null))[_0x6881('0x2e')](respondWithStatusCode(_0x3ea2da,null))['catch'](handleError(_0x3ea2da,null));};exports[_0x6881('0x7a')]=function(_0x4422dd,_0x1b3116,_0x21deb3){return db[_0x6881('0x34')][_0x6881('0x6e')]({'where':{'id':_0x4422dd[_0x6881('0x4c')]['id']}})['then'](function(_0x4ec606){if(_0x4ec606){if(!_0x4422dd['query'][_0x6881('0x6f')]||!utils[_0x6881('0x76')](_0x4422dd[_0x6881('0x39')][_0x6881('0x6f')])){throw new db[(_0x6881('0x58'))]['ValidationError'](_0x6881('0x71'));}return _0x4ec606[_0x6881('0x7b')+_[_0x6881('0x72')](_0x4422dd[_0x6881('0x39')][_0x6881('0x6f')][_0x6881('0x73')]())+_0x6881('0x78')](_0x4422dd[_0x6881('0x39')][_0x6881('0x79')]);}return null;})[_0x6881('0x2e')](handleEntityNotFound(_0x1b3116,null))[_0x6881('0x2e')](respondWithStatusCode(_0x1b3116,null))[_0x6881('0x4b')](handleError(_0x1b3116,null));};exports[_0x6881('0x7c')]=function(_0x4e1e3f,_0x21cf0d){var _0x255187=_[_0x6881('0x7d')](_0x4e1e3f[_0x6881('0x4f')][_0x6881('0x79')])?_0x4e1e3f[_0x6881('0x4f')][_0x6881('0x79')]:[_0x4e1e3f[_0x6881('0x4f')][_0x6881('0x79')]];var _0x506ef2=_0x4e1e3f[_0x6881('0x4c')]['id'];return db['Team'][_0x6881('0x4d')]({'where':{'id':_0x506ef2}})['then'](handleEntityNotFound(_0x21cf0d,null))[_0x6881('0x2e')](function(_0x520e6c){if(_0x520e6c){var _0x1f1f87=['Voice',_0x6881('0x7e'),_0x6881('0x7f'),'Sms',_0x6881('0x80'),_0x6881('0x81'),_0x6881('0x82')];return db['sequelize']['transaction'](function(_0xdb92bd){var _0x5e1ef3=_[_0x6881('0x33')](_0x1f1f87,function(_0x5974b5){var _0x2348fa={'attributes':['id','name']};if(_0x5974b5===_0x6881('0x83')){_0x2348fa[_0x6881('0x84')]={'attributes':[_0x6881('0x85')]};}return _0x520e6c[_0x6881('0x51')+_0x5974b5+_0x6881('0x78')](_0x2348fa)['then'](function(_0x4b5174){var _0x44ea3b=_[_0x6881('0x33')](_0x4b5174,function(_0x3ddc43){var _0x57019e=_[_0x6881('0x33')](_0x255187,function(_0x412a23){var _0x3b2fb7={'where':{'UserId':_0x412a23,[_0x5974b5+'QueueId']:_0x3ddc43['id']},'transaction':_0xdb92bd};if(_0x5974b5===_0x6881('0x83')){_0x3b2fb7[_0x6881('0x86')]={'penalty':_0x3ddc43[_0x6881('0x87')]['penalty']};}return db[_0x6881('0x88')+_0x5974b5+_0x6881('0x74')][_0x6881('0x89')](_0x3b2fb7)[_0x6881('0x2e')](function(){socket['emit'](_0x6881('0x50')+_0x5974b5+_0x6881('0x8a'),{'UserId':_0x412a23,[_0x5974b5+_0x6881('0x8b')]:_0x3ddc43['id']});if(_0x5974b5!==_0x6881('0x83')){return;}return db[_0x6881('0x88')][_0x6881('0x8c')]({'where':{'id':_0x255187,'online':0x1},'attributes':['id',_0x6881('0x30'),_0x6881('0x8d'),'voicePause','interface'],'raw':!![]})[_0x6881('0x2e')](function(_0x425729){var _0xa4686=_[_0x6881('0x33')](_0x425729,function(_0x56b79c){return db['UserVoiceQueueRt'][_0x6881('0x8e')]({'membername':_0x56b79c['name'],'UserId':_0x56b79c['id'],'queue_name':_0x3ddc43[_0x6881('0x30')],'VoiceQueueId':_0x3ddc43['id'],'interface':_[_0x6881('0x8f')](_0x56b79c['interface'])?util[_0x6881('0x90')](_0x6881('0x91'),_0x56b79c[_0x6881('0x30')]):_0x56b79c['interface'],'paused':_0x56b79c[_0x6881('0x92')]||![],'penalty':_0x3ddc43[_0x6881('0x87')]['penalty']},{'transaction':_0xdb92bd});});return Promise[_0x6881('0x93')](_0xa4686);});});});return Promise[_0x6881('0x93')](_0x57019e);});return Promise['all'](_0x44ea3b);})['then'](function(){return db[_0x6881('0x6b')][_0x6881('0x6e')]({'where':{'teamId':_0x506ef2}})[_0x6881('0x2e')](function(_0x332ea8){if(_0x332ea8){var _0x35a76f=_[_0x6881('0x33')](_0x255187,function(_0x20cc0e){db['UserVoicePrefix'][_0x6881('0x8e')]({'UserId':_0x20cc0e,'VoicePrefixId':_0x332ea8[_0x6881('0x6c')]});});return Promise['all'](_0x35a76f);}});});});return Promise[_0x6881('0x93')](_0x5e1ef3)[_0x6881('0x2e')](function(){return _0x520e6c[_0x6881('0x7c')](_0x255187,{'transaction':_0xdb92bd})[_0x6881('0x94')](function(_0x1e8ce7){return _0x1e8ce7;});});});}})['then'](respondWithResult(_0x21cf0d,null))[_0x6881('0x4b')](handleError(_0x21cf0d,null));};exports[_0x6881('0x95')]=function(_0x5ed308,_0x14d27f){var _0x5cf8ce=_['isArray'](_0x5ed308['query'][_0x6881('0x79')])?_0x5ed308[_0x6881('0x39')][_0x6881('0x79')]:[_0x5ed308[_0x6881('0x39')][_0x6881('0x79')]];var _0x3e1b5e=_0x5ed308[_0x6881('0x4c')]['id'];return db[_0x6881('0x34')][_0x6881('0x4d')]({'where':{'id':_0x3e1b5e}})[_0x6881('0x2e')](handleEntityNotFound(_0x14d27f,null))[_0x6881('0x2e')](function(_0x4e8bcd){if(_0x4e8bcd){var _0x2623f=['Voice','Chat','Mail','Sms',_0x6881('0x80'),_0x6881('0x81'),'Whatsapp'];return db['sequelize'][_0x6881('0x96')](function(_0x1ee330){var _0x596068=_[_0x6881('0x33')](_0x2623f,function(_0x18bc39){var _0x5c257f={'attributes':['id',_0x6881('0x30')]};return _0x4e8bcd[_0x6881('0x51')+_0x18bc39+'Queues'](_0x5c257f)['then'](function(_0x300abe){var _0x2fa7d0=_[_0x6881('0x33')](_0x300abe,function(_0x476e15){return _0x476e15[_0x6881('0x95')](_0x5cf8ce,{'transaction':_0x1ee330})[_0x6881('0x2e')](function(){var _0x2568d9=_[_0x6881('0x33')](_0x5cf8ce,function(_0x5ca05a){socket['emit'](_0x6881('0x50')+_0x18bc39+'Queue:remove',{'UserId':Number(_0x5ca05a),[_0x18bc39+_0x6881('0x8b')]:_0x476e15['id']});if(_0x18bc39!==_0x6881('0x83')){return;}return db[_0x6881('0x97')][_0x6881('0x5c')]({'where':{'VoiceQueueId':_0x476e15['id'],'UserId':_0x5ca05a},'transaction':_0x1ee330});});return Promise[_0x6881('0x93')](_0x2568d9);});});return Promise[_0x6881('0x93')](_0x2fa7d0);});});return Promise[_0x6881('0x93')](_0x596068)['then'](function(){return _0x4e8bcd[_0x6881('0x95')](_0x5cf8ce,{'transaction':_0x1ee330});})['then'](function(){return db[_0x6881('0x6b')][_0x6881('0x6e')]({'where':{'teamId':_0x3e1b5e}})['then'](function(_0x849a97){if(_0x849a97){var _0x1e933b=_['map'](_0x5cf8ce,function(_0x3498bf){db[_0x6881('0x98')]['destroy']({'where':{'UserId':_0x3498bf,'VoicePrefixId':_0x849a97[_0x6881('0x6c')]}});});return Promise[_0x6881('0x93')](_0x1e933b);}});});});}})[_0x6881('0x2e')](respondWithStatusCode(_0x14d27f,null))[_0x6881('0x4b')](handleError(_0x14d27f,null));};exports[_0x6881('0x99')]=function(_0x59d6ff,_0x2d7820,_0x3ddcaf){var _0x3182bb={};var _0x3b1bb0={};var _0x1a851f;var _0x5d7e4b;return db['Team'][_0x6881('0x6e')]({'where':{'id':_0x59d6ff[_0x6881('0x4c')]['id']}})[_0x6881('0x2e')](handleEntityNotFound(_0x2d7820,null))[_0x6881('0x2e')](function(_0x5d78a0){if(_0x5d78a0){_0x1a851f=_0x5d78a0;_0x3b1bb0['model']=_[_0x6881('0x3a')](db[_0x6881('0x88')][_0x6881('0x35')]);_0x3b1bb0['query']=_['keys'](_0x59d6ff[_0x6881('0x39')]);_0x3b1bb0[_0x6881('0x3b')]=_[_0x6881('0x3c')](_0x3b1bb0[_0x6881('0x38')],_0x3b1bb0['query']);_0x3182bb[_0x6881('0x3e')]=_[_0x6881('0x3c')](_0x3b1bb0[_0x6881('0x38')],qs[_0x6881('0x3d')](_0x59d6ff['query'][_0x6881('0x3d')]));_0x3182bb[_0x6881('0x3e')]=_0x3182bb[_0x6881('0x3e')]['length']?_0x3182bb[_0x6881('0x3e')]:_0x3b1bb0[_0x6881('0x38')];_0x3182bb[_0x6881('0x41')]=qs[_0x6881('0x42')](_0x59d6ff[_0x6881('0x39')][_0x6881('0x42')]);_0x3182bb[_0x6881('0x43')]=qs[_0x6881('0x3b')](_[_0x6881('0x44')](_0x59d6ff[_0x6881('0x39')],_0x3b1bb0[_0x6881('0x3b')]));if(_0x59d6ff[_0x6881('0x39')][_0x6881('0x45')]){_0x3182bb[_0x6881('0x43')]=_[_0x6881('0x46')](_0x3182bb[_0x6881('0x43')],{'$or':_['map'](_0x3182bb[_0x6881('0x3e')],function(_0x46d06c){var _0x461a3c={};_0x461a3c[_0x46d06c]={'$like':'%'+_0x59d6ff[_0x6881('0x39')][_0x6881('0x45')]+'%'};return _0x461a3c;})});}_0x3182bb=_[_0x6881('0x46')]({},_0x3182bb,_0x59d6ff[_0x6881('0x47')]);return _0x1a851f[_0x6881('0x99')](_0x3182bb);}})[_0x6881('0x2e')](function(_0x2eab65){if(_0x2eab65){_0x5d7e4b=_0x2eab65[_0x6881('0x3f')];if(!_0x59d6ff[_0x6881('0x39')][_0x6881('0x40')](_0x6881('0x9a'))){_0x3182bb[_0x6881('0x26')]=qs[_0x6881('0x26')](_0x59d6ff[_0x6881('0x39')][_0x6881('0x26')]);_0x3182bb[_0x6881('0x28')]=qs[_0x6881('0x28')](_0x59d6ff[_0x6881('0x39')]['offset']);}return _0x1a851f[_0x6881('0x99')](_0x3182bb);}})[_0x6881('0x2e')](function(_0x557484){if(_0x557484){return _0x557484?{'count':_0x5d7e4b,'rows':_0x557484}:null;}})[_0x6881('0x2e')](respondWithResult(_0x2d7820,null))[_0x6881('0x4b')](handleError(_0x2d7820,null));};