Built motion from commit bab6f49e.|2.6.17
[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 _0x43a1=['status','offset','undefined','limit','count','Content-Range','json','apply','reject','save','then','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','Team','includeAll','include','findAll','rows','catch','show','length','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Teams','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','sequelize','transaction','Sequelize','QueryTypes','SELECT','VoiceQueueId','destroy','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','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','UserOpenchannelQueue','WhatsappQueueId','UserWhatsappQueue','getQueues','channel','isValidChannel','ValidationError','toLowerCase','Queue','capitalize','Queues','addQueues','findOne','Unknown\x20channel','removeQueues','remove','ids','addAgents','Voice','Mail','Sms','Openchannel','through','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','emit','Queue:save','online','interface','UserVoiceQueueRt','upsert','isNil','format','SIP/%s','all','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','spread','removeAgents','Fax','Queue:remove','getAgents','hasOwnProperty','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','./team.socket','register','sendStatus','end'];(function(_0x291d3f,_0x3ef99f){var _0x242080=function(_0x257705){while(--_0x257705){_0x291d3f['push'](_0x291d3f['shift']());}};_0x242080(++_0x3ef99f);}(_0x43a1,0x1b4));var _0x143a=function(_0x5ce3c1,_0x2ab59b){_0x5ce3c1=_0x5ce3c1-0x0;var _0x585640=_0x43a1[_0x5ce3c1];return _0x585640;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x143a('0x0'));var zipdir=require(_0x143a('0x1'));var jsonpatch=require(_0x143a('0x2'));var rp=require(_0x143a('0x3'));var moment=require(_0x143a('0x4'));var BPromise=require(_0x143a('0x5'));var Mustache=require(_0x143a('0x6'));var util=require(_0x143a('0x7'));var path=require(_0x143a('0x8'));var sox=require(_0x143a('0x9'));var csv=require(_0x143a('0xa'));var ejs=require(_0x143a('0xb'));var fs=require('fs');var fs_extra=require(_0x143a('0xc'));var _=require(_0x143a('0xd'));var squel=require(_0x143a('0xe'));var crypto=require(_0x143a('0xf'));var jsforce=require(_0x143a('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x143a('0xa'));var querystring=require('querystring');var Papa=require(_0x143a('0x11'));var Redis=require(_0x143a('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x143a('0x13'));var hardwareService=require(_0x143a('0x14'));var logger=require(_0x143a('0x15'))('api');var utils=require(_0x143a('0x16'));var config=require(_0x143a('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x143a('0x18'))['db'];config['redis']=_[_0x143a('0x19')](config[_0x143a('0x1a')],{'host':_0x143a('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x143a('0x1a')]));require(_0x143a('0x1c'))[_0x143a('0x1d')](socket);function respondWithStatusCode(_0x531b62,_0x13fab5){_0x13fab5=_0x13fab5||0xcc;return function(_0x3350ff){if(_0x3350ff){return _0x531b62[_0x143a('0x1e')](_0x13fab5);}return _0x531b62['status'](_0x13fab5)[_0x143a('0x1f')]();};}function respondWithResult(_0x484401,_0x19919c){_0x19919c=_0x19919c||0xc8;return function(_0x3a244c){if(_0x3a244c){return _0x484401[_0x143a('0x20')](_0x19919c)['json'](_0x3a244c);}};}function respondWithFilteredResult(_0x4e1e57,_0x5262ca){return function(_0x1ebe60){if(_0x1ebe60){var _0x3096ca=typeof _0x5262ca[_0x143a('0x21')]===_0x143a('0x22')&&typeof _0x5262ca[_0x143a('0x23')]===_0x143a('0x22');var _0x2a02be=_0x1ebe60['count'];var _0x1be611=_0x3096ca?0x0:_0x5262ca['offset'];var _0x12b330=_0x3096ca?_0x1ebe60[_0x143a('0x24')]:_0x5262ca[_0x143a('0x21')]+_0x5262ca['limit'];var _0x30748a;if(_0x12b330>=_0x2a02be){_0x12b330=_0x2a02be;_0x30748a=0xc8;}else{_0x30748a=0xce;}_0x4e1e57['status'](_0x30748a);return _0x4e1e57['set'](_0x143a('0x25'),_0x1be611+'-'+_0x12b330+'/'+_0x2a02be)[_0x143a('0x26')](_0x1ebe60);}return null;};}function patchUpdates(_0x175cdd){return function(_0x507cbd){try{jsonpatch[_0x143a('0x27')](_0x507cbd,_0x175cdd,!![]);}catch(_0xbda058){return BPromise[_0x143a('0x28')](_0xbda058);}return _0x507cbd[_0x143a('0x29')]();};}function saveUpdates(_0x55eee8,_0x3722ec){return function(_0x53e175){if(_0x53e175){return _0x53e175['update'](_0x55eee8)[_0x143a('0x2a')](function(_0xd624a2){return _0xd624a2;});}return null;};}function handleEntityNotFound(_0x27b77f,_0x2e8d82){return function(_0x1ccc5d){if(!_0x1ccc5d){_0x27b77f[_0x143a('0x1e')](0x194);}return _0x1ccc5d;};}function handleError(_0x14e689,_0x332e68){_0x332e68=_0x332e68||0x1f4;return function(_0x41e78d){logger[_0x143a('0x2b')](_0x41e78d[_0x143a('0x2c')]);if(_0x41e78d[_0x143a('0x2d')]){delete _0x41e78d[_0x143a('0x2d')];}_0x14e689[_0x143a('0x20')](_0x332e68)[_0x143a('0x2e')](_0x41e78d);};}exports[_0x143a('0x2f')]=function(_0x43a43f,_0x26d8b0){var _0x1e67df={},_0x30e11b={},_0x5633a4={'count':0x0,'rows':[]};var _0x52f3ff=_[_0x143a('0x30')](db['Team'][_0x143a('0x31')],function(_0x337635){return{'name':_0x337635[_0x143a('0x32')],'type':_0x337635['type'][_0x143a('0x33')]};});_0x30e11b[_0x143a('0x34')]=_['map'](_0x52f3ff,_0x143a('0x2d'));_0x30e11b[_0x143a('0x35')]=_[_0x143a('0x36')](_0x43a43f[_0x143a('0x35')]);_0x30e11b['filters']=_[_0x143a('0x37')](_0x30e11b[_0x143a('0x34')],_0x30e11b[_0x143a('0x35')]);_0x1e67df[_0x143a('0x38')]=_['intersection'](_0x30e11b[_0x143a('0x34')],qs[_0x143a('0x39')](_0x43a43f[_0x143a('0x35')][_0x143a('0x39')]));_0x1e67df[_0x143a('0x38')]=_0x1e67df[_0x143a('0x38')]['length']?_0x1e67df[_0x143a('0x38')]:_0x30e11b[_0x143a('0x34')];if(!_0x43a43f[_0x143a('0x35')]['hasOwnProperty'](_0x143a('0x3a'))){_0x1e67df[_0x143a('0x23')]=qs[_0x143a('0x23')](_0x43a43f[_0x143a('0x35')]['limit']);_0x1e67df['offset']=qs[_0x143a('0x21')](_0x43a43f[_0x143a('0x35')][_0x143a('0x21')]);}_0x1e67df[_0x143a('0x3b')]=qs[_0x143a('0x3c')](_0x43a43f[_0x143a('0x35')][_0x143a('0x3c')]);_0x1e67df[_0x143a('0x3d')]=qs[_0x143a('0x3e')](_[_0x143a('0x3f')](_0x43a43f[_0x143a('0x35')],_0x30e11b['filters']),_0x52f3ff);if(_0x43a43f[_0x143a('0x35')][_0x143a('0x40')]){_0x1e67df[_0x143a('0x3d')]=_['merge'](_0x1e67df[_0x143a('0x3d')],{'$or':_[_0x143a('0x30')](_0x52f3ff,function(_0x38362d){if(_0x38362d['type']!==_0x143a('0x41')){var _0x4391dc={};_0x4391dc[_0x38362d[_0x143a('0x2d')]]={'$like':'%'+_0x43a43f[_0x143a('0x35')][_0x143a('0x40')]+'%'};return _0x4391dc;}})});}_0x1e67df=_[_0x143a('0x42')]({},_0x1e67df,_0x43a43f[_0x143a('0x43')]);var _0x17acfc={'where':_0x1e67df[_0x143a('0x3d')]};return db[_0x143a('0x44')][_0x143a('0x24')](_0x17acfc)[_0x143a('0x2a')](function(_0x3c086b){_0x5633a4[_0x143a('0x24')]=_0x3c086b;if(_0x43a43f[_0x143a('0x35')][_0x143a('0x45')]){_0x1e67df[_0x143a('0x46')]=[{'all':!![]}];}return db[_0x143a('0x44')][_0x143a('0x47')](_0x1e67df);})['then'](function(_0x36cdf3){_0x5633a4[_0x143a('0x48')]=_0x36cdf3;return _0x5633a4;})[_0x143a('0x2a')](respondWithFilteredResult(_0x26d8b0,_0x1e67df))[_0x143a('0x49')](handleError(_0x26d8b0,null));};exports[_0x143a('0x4a')]=function(_0x98c206,_0x12dae5){var _0x406c55={'raw':![],'where':{'id':_0x98c206['params']['id']}},_0x59affe={};_0x59affe[_0x143a('0x34')]=_[_0x143a('0x36')](db['Team'][_0x143a('0x31')]);_0x59affe[_0x143a('0x35')]=_[_0x143a('0x36')](_0x98c206[_0x143a('0x35')]);_0x59affe[_0x143a('0x3e')]=_[_0x143a('0x37')](_0x59affe[_0x143a('0x34')],_0x59affe[_0x143a('0x35')]);_0x406c55[_0x143a('0x38')]=_[_0x143a('0x37')](_0x59affe[_0x143a('0x34')],qs[_0x143a('0x39')](_0x98c206['query'][_0x143a('0x39')]));_0x406c55['attributes']=_0x406c55[_0x143a('0x38')][_0x143a('0x4b')]?_0x406c55['attributes']:_0x59affe['model'];if(_0x98c206[_0x143a('0x35')][_0x143a('0x45')]){_0x406c55[_0x143a('0x46')]=[{'all':!![]}];}_0x406c55=_[_0x143a('0x42')]({},_0x406c55,_0x98c206[_0x143a('0x43')]);return db[_0x143a('0x44')][_0x143a('0x4c')](_0x406c55)[_0x143a('0x2a')](handleEntityNotFound(_0x12dae5,null))[_0x143a('0x2a')](respondWithResult(_0x12dae5,null))[_0x143a('0x49')](handleError(_0x12dae5,null));};exports['create']=function(_0x472d26,_0x457b94){return db['Team'][_0x143a('0x4d')](_0x472d26[_0x143a('0x4e')],{})['then'](function(_0x2bc878){var _0x2bce7b=_0x472d26[_0x143a('0x4f')][_0x143a('0x50')]({'plain':!![]});if(!_0x2bce7b)throw new Error(_0x143a('0x51'));if(_0x2bce7b[_0x143a('0x52')]===_0x143a('0x4f')){var _0x15fcaf=_0x2bc878[_0x143a('0x50')]({'plain':!![]});var _0x10b781=_0x143a('0x53');return db[_0x143a('0x54')][_0x143a('0x4c')]({'where':{'name':_0x10b781,'userProfileId':_0x2bce7b['userProfileId']},'raw':!![]})[_0x143a('0x2a')](function(_0x268bd8){if(_0x268bd8&&_0x268bd8[_0x143a('0x55')]===0x0){return db[_0x143a('0x56')][_0x143a('0x4d')]({'name':_0x15fcaf[_0x143a('0x2d')],'resourceId':_0x15fcaf['id'],'type':_0x268bd8['name'],'sectionId':_0x268bd8['id']},{})[_0x143a('0x2a')](function(){return _0x2bc878;});}else{return _0x2bc878;}})['catch'](function(_0x11fc6b){logger['error'](_0x143a('0x57'),_0x11fc6b);throw _0x11fc6b;});}return _0x2bc878;})[_0x143a('0x2a')](respondWithResult(_0x457b94,0xc9))['catch'](handleError(_0x457b94,null));};exports[_0x143a('0x58')]=function(_0x1b5374,_0x13872a){if(_0x1b5374[_0x143a('0x4e')]['id']){delete _0x1b5374['body']['id'];}return db['Team'][_0x143a('0x4c')]({'where':{'id':_0x1b5374[_0x143a('0x59')]['id']}})[_0x143a('0x2a')](handleEntityNotFound(_0x13872a,null))['then'](saveUpdates(_0x1b5374[_0x143a('0x4e')],null))[_0x143a('0x2a')](respondWithResult(_0x13872a,null))[_0x143a('0x49')](handleError(_0x13872a,null));};exports['destroy']=function(_0x5e01d7,_0x582047){var _0x31203d=_0x5e01d7['params']['id'];var _0x20503e=[];return db[_0x143a('0x5a')][_0x143a('0x5b')](function(_0x1ce2b5){var _0x280dd5='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x31203d;return db['sequelize'][_0x143a('0x35')](_0x280dd5,{'type':db[_0x143a('0x5c')][_0x143a('0x5d')][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5})[_0x143a('0x2a')](function(_0x225770){_0x20503e=_['map'](_0x225770,function(_0x1cab27){return Number(_0x1cab27['UserId']);});})[_0x143a('0x2a')](function(){var _0x1cc833='SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20'+_0x31203d;return db['sequelize'][_0x143a('0x35')](_0x1cc833,{'type':db[_0x143a('0x5c')]['QueryTypes'][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5});})['then'](function(_0x3e0a6b){var _0x4382be=_[_0x143a('0x30')](_0x3e0a6b,function(_0x29f758){return Number(_0x29f758[_0x143a('0x5f')]);});return db['UserVoiceQueue'][_0x143a('0x60')]({'where':{'UserId':{'$in':_0x20503e},'VoiceQueueId':{'$in':_0x4382be}},'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(){var _0x414132='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x31203d;return db[_0x143a('0x5a')]['query'](_0x414132,{'type':db[_0x143a('0x5c')][_0x143a('0x5d')][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5});})['then'](function(_0x6afbfd){var _0x35f8a4=_['map'](_0x6afbfd,function(_0x1fa36b){return Number(_0x1fa36b[_0x143a('0x61')]);});return db[_0x143a('0x62')]['destroy']({'where':{'UserId':{'$in':_0x20503e},'MailQueueId':{'$in':_0x35f8a4}},'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(){var _0x34c53c=_0x143a('0x63')+_0x31203d;return db['sequelize'][_0x143a('0x35')](_0x34c53c,{'type':db['Sequelize'][_0x143a('0x5d')][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(_0x301915){var _0x33fd1f=_[_0x143a('0x30')](_0x301915,function(_0x10101c){return Number(_0x10101c[_0x143a('0x64')]);});return db[_0x143a('0x65')]['destroy']({'where':{'UserId':{'$in':_0x20503e},'SmsQueueId':{'$in':_0x33fd1f}},'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(){var _0x43d156=_0x143a('0x66')+_0x31203d;return db['sequelize'][_0x143a('0x35')](_0x43d156,{'type':db[_0x143a('0x5c')][_0x143a('0x5d')][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(_0x24c927){var _0x384d25=_[_0x143a('0x30')](_0x24c927,function(_0xe7db2a){return Number(_0xe7db2a[_0x143a('0x67')]);});return db[_0x143a('0x68')][_0x143a('0x60')]({'where':{'UserId':{'$in':_0x20503e},'ChatQueueId':{'$in':_0x384d25}},'transaction':_0x1ce2b5});})['then'](function(){var _0x413519=_0x143a('0x69')+_0x31203d;return db['sequelize']['query'](_0x413519,{'type':db[_0x143a('0x5c')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(_0x3783e6){var _0x1cb000=_['map'](_0x3783e6,function(_0x3eb5ae){return Number(_0x3eb5ae[_0x143a('0x6a')]);});return db[_0x143a('0x6b')][_0x143a('0x60')]({'where':{'UserId':{'$in':_0x20503e},'FaxQueueId':{'$in':_0x1cb000}},'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(){var _0x4273a2=_0x143a('0x6c')+_0x31203d;return db['sequelize'][_0x143a('0x35')](_0x4273a2,{'type':db[_0x143a('0x5c')]['QueryTypes'][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5});})['then'](function(_0x144caf){var _0x345644=_['map'](_0x144caf,function(_0x2d0195){return Number(_0x2d0195['OpenchannelQueueId']);});return db[_0x143a('0x6d')][_0x143a('0x60')]({'where':{'UserId':{'$in':_0x20503e},'OpenchannelQueueId':{'$in':_0x345644}},'transaction':_0x1ce2b5});})['then'](function(){var _0x4b6e73='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x31203d;return db[_0x143a('0x5a')][_0x143a('0x35')](_0x4b6e73,{'type':db[_0x143a('0x5c')][_0x143a('0x5d')][_0x143a('0x5e')],'raw':!![],'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(_0x2de919){var _0x88e18e=_[_0x143a('0x30')](_0x2de919,function(_0x1ab4d4){return Number(_0x1ab4d4[_0x143a('0x6e')]);});return db[_0x143a('0x6f')]['destroy']({'where':{'UserId':{'$in':_0x20503e},'WhatsappQueueId':{'$in':_0x88e18e}},'transaction':_0x1ce2b5});})['then'](function(){return db['TeamVoicePrefix']['find']({'where':{'TeamId':_0x31203d}});})[_0x143a('0x2a')](function(_0x5115ac){if(_0x5115ac===null){return;}return db['UserVoicePrefix'][_0x143a('0x60')]({'where':{'UserId':{'$in':_0x20503e},'VoicePrefixId':_0x5115ac['VoicePrefixId']},'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(){return db[_0x143a('0x44')][_0x143a('0x60')]({'where':{'id':_0x31203d},'cascade':!![],'transaction':_0x1ce2b5});})[_0x143a('0x2a')](function(_0x1549a8){if(_0x1549a8===0x0){_0x582047[_0x143a('0x1e')](0x194);}else{return db['UserProfileResource'][_0x143a('0x60')]({'where':{'type':_0x143a('0x53'),'resourceId':_0x31203d},'cascade':!![],'transaction':_0x1ce2b5})[_0x143a('0x2a')](function(){_0x582047[_0x143a('0x20')](0xcc)[_0x143a('0x1f')]();});}})[_0x143a('0x49')](function(_0x57587c){_0x582047['status'](0x1f4)['send'](_0x57587c);});});};exports[_0x143a('0x70')]=function(_0xec66e6,_0xf07162,_0x37d3d4){return db[_0x143a('0x44')]['findOne']({'where':{'id':_0xec66e6[_0x143a('0x59')]['id']}})[_0x143a('0x2a')](handleEntityNotFound(_0xf07162,null))[_0x143a('0x2a')](function(_0x12b117){if(!_0xec66e6[_0x143a('0x35')][_0x143a('0x71')]||!utils[_0x143a('0x72')](_0xec66e6['query'][_0x143a('0x71')])){throw new db['Sequelize'][(_0x143a('0x73'))]('Unknown\x20channel');}var _0x5c6deb={};var _0x5d1e19={};_0x5d1e19[_0x143a('0x34')]=_[_0x143a('0x36')](db[_['capitalize'](_0xec66e6['query']['channel'][_0x143a('0x74')]())+_0x143a('0x75')][_0x143a('0x31')]);_0x5d1e19[_0x143a('0x35')]=_[_0x143a('0x36')](_0xec66e6[_0x143a('0x35')]);_0x5d1e19[_0x143a('0x3e')]=_[_0x143a('0x37')](_0x5d1e19[_0x143a('0x34')],_0x5d1e19['query']);_0x5c6deb[_0x143a('0x38')]=_['intersection'](_0x5d1e19[_0x143a('0x34')],qs[_0x143a('0x39')](_0xec66e6['query'][_0x143a('0x39')]));_0x5c6deb[_0x143a('0x38')]=_0x5c6deb['attributes'][_0x143a('0x4b')]?_0x5c6deb[_0x143a('0x38')]:_0x5d1e19[_0x143a('0x34')];_0x5c6deb[_0x143a('0x23')]=qs['limit'](_0xec66e6[_0x143a('0x35')]['limit']);_0x5c6deb[_0x143a('0x21')]=qs[_0x143a('0x21')](_0xec66e6[_0x143a('0x35')][_0x143a('0x21')]);_0x5c6deb[_0x143a('0x3b')]=qs[_0x143a('0x3c')](_0xec66e6[_0x143a('0x35')][_0x143a('0x3c')]);_0x5c6deb[_0x143a('0x3d')]=qs['filters'](_[_0x143a('0x3f')](_0xec66e6['query'],_0x5d1e19['filters']));_0x5c6deb=_[_0x143a('0x42')]({},_0x5c6deb,_0xec66e6[_0x143a('0x43')]);return _0x12b117[_0x143a('0x50')+_[_0x143a('0x76')](_0xec66e6['query'][_0x143a('0x71')][_0x143a('0x74')]())+_0x143a('0x77')](_0x5c6deb);})[_0x143a('0x2a')](respondWithResult(_0xf07162,null))[_0x143a('0x49')](handleError(_0xf07162,null));};exports[_0x143a('0x78')]=function(_0x2494b3,_0x333230,_0x2eb590){return db[_0x143a('0x44')][_0x143a('0x79')]({'where':{'id':_0x2494b3[_0x143a('0x59')]['id']}})['then'](function(_0x3f2e6d){if(_0x3f2e6d){if(!_0x2494b3[_0x143a('0x4e')][_0x143a('0x71')]||!utils['isValidChannel'](_0x2494b3[_0x143a('0x4e')][_0x143a('0x71')])){throw new db[(_0x143a('0x5c'))][(_0x143a('0x73'))](_0x143a('0x7a'));}return _0x3f2e6d['add'+_[_0x143a('0x76')](_0x2494b3[_0x143a('0x4e')][_0x143a('0x71')][_0x143a('0x74')]())+_0x143a('0x77')](_0x2494b3[_0x143a('0x4e')]['ids']);}return null;})[_0x143a('0x2a')](handleEntityNotFound(_0x333230,null))[_0x143a('0x2a')](respondWithStatusCode(_0x333230,null))['catch'](handleError(_0x333230,null));};exports[_0x143a('0x7b')]=function(_0x34bce6,_0x407e65,_0x37c478){return db['Team'][_0x143a('0x79')]({'where':{'id':_0x34bce6[_0x143a('0x59')]['id']}})[_0x143a('0x2a')](function(_0x4f535f){if(_0x4f535f){if(!_0x34bce6[_0x143a('0x35')][_0x143a('0x71')]||!utils[_0x143a('0x72')](_0x34bce6[_0x143a('0x35')]['channel'])){throw new db[(_0x143a('0x5c'))][(_0x143a('0x73'))]('Unknown\x20channel');}return _0x4f535f[_0x143a('0x7c')+_[_0x143a('0x76')](_0x34bce6['query'][_0x143a('0x71')][_0x143a('0x74')]())+_0x143a('0x77')](_0x34bce6[_0x143a('0x35')][_0x143a('0x7d')]);}return null;})[_0x143a('0x2a')](handleEntityNotFound(_0x407e65,null))[_0x143a('0x2a')](respondWithStatusCode(_0x407e65,null))[_0x143a('0x49')](handleError(_0x407e65,null));};exports[_0x143a('0x7e')]=function(_0x5ef154,_0x2a306d){var _0x1b9c9b=_['isArray'](_0x5ef154['body'][_0x143a('0x7d')])?_0x5ef154[_0x143a('0x4e')][_0x143a('0x7d')]:[_0x5ef154['body']['ids']];var _0x34b403=_0x5ef154['params']['id'];return db[_0x143a('0x44')][_0x143a('0x4c')]({'where':{'id':_0x34b403}})[_0x143a('0x2a')](handleEntityNotFound(_0x2a306d,null))[_0x143a('0x2a')](function(_0x87e94e){if(_0x87e94e){var _0x65fec7=[_0x143a('0x7f'),'Chat',_0x143a('0x80'),_0x143a('0x81'),'Fax',_0x143a('0x82'),'Whatsapp'];return db[_0x143a('0x5a')]['transaction'](function(_0x3a5a1e){var _0x369e40=_['map'](_0x65fec7,function(_0x52a0d5){var _0x4fa18c={'attributes':['id',_0x143a('0x2d')]};if(_0x52a0d5==='Voice'){_0x4fa18c[_0x143a('0x83')]={'attributes':[_0x143a('0x84')]};}return _0x87e94e[_0x143a('0x50')+_0x52a0d5+'Queues'](_0x4fa18c)[_0x143a('0x2a')](function(_0x5617c5){var _0x7b69be=_['map'](_0x5617c5,function(_0x5964ba){var _0x31a66f=_[_0x143a('0x30')](_0x1b9c9b,function(_0x20cc26){var _0x1d939f={'where':{'UserId':_0x20cc26,[_0x52a0d5+_0x143a('0x85')]:_0x5964ba['id']},'transaction':_0x3a5a1e};if(_0x52a0d5===_0x143a('0x7f')){_0x1d939f[_0x143a('0x19')]={'penalty':_0x5964ba[_0x143a('0x86')][_0x143a('0x84')]};}return db[_0x143a('0x87')+_0x52a0d5+'Queue'][_0x143a('0x88')](_0x1d939f)[_0x143a('0x2a')](function(){socket[_0x143a('0x89')](_0x143a('0x4f')+_0x52a0d5+_0x143a('0x8a'),{'UserId':_0x20cc26,[_0x52a0d5+_0x143a('0x85')]:_0x5964ba['id']});if(_0x52a0d5!=='Voice'){return;}return db[_0x143a('0x87')][_0x143a('0x47')]({'where':{'id':_0x1b9c9b,'online':0x1},'attributes':['id',_0x143a('0x2d'),_0x143a('0x8b'),'voicePause',_0x143a('0x8c')],'raw':!![]})[_0x143a('0x2a')](function(_0x7be743){var _0x36f88d=_[_0x143a('0x30')](_0x7be743,function(_0x3cd05e){return db[_0x143a('0x8d')][_0x143a('0x8e')]({'membername':_0x3cd05e[_0x143a('0x2d')],'UserId':_0x3cd05e['id'],'queue_name':_0x5964ba['name'],'VoiceQueueId':_0x5964ba['id'],'interface':_[_0x143a('0x8f')](_0x3cd05e[_0x143a('0x8c')])?util[_0x143a('0x90')](_0x143a('0x91'),_0x3cd05e['name']):_0x3cd05e[_0x143a('0x8c')],'paused':_0x3cd05e['voicePause']||![],'penalty':_0x5964ba[_0x143a('0x86')][_0x143a('0x84')]},{'transaction':_0x3a5a1e});});return Promise[_0x143a('0x92')](_0x36f88d);});});});return Promise[_0x143a('0x92')](_0x31a66f);});return Promise['all'](_0x7b69be);})[_0x143a('0x2a')](function(){return db[_0x143a('0x93')][_0x143a('0x79')]({'where':{'teamId':_0x34b403}})[_0x143a('0x2a')](function(_0x372fa9){if(_0x372fa9){var _0x17d7bd=_['map'](_0x1b9c9b,function(_0x2d38f1){db[_0x143a('0x94')][_0x143a('0x8e')]({'UserId':_0x2d38f1,'VoicePrefixId':_0x372fa9[_0x143a('0x95')]});});return Promise['all'](_0x17d7bd);}});});});return Promise[_0x143a('0x92')](_0x369e40)[_0x143a('0x2a')](function(){return _0x87e94e['addAgents'](_0x1b9c9b,{'transaction':_0x3a5a1e})[_0x143a('0x96')](function(_0x411f43){return _0x411f43;});});});}})[_0x143a('0x2a')](respondWithResult(_0x2a306d,null))[_0x143a('0x49')](handleError(_0x2a306d,null));};exports[_0x143a('0x97')]=function(_0x435142,_0x50ae69){var _0x55652f=_['isArray'](_0x435142[_0x143a('0x35')][_0x143a('0x7d')])?_0x435142['query']['ids']:[_0x435142[_0x143a('0x35')][_0x143a('0x7d')]];var _0x22f152=_0x435142[_0x143a('0x59')]['id'];return db['Team'][_0x143a('0x4c')]({'where':{'id':_0x22f152}})['then'](handleEntityNotFound(_0x50ae69,null))[_0x143a('0x2a')](function(_0x939a90){if(_0x939a90){var _0x4db3ac=[_0x143a('0x7f'),'Chat',_0x143a('0x80'),_0x143a('0x81'),_0x143a('0x98'),'Openchannel','Whatsapp'];return db[_0x143a('0x5a')][_0x143a('0x5b')](function(_0x23647a){var _0xcc04f8=_[_0x143a('0x30')](_0x4db3ac,function(_0x5d0900){var _0x304a19={'attributes':['id','name']};return _0x939a90['get'+_0x5d0900+'Queues'](_0x304a19)[_0x143a('0x2a')](function(_0x43cb35){var _0x23927d=_['map'](_0x43cb35,function(_0x4d283c){return _0x4d283c[_0x143a('0x97')](_0x55652f,{'transaction':_0x23647a})[_0x143a('0x2a')](function(){var _0x4c2569=_[_0x143a('0x30')](_0x55652f,function(_0xa2f9a4){socket['emit'](_0x143a('0x4f')+_0x5d0900+_0x143a('0x99'),{'UserId':Number(_0xa2f9a4),[_0x5d0900+_0x143a('0x85')]:_0x4d283c['id']});if(_0x5d0900!=='Voice'){return;}return db[_0x143a('0x8d')][_0x143a('0x60')]({'where':{'VoiceQueueId':_0x4d283c['id'],'UserId':_0xa2f9a4},'transaction':_0x23647a});});return Promise[_0x143a('0x92')](_0x4c2569);});});return Promise['all'](_0x23927d);});});return Promise[_0x143a('0x92')](_0xcc04f8)[_0x143a('0x2a')](function(){return _0x939a90[_0x143a('0x97')](_0x55652f,{'transaction':_0x23647a});})['then'](function(){return db['TeamVoicePrefix'][_0x143a('0x79')]({'where':{'teamId':_0x22f152}})[_0x143a('0x2a')](function(_0x1860ae){if(_0x1860ae){var _0x4591ba=_['map'](_0x55652f,function(_0x21a83b){db['UserVoicePrefix'][_0x143a('0x60')]({'where':{'UserId':_0x21a83b,'VoicePrefixId':_0x1860ae[_0x143a('0x95')]}});});return Promise[_0x143a('0x92')](_0x4591ba);}});});});}})[_0x143a('0x2a')](respondWithStatusCode(_0x50ae69,null))[_0x143a('0x49')](handleError(_0x50ae69,null));};exports[_0x143a('0x9a')]=function(_0x567871,_0x1ccbf0,_0x5c360c){var _0x271523={};var _0x597735={};var _0x5e24e9;var _0x1985cc;return db['Team'][_0x143a('0x79')]({'where':{'id':_0x567871[_0x143a('0x59')]['id']}})[_0x143a('0x2a')](handleEntityNotFound(_0x1ccbf0,null))['then'](function(_0x32cb0b){if(_0x32cb0b){_0x5e24e9=_0x32cb0b;_0x597735[_0x143a('0x34')]=_[_0x143a('0x36')](db['User']['rawAttributes']);_0x597735[_0x143a('0x35')]=_[_0x143a('0x36')](_0x567871['query']);_0x597735[_0x143a('0x3e')]=_[_0x143a('0x37')](_0x597735[_0x143a('0x34')],_0x597735['query']);_0x271523['attributes']=_['intersection'](_0x597735[_0x143a('0x34')],qs[_0x143a('0x39')](_0x567871[_0x143a('0x35')]['fields']));_0x271523['attributes']=_0x271523[_0x143a('0x38')][_0x143a('0x4b')]?_0x271523[_0x143a('0x38')]:_0x597735[_0x143a('0x34')];_0x271523['order']=qs[_0x143a('0x3c')](_0x567871[_0x143a('0x35')][_0x143a('0x3c')]);_0x271523[_0x143a('0x3d')]=qs[_0x143a('0x3e')](_[_0x143a('0x3f')](_0x567871[_0x143a('0x35')],_0x597735[_0x143a('0x3e')]));if(_0x567871[_0x143a('0x35')][_0x143a('0x40')]){_0x271523['where']=_[_0x143a('0x42')](_0x271523[_0x143a('0x3d')],{'$or':_[_0x143a('0x30')](_0x271523[_0x143a('0x38')],function(_0x4f3ea5){var _0x3cf3ae={};_0x3cf3ae[_0x4f3ea5]={'$like':'%'+_0x567871[_0x143a('0x35')][_0x143a('0x40')]+'%'};return _0x3cf3ae;})});}_0x271523=_['merge']({},_0x271523,_0x567871[_0x143a('0x43')]);return _0x5e24e9[_0x143a('0x9a')](_0x271523);}})[_0x143a('0x2a')](function(_0x3e2f97){if(_0x3e2f97){_0x1985cc=_0x3e2f97[_0x143a('0x4b')];if(!_0x567871['query'][_0x143a('0x9b')](_0x143a('0x3a'))){_0x271523[_0x143a('0x23')]=qs[_0x143a('0x23')](_0x567871[_0x143a('0x35')]['limit']);_0x271523[_0x143a('0x21')]=qs[_0x143a('0x21')](_0x567871['query'][_0x143a('0x21')]);}return _0x5e24e9['getAgents'](_0x271523);}})['then'](function(_0x5df937){if(_0x5df937){return _0x5df937?{'count':_0x1985cc,'rows':_0x5df937}:null;}})[_0x143a('0x2a')](respondWithResult(_0x1ccbf0,null))[_0x143a('0x49')](handleError(_0x1ccbf0,null));};