Built motion from commit 9d0783e6.|2.6.13
[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 _0x0171=['status','json','offset','undefined','limit','count','set','then','error','name','send','index','map','Team','rawAttributes','fieldName','key','model','query','keys','filters','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','merge','type','filter','options','includeAll','include','rows','catch','show','params','intersection','length','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','Teams','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','destroy','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','FaxQueueId','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','WhatsappQueueId','UserWhatsappQueue','end','findOne','channel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','add','removeQueues','isValidChannel','remove','ids','addAgents','isArray','Voice','Sms','Fax','penalty','QueueId','User','findOrCreate','emit','Queue:save','online','voicePause','interface','UserVoiceQueueRt','format','SIP/%s','TeamVoiceQueue','all','TeamVoicePrefix','upsert','spread','removeAgents','Openchannel','Whatsapp','Queue:remove','VoicePrefixId','getAgents','eml-format','rimraf','fast-json-patch','moment','mustache','util','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','defaults','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus'];(function(_0x32e9b,_0x247979){var _0x1ba091=function(_0x2da97f){while(--_0x2da97f){_0x32e9b['push'](_0x32e9b['shift']());}};_0x1ba091(++_0x247979);}(_0x0171,0x1a1));var _0x1017=function(_0x90193f,_0x2689f2){_0x90193f=_0x90193f-0x0;var _0x4cba91=_0x0171[_0x90193f];return _0x4cba91;};'use strict';var emlformat=require(_0x1017('0x0'));var rimraf=require(_0x1017('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1017('0x2'));var rp=require('request-promise');var moment=require(_0x1017('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x1017('0x4'));var util=require(_0x1017('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x1017('0x6'));var ejs=require(_0x1017('0x7'));var fs=require('fs');var fs_extra=require(_0x1017('0x8'));var _=require(_0x1017('0x9'));var squel=require(_0x1017('0xa'));var crypto=require(_0x1017('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x1017('0xc'));var toCsv=require(_0x1017('0x6'));var querystring=require(_0x1017('0xd'));var Papa=require(_0x1017('0xe'));var Redis=require(_0x1017('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x1017('0x10'));var as=require(_0x1017('0x11'));var hardwareService=require(_0x1017('0x12'));var logger=require(_0x1017('0x13'))('api');var utils=require(_0x1017('0x14'));var config=require(_0x1017('0x15'));var licenseUtil=require(_0x1017('0x16'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x1017('0x17')](config[_0x1017('0x18')],{'host':_0x1017('0x19'),'port':0x18eb});var socket=require(_0x1017('0x1a'))(new Redis(config[_0x1017('0x18')]));require(_0x1017('0x1b'))[_0x1017('0x1c')](socket);function respondWithStatusCode(_0x3200a0,_0x180b4c){_0x180b4c=_0x180b4c||0xcc;return function(_0x4cedc9){if(_0x4cedc9){return _0x3200a0[_0x1017('0x1d')](_0x180b4c);}return _0x3200a0['status'](_0x180b4c)['end']();};}function respondWithResult(_0x1e47e9,_0x356afd){_0x356afd=_0x356afd||0xc8;return function(_0x5c138d){if(_0x5c138d){return _0x1e47e9[_0x1017('0x1e')](_0x356afd)[_0x1017('0x1f')](_0x5c138d);}};}function respondWithFilteredResult(_0x1c2dd2,_0x17bf3f){return function(_0x58e052){if(_0x58e052){var _0x4ceb63=typeof _0x17bf3f[_0x1017('0x20')]===_0x1017('0x21')&&typeof _0x17bf3f[_0x1017('0x22')]==='undefined';var _0x2c0070=_0x58e052['count'];var _0x439610=_0x4ceb63?0x0:_0x17bf3f[_0x1017('0x20')];var _0x172951=_0x4ceb63?_0x58e052[_0x1017('0x23')]:_0x17bf3f[_0x1017('0x20')]+_0x17bf3f[_0x1017('0x22')];var _0x481502;if(_0x172951>=_0x2c0070){_0x172951=_0x2c0070;_0x481502=0xc8;}else{_0x481502=0xce;}_0x1c2dd2[_0x1017('0x1e')](_0x481502);return _0x1c2dd2[_0x1017('0x24')]('Content-Range',_0x439610+'-'+_0x172951+'/'+_0x2c0070)['json'](_0x58e052);}return null;};}function patchUpdates(_0x1be7c7){return function(_0x525760){try{jsonpatch['apply'](_0x525760,_0x1be7c7,!![]);}catch(_0x1d1347){return BPromise['reject'](_0x1d1347);}return _0x525760['save']();};}function saveUpdates(_0x3a70d5,_0x26b77c){return function(_0x19dda1){if(_0x19dda1){return _0x19dda1['update'](_0x3a70d5)[_0x1017('0x25')](function(_0x535c5f){return _0x535c5f;});}return null;};}function handleEntityNotFound(_0x5abd96,_0x384d8c){return function(_0x5dc81f){if(!_0x5dc81f){_0x5abd96['sendStatus'](0x194);}return _0x5dc81f;};}function handleError(_0x5c6a96,_0x3fdc3f){_0x3fdc3f=_0x3fdc3f||0x1f4;return function(_0xe0afe1){logger[_0x1017('0x26')](_0xe0afe1['stack']);if(_0xe0afe1[_0x1017('0x27')]){delete _0xe0afe1[_0x1017('0x27')];}_0x5c6a96[_0x1017('0x1e')](_0x3fdc3f)[_0x1017('0x28')](_0xe0afe1);};}exports[_0x1017('0x29')]=function(_0x10142c,_0x101143){var _0xb963db={},_0xdf6d85={},_0x3c98bb={'count':0x0,'rows':[]};var _0x4970a9=_[_0x1017('0x2a')](db[_0x1017('0x2b')][_0x1017('0x2c')],function(_0x35fce8){return{'name':_0x35fce8[_0x1017('0x2d')],'type':_0x35fce8['type'][_0x1017('0x2e')]};});_0xdf6d85[_0x1017('0x2f')]=_[_0x1017('0x2a')](_0x4970a9,_0x1017('0x27'));_0xdf6d85[_0x1017('0x30')]=_[_0x1017('0x31')](_0x10142c[_0x1017('0x30')]);_0xdf6d85[_0x1017('0x32')]=_['intersection'](_0xdf6d85[_0x1017('0x2f')],_0xdf6d85[_0x1017('0x30')]);_0xb963db[_0x1017('0x33')]=_['intersection'](_0xdf6d85[_0x1017('0x2f')],qs[_0x1017('0x34')](_0x10142c[_0x1017('0x30')][_0x1017('0x34')]));_0xb963db[_0x1017('0x33')]=_0xb963db[_0x1017('0x33')]['length']?_0xb963db[_0x1017('0x33')]:_0xdf6d85[_0x1017('0x2f')];if(!_0x10142c['query'][_0x1017('0x35')](_0x1017('0x36'))){_0xb963db[_0x1017('0x22')]=qs['limit'](_0x10142c[_0x1017('0x30')][_0x1017('0x22')]);_0xb963db[_0x1017('0x20')]=qs[_0x1017('0x20')](_0x10142c[_0x1017('0x30')][_0x1017('0x20')]);}_0xb963db[_0x1017('0x37')]=qs[_0x1017('0x38')](_0x10142c[_0x1017('0x30')][_0x1017('0x38')]);_0xb963db[_0x1017('0x39')]=qs['filters'](_[_0x1017('0x3a')](_0x10142c[_0x1017('0x30')],_0xdf6d85[_0x1017('0x32')]),_0x4970a9);if(_0x10142c['query']['filter']){_0xb963db[_0x1017('0x39')]=_[_0x1017('0x3b')](_0xb963db[_0x1017('0x39')],{'$or':_[_0x1017('0x2a')](_0x4970a9,function(_0x5d7157){if(_0x5d7157[_0x1017('0x3c')]!=='VIRTUAL'){var _0x113ead={};_0x113ead[_0x5d7157[_0x1017('0x27')]]={'$like':'%'+_0x10142c[_0x1017('0x30')][_0x1017('0x3d')]+'%'};return _0x113ead;}})});}_0xb963db=_[_0x1017('0x3b')]({},_0xb963db,_0x10142c[_0x1017('0x3e')]);var _0x3b9160={'where':_0xb963db['where']};return db[_0x1017('0x2b')][_0x1017('0x23')](_0x3b9160)[_0x1017('0x25')](function(_0xb523e5){_0x3c98bb[_0x1017('0x23')]=_0xb523e5;if(_0x10142c[_0x1017('0x30')][_0x1017('0x3f')]){_0xb963db[_0x1017('0x40')]=[{'all':!![]}];}return db[_0x1017('0x2b')]['findAll'](_0xb963db);})[_0x1017('0x25')](function(_0x1f395c){_0x3c98bb[_0x1017('0x41')]=_0x1f395c;return _0x3c98bb;})[_0x1017('0x25')](respondWithFilteredResult(_0x101143,_0xb963db))[_0x1017('0x42')](handleError(_0x101143,null));};exports[_0x1017('0x43')]=function(_0x3cf98e,_0x42c131){var _0x31d9a1={'raw':![],'where':{'id':_0x3cf98e[_0x1017('0x44')]['id']}},_0x5ccef6={};_0x5ccef6['model']=_[_0x1017('0x31')](db[_0x1017('0x2b')][_0x1017('0x2c')]);_0x5ccef6[_0x1017('0x30')]=_[_0x1017('0x31')](_0x3cf98e[_0x1017('0x30')]);_0x5ccef6[_0x1017('0x32')]=_[_0x1017('0x45')](_0x5ccef6[_0x1017('0x2f')],_0x5ccef6[_0x1017('0x30')]);_0x31d9a1[_0x1017('0x33')]=_['intersection'](_0x5ccef6[_0x1017('0x2f')],qs[_0x1017('0x34')](_0x3cf98e[_0x1017('0x30')][_0x1017('0x34')]));_0x31d9a1[_0x1017('0x33')]=_0x31d9a1[_0x1017('0x33')][_0x1017('0x46')]?_0x31d9a1[_0x1017('0x33')]:_0x5ccef6[_0x1017('0x2f')];if(_0x3cf98e[_0x1017('0x30')]['includeAll']){_0x31d9a1[_0x1017('0x40')]=[{'all':!![]}];}_0x31d9a1=_[_0x1017('0x3b')]({},_0x31d9a1,_0x3cf98e['options']);return db[_0x1017('0x2b')]['find'](_0x31d9a1)['then'](handleEntityNotFound(_0x42c131,null))['then'](respondWithResult(_0x42c131,null))['catch'](handleError(_0x42c131,null));};exports[_0x1017('0x47')]=function(_0x305305,_0x389b9d){return db[_0x1017('0x2b')][_0x1017('0x47')](_0x305305[_0x1017('0x48')],{})['then'](function(_0x159699){var _0x20e09c=_0x305305[_0x1017('0x49')][_0x1017('0x4a')]({'plain':!![]});if(!_0x20e09c)throw new Error(_0x1017('0x4b'));if(_0x20e09c['role']==='user'){var _0x2d05fb=_0x159699[_0x1017('0x4a')]({'plain':!![]});var _0x4a1e0d=_0x1017('0x4c');return db[_0x1017('0x4d')][_0x1017('0x4e')]({'where':{'name':_0x4a1e0d,'userProfileId':_0x20e09c[_0x1017('0x4f')]},'raw':!![]})['then'](function(_0xb8caa3){if(_0xb8caa3&&_0xb8caa3[_0x1017('0x50')]===0x0){return db[_0x1017('0x51')][_0x1017('0x47')]({'name':_0x2d05fb[_0x1017('0x27')],'resourceId':_0x2d05fb['id'],'type':_0xb8caa3['name'],'sectionId':_0xb8caa3['id']},{})[_0x1017('0x25')](function(){return _0x159699;});}else{return _0x159699;}})[_0x1017('0x42')](function(_0x35ae24){logger[_0x1017('0x26')](_0x1017('0x52'),_0x35ae24);throw _0x35ae24;});}return _0x159699;})[_0x1017('0x25')](respondWithResult(_0x389b9d,0xc9))['catch'](handleError(_0x389b9d,null));};exports[_0x1017('0x53')]=function(_0x318610,_0x2ebce0){if(_0x318610[_0x1017('0x48')]['id']){delete _0x318610['body']['id'];}return db[_0x1017('0x2b')]['find']({'where':{'id':_0x318610[_0x1017('0x44')]['id']}})[_0x1017('0x25')](handleEntityNotFound(_0x2ebce0,null))[_0x1017('0x25')](saveUpdates(_0x318610[_0x1017('0x48')],null))[_0x1017('0x25')](respondWithResult(_0x2ebce0,null))[_0x1017('0x42')](handleError(_0x2ebce0,null));};exports[_0x1017('0x54')]=function(_0x101e6b,_0x55246a){var _0x27a6ee=_0x101e6b[_0x1017('0x44')]['id'];var _0x2eaec6=[];return db[_0x1017('0x55')][_0x1017('0x56')](function(_0x56ae63){var _0xedd168=_0x1017('0x57')+_0x27a6ee;return db['sequelize'][_0x1017('0x30')](_0xedd168,{'type':db[_0x1017('0x58')][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63})[_0x1017('0x25')](function(_0x502014){_0x2eaec6=_[_0x1017('0x2a')](_0x502014,function(_0x25616a){return Number(_0x25616a[_0x1017('0x5b')]);});})[_0x1017('0x25')](function(){var _0x5cbd3e=_0x1017('0x5c')+_0x27a6ee;return db[_0x1017('0x55')][_0x1017('0x30')](_0x5cbd3e,{'type':db[_0x1017('0x58')]['QueryTypes'][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0xa42bd0){var _0x2ab8f0=_[_0x1017('0x2a')](_0xa42bd0,function(_0x456dd0){return Number(_0x456dd0[_0x1017('0x5d')]);});return db[_0x1017('0x5e')][_0x1017('0x54')]({'where':{'UserId':{'$in':_0x2eaec6},'VoiceQueueId':{'$in':_0x2ab8f0}},'transaction':_0x56ae63});})[_0x1017('0x25')](function(){var _0x5d238b=_0x1017('0x5f')+_0x27a6ee;return db['sequelize'][_0x1017('0x30')](_0x5d238b,{'type':db['Sequelize'][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x879fc7){var _0x529e73=_[_0x1017('0x2a')](_0x879fc7,function(_0x1fcf54){return Number(_0x1fcf54[_0x1017('0x60')]);});return db[_0x1017('0x61')][_0x1017('0x54')]({'where':{'UserId':{'$in':_0x2eaec6},'MailQueueId':{'$in':_0x529e73}},'transaction':_0x56ae63});})['then'](function(){var _0x2cc2ac='SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20'+_0x27a6ee;return db['sequelize']['query'](_0x2cc2ac,{'type':db[_0x1017('0x58')][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x52d965){var _0x39a6ce=_[_0x1017('0x2a')](_0x52d965,function(_0x1514df){return Number(_0x1514df['SmsQueueId']);});return db[_0x1017('0x62')]['destroy']({'where':{'UserId':{'$in':_0x2eaec6},'SmsQueueId':{'$in':_0x39a6ce}},'transaction':_0x56ae63});})[_0x1017('0x25')](function(){var _0x4f1e13=_0x1017('0x63')+_0x27a6ee;return db[_0x1017('0x55')]['query'](_0x4f1e13,{'type':db[_0x1017('0x58')][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x95e01d){var _0x102740=_['map'](_0x95e01d,function(_0x4604d1){return Number(_0x4604d1[_0x1017('0x64')]);});return db['UserChatQueue'][_0x1017('0x54')]({'where':{'UserId':{'$in':_0x2eaec6},'ChatQueueId':{'$in':_0x102740}},'transaction':_0x56ae63});})['then'](function(){var _0x58317b=_0x1017('0x65')+_0x27a6ee;return db[_0x1017('0x55')][_0x1017('0x30')](_0x58317b,{'type':db[_0x1017('0x58')][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x1a358c){var _0x5d4f34=_[_0x1017('0x2a')](_0x1a358c,function(_0x146684){return Number(_0x146684[_0x1017('0x66')]);});return db['UserFaxQueue'][_0x1017('0x54')]({'where':{'UserId':{'$in':_0x2eaec6},'FaxQueueId':{'$in':_0x5d4f34}},'transaction':_0x56ae63});})['then'](function(){var _0x3bc669=_0x1017('0x67')+_0x27a6ee;return db['sequelize'][_0x1017('0x30')](_0x3bc669,{'type':db['Sequelize'][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x231507){var _0xe29523=_[_0x1017('0x2a')](_0x231507,function(_0x78f80a){return Number(_0x78f80a[_0x1017('0x68')]);});return db['UserOpenchannelQueue'][_0x1017('0x54')]({'where':{'UserId':{'$in':_0x2eaec6},'OpenchannelQueueId':{'$in':_0xe29523}},'transaction':_0x56ae63});})[_0x1017('0x25')](function(){var _0x2b1d89='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x27a6ee;return db[_0x1017('0x55')][_0x1017('0x30')](_0x2b1d89,{'type':db['Sequelize'][_0x1017('0x59')][_0x1017('0x5a')],'raw':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x13e092){var _0x1aced0=_[_0x1017('0x2a')](_0x13e092,function(_0x581be2){return Number(_0x581be2[_0x1017('0x69')]);});return db[_0x1017('0x6a')]['destroy']({'where':{'UserId':{'$in':_0x2eaec6},'WhatsappQueueId':{'$in':_0x1aced0}},'transaction':_0x56ae63});})[_0x1017('0x25')](function(){return db['TeamVoicePrefix'][_0x1017('0x4e')]({'where':{'TeamId':_0x27a6ee}});})[_0x1017('0x25')](function(_0x38693b){if(_0x38693b===null){return;}return db['UserVoicePrefix'][_0x1017('0x54')]({'where':{'UserId':{'$in':_0x2eaec6},'VoicePrefixId':_0x38693b['VoicePrefixId']},'transaction':_0x56ae63});})[_0x1017('0x25')](function(){return db[_0x1017('0x2b')]['destroy']({'where':{'id':_0x27a6ee},'cascade':!![],'transaction':_0x56ae63});})[_0x1017('0x25')](function(_0x4620f4){if(_0x4620f4===0x0){_0x55246a[_0x1017('0x1d')](0x194);}else{return db[_0x1017('0x51')][_0x1017('0x54')]({'where':{'type':_0x1017('0x4c'),'resourceId':_0x27a6ee},'cascade':!![],'transaction':_0x56ae63})['then'](function(){_0x55246a[_0x1017('0x1e')](0xcc)[_0x1017('0x6b')]();});}})[_0x1017('0x42')](function(_0x5d8a94){_0x55246a['status'](0x1f4)[_0x1017('0x28')](_0x5d8a94);});});};exports['getQueues']=function(_0x47c9bf,_0x2d35dc,_0x15a33f){return db['Team'][_0x1017('0x6c')]({'where':{'id':_0x47c9bf[_0x1017('0x44')]['id']}})[_0x1017('0x25')](handleEntityNotFound(_0x2d35dc,null))[_0x1017('0x25')](function(_0x3f5838){if(!_0x47c9bf[_0x1017('0x30')][_0x1017('0x6d')]||!utils['isValidChannel'](_0x47c9bf[_0x1017('0x30')][_0x1017('0x6d')])){throw new db['Sequelize'][(_0x1017('0x6e'))](_0x1017('0x6f'));}var _0x50f6ce={};var _0x540f7f={};_0x540f7f[_0x1017('0x2f')]=_[_0x1017('0x31')](db[_[_0x1017('0x70')](_0x47c9bf[_0x1017('0x30')][_0x1017('0x6d')][_0x1017('0x71')]())+_0x1017('0x72')]['rawAttributes']);_0x540f7f[_0x1017('0x30')]=_[_0x1017('0x31')](_0x47c9bf[_0x1017('0x30')]);_0x540f7f[_0x1017('0x32')]=_[_0x1017('0x45')](_0x540f7f[_0x1017('0x2f')],_0x540f7f[_0x1017('0x30')]);_0x50f6ce[_0x1017('0x33')]=_[_0x1017('0x45')](_0x540f7f['model'],qs[_0x1017('0x34')](_0x47c9bf[_0x1017('0x30')][_0x1017('0x34')]));_0x50f6ce['attributes']=_0x50f6ce['attributes'][_0x1017('0x46')]?_0x50f6ce[_0x1017('0x33')]:_0x540f7f[_0x1017('0x2f')];_0x50f6ce['limit']=qs['limit'](_0x47c9bf[_0x1017('0x30')][_0x1017('0x22')]);_0x50f6ce['offset']=qs[_0x1017('0x20')](_0x47c9bf['query'][_0x1017('0x20')]);_0x50f6ce[_0x1017('0x37')]=qs[_0x1017('0x38')](_0x47c9bf[_0x1017('0x30')][_0x1017('0x38')]);_0x50f6ce['where']=qs[_0x1017('0x32')](_['pick'](_0x47c9bf[_0x1017('0x30')],_0x540f7f[_0x1017('0x32')]));_0x50f6ce=_[_0x1017('0x3b')]({},_0x50f6ce,_0x47c9bf[_0x1017('0x3e')]);return _0x3f5838[_0x1017('0x4a')+_[_0x1017('0x70')](_0x47c9bf[_0x1017('0x30')][_0x1017('0x6d')]['toLowerCase']())+_0x1017('0x73')](_0x50f6ce);})[_0x1017('0x25')](respondWithResult(_0x2d35dc,null))['catch'](handleError(_0x2d35dc,null));};exports['addQueues']=function(_0x4166e0,_0x5ad1af,_0x2d9133){return db[_0x1017('0x2b')]['findOne']({'where':{'id':_0x4166e0[_0x1017('0x44')]['id']}})[_0x1017('0x25')](function(_0x5defba){if(_0x5defba){if(!_0x4166e0[_0x1017('0x48')][_0x1017('0x6d')]||!utils['isValidChannel'](_0x4166e0[_0x1017('0x48')][_0x1017('0x6d')])){throw new db[(_0x1017('0x58'))]['ValidationError'](_0x1017('0x6f'));}return _0x5defba[_0x1017('0x74')+_[_0x1017('0x70')](_0x4166e0[_0x1017('0x48')][_0x1017('0x6d')][_0x1017('0x71')]())+'Queues'](_0x4166e0[_0x1017('0x48')]['ids']);}return null;})['then'](handleEntityNotFound(_0x5ad1af,null))[_0x1017('0x25')](respondWithStatusCode(_0x5ad1af,null))[_0x1017('0x42')](handleError(_0x5ad1af,null));};exports[_0x1017('0x75')]=function(_0x204874,_0x3f4231,_0x39d3ea){return db[_0x1017('0x2b')][_0x1017('0x6c')]({'where':{'id':_0x204874['params']['id']}})[_0x1017('0x25')](function(_0x14df07){if(_0x14df07){if(!_0x204874[_0x1017('0x30')][_0x1017('0x6d')]||!utils[_0x1017('0x76')](_0x204874[_0x1017('0x30')][_0x1017('0x6d')])){throw new db['Sequelize'][(_0x1017('0x6e'))](_0x1017('0x6f'));}return _0x14df07[_0x1017('0x77')+_[_0x1017('0x70')](_0x204874[_0x1017('0x30')][_0x1017('0x6d')][_0x1017('0x71')]())+_0x1017('0x73')](_0x204874[_0x1017('0x30')][_0x1017('0x78')]);}return null;})[_0x1017('0x25')](handleEntityNotFound(_0x3f4231,null))[_0x1017('0x25')](respondWithStatusCode(_0x3f4231,null))['catch'](handleError(_0x3f4231,null));};exports[_0x1017('0x79')]=function(_0x1353bf,_0x16db18){var _0x23a43f=_[_0x1017('0x7a')](_0x1353bf[_0x1017('0x48')][_0x1017('0x78')])?_0x1353bf[_0x1017('0x48')][_0x1017('0x78')]:[_0x1353bf[_0x1017('0x48')]['ids']];var _0x48b05d=_0x1353bf[_0x1017('0x44')]['id'];return db['Team']['find']({'where':{'id':_0x48b05d}})['then'](handleEntityNotFound(_0x16db18,null))['then'](function(_0x2aed68){if(_0x2aed68){var _0x61f62=[_0x1017('0x7b'),'Chat','Mail',_0x1017('0x7c'),_0x1017('0x7d'),'Openchannel','Whatsapp'];return db[_0x1017('0x55')][_0x1017('0x56')](function(_0x1f1c30){var _0x328f61=_[_0x1017('0x2a')](_0x61f62,function(_0x2764c6){var _0x2c9503={'attributes':['id',_0x1017('0x27')]};if(_0x2764c6===_0x1017('0x7b')){_0x2c9503['through']={'attributes':[_0x1017('0x7e')]};}return _0x2aed68[_0x1017('0x4a')+_0x2764c6+'Queues'](_0x2c9503)[_0x1017('0x25')](function(_0x5da8e5){var _0x13c6b1=_[_0x1017('0x2a')](_0x5da8e5,function(_0x13fe50){var _0x5d0ccf=_[_0x1017('0x2a')](_0x23a43f,function(_0x8f1d01){var _0x5d6dfc={'where':{'UserId':_0x8f1d01,[_0x2764c6+_0x1017('0x7f')]:_0x13fe50['id']},'transaction':_0x1f1c30};if(_0x2764c6===_0x1017('0x7b')){_0x5d6dfc[_0x1017('0x17')]={'penalty':_0x13fe50['TeamVoiceQueue'][_0x1017('0x7e')]};}return db[_0x1017('0x80')+_0x2764c6+'Queue'][_0x1017('0x81')](_0x5d6dfc)[_0x1017('0x25')](function(){socket[_0x1017('0x82')](_0x1017('0x49')+_0x2764c6+_0x1017('0x83'),{'UserId':_0x8f1d01,[_0x2764c6+_0x1017('0x7f')]:_0x13fe50['id']});if(_0x2764c6!==_0x1017('0x7b')){return;}return db[_0x1017('0x80')]['findAll']({'where':{'id':_0x23a43f,'online':0x1},'attributes':['id','name',_0x1017('0x84'),_0x1017('0x85'),_0x1017('0x86')],'raw':!![]})[_0x1017('0x25')](function(_0x525561){var _0x29f66d=_['map'](_0x525561,function(_0x5a12d0){return db[_0x1017('0x87')]['upsert']({'membername':_0x5a12d0[_0x1017('0x27')],'UserId':_0x5a12d0['id'],'queue_name':_0x13fe50[_0x1017('0x27')],'VoiceQueueId':_0x13fe50['id'],'interface':_['isNil'](_0x5a12d0[_0x1017('0x86')])?util[_0x1017('0x88')](_0x1017('0x89'),_0x5a12d0[_0x1017('0x27')]):_0x5a12d0[_0x1017('0x86')],'paused':_0x5a12d0[_0x1017('0x85')]||![],'penalty':_0x13fe50[_0x1017('0x8a')][_0x1017('0x7e')]},{'transaction':_0x1f1c30});});return Promise[_0x1017('0x8b')](_0x29f66d);});});});return Promise['all'](_0x5d0ccf);});return Promise[_0x1017('0x8b')](_0x13c6b1);})[_0x1017('0x25')](function(){return db[_0x1017('0x8c')][_0x1017('0x6c')]({'where':{'teamId':_0x48b05d}})['then'](function(_0x4931ca){if(_0x4931ca){var _0x20530f=_[_0x1017('0x2a')](_0x23a43f,function(_0x356611){db['UserVoicePrefix'][_0x1017('0x8d')]({'UserId':_0x356611,'VoicePrefixId':_0x4931ca['VoicePrefixId']});});return Promise[_0x1017('0x8b')](_0x20530f);}});});});return Promise[_0x1017('0x8b')](_0x328f61)[_0x1017('0x25')](function(){return _0x2aed68[_0x1017('0x79')](_0x23a43f,{'transaction':_0x1f1c30})[_0x1017('0x8e')](function(_0x4851ba){return _0x4851ba;});});});}})['then'](respondWithResult(_0x16db18,null))['catch'](handleError(_0x16db18,null));};exports[_0x1017('0x8f')]=function(_0x3c8fde,_0x8df1a8){var _0x4241f6=_[_0x1017('0x7a')](_0x3c8fde[_0x1017('0x30')][_0x1017('0x78')])?_0x3c8fde['query'][_0x1017('0x78')]:[_0x3c8fde[_0x1017('0x30')][_0x1017('0x78')]];var _0x7923a3=_0x3c8fde[_0x1017('0x44')]['id'];return db[_0x1017('0x2b')][_0x1017('0x4e')]({'where':{'id':_0x7923a3}})[_0x1017('0x25')](handleEntityNotFound(_0x8df1a8,null))[_0x1017('0x25')](function(_0x4d9215){if(_0x4d9215){var _0xcf89e0=['Voice','Chat','Mail',_0x1017('0x7c'),'Fax',_0x1017('0x90'),_0x1017('0x91')];return db[_0x1017('0x55')][_0x1017('0x56')](function(_0x459f13){var _0x92d1f=_[_0x1017('0x2a')](_0xcf89e0,function(_0x545757){var _0x2253ea={'attributes':['id','name']};return _0x4d9215['get'+_0x545757+_0x1017('0x73')](_0x2253ea)['then'](function(_0x4e18df){var _0x272254=_[_0x1017('0x2a')](_0x4e18df,function(_0x16cc83){return _0x16cc83[_0x1017('0x8f')](_0x4241f6,{'transaction':_0x459f13})[_0x1017('0x25')](function(){var _0x161b39=_[_0x1017('0x2a')](_0x4241f6,function(_0x4ec9e0){socket[_0x1017('0x82')](_0x1017('0x49')+_0x545757+_0x1017('0x92'),{'UserId':Number(_0x4ec9e0),[_0x545757+_0x1017('0x7f')]:_0x16cc83['id']});if(_0x545757!==_0x1017('0x7b')){return;}return db['UserVoiceQueueRt'][_0x1017('0x54')]({'where':{'VoiceQueueId':_0x16cc83['id'],'UserId':_0x4ec9e0},'transaction':_0x459f13});});return Promise[_0x1017('0x8b')](_0x161b39);});});return Promise[_0x1017('0x8b')](_0x272254);});});return Promise['all'](_0x92d1f)[_0x1017('0x25')](function(){return _0x4d9215[_0x1017('0x8f')](_0x4241f6,{'transaction':_0x459f13});})[_0x1017('0x25')](function(){return db['TeamVoicePrefix'][_0x1017('0x6c')]({'where':{'teamId':_0x7923a3}})[_0x1017('0x25')](function(_0x17b055){if(_0x17b055){var _0x13e9ee=_[_0x1017('0x2a')](_0x4241f6,function(_0x145a28){db['UserVoicePrefix'][_0x1017('0x54')]({'where':{'UserId':_0x145a28,'VoicePrefixId':_0x17b055[_0x1017('0x93')]}});});return Promise[_0x1017('0x8b')](_0x13e9ee);}});});});}})[_0x1017('0x25')](respondWithStatusCode(_0x8df1a8,null))[_0x1017('0x42')](handleError(_0x8df1a8,null));};exports[_0x1017('0x94')]=function(_0x3bf512,_0x27bb98,_0xd5dcae){var _0x31a248={};var _0x3b8af5={};var _0x598243;var _0x54bac1;return db[_0x1017('0x2b')][_0x1017('0x6c')]({'where':{'id':_0x3bf512['params']['id']}})[_0x1017('0x25')](handleEntityNotFound(_0x27bb98,null))[_0x1017('0x25')](function(_0x1828fd){if(_0x1828fd){_0x598243=_0x1828fd;_0x3b8af5['model']=_[_0x1017('0x31')](db[_0x1017('0x80')][_0x1017('0x2c')]);_0x3b8af5[_0x1017('0x30')]=_['keys'](_0x3bf512['query']);_0x3b8af5['filters']=_[_0x1017('0x45')](_0x3b8af5[_0x1017('0x2f')],_0x3b8af5['query']);_0x31a248['attributes']=_[_0x1017('0x45')](_0x3b8af5[_0x1017('0x2f')],qs[_0x1017('0x34')](_0x3bf512[_0x1017('0x30')]['fields']));_0x31a248['attributes']=_0x31a248[_0x1017('0x33')][_0x1017('0x46')]?_0x31a248[_0x1017('0x33')]:_0x3b8af5['model'];_0x31a248[_0x1017('0x37')]=qs[_0x1017('0x38')](_0x3bf512[_0x1017('0x30')][_0x1017('0x38')]);_0x31a248[_0x1017('0x39')]=qs[_0x1017('0x32')](_['pick'](_0x3bf512['query'],_0x3b8af5[_0x1017('0x32')]));if(_0x3bf512[_0x1017('0x30')][_0x1017('0x3d')]){_0x31a248[_0x1017('0x39')]=_['merge'](_0x31a248['where'],{'$or':_[_0x1017('0x2a')](_0x31a248[_0x1017('0x33')],function(_0x138d65){var _0x537331={};_0x537331[_0x138d65]={'$like':'%'+_0x3bf512['query'][_0x1017('0x3d')]+'%'};return _0x537331;})});}_0x31a248=_[_0x1017('0x3b')]({},_0x31a248,_0x3bf512[_0x1017('0x3e')]);return _0x598243[_0x1017('0x94')](_0x31a248);}})[_0x1017('0x25')](function(_0x5a80cb){if(_0x5a80cb){_0x54bac1=_0x5a80cb['length'];if(!_0x3bf512['query'][_0x1017('0x35')](_0x1017('0x36'))){_0x31a248[_0x1017('0x22')]=qs[_0x1017('0x22')](_0x3bf512[_0x1017('0x30')][_0x1017('0x22')]);_0x31a248[_0x1017('0x20')]=qs[_0x1017('0x20')](_0x3bf512[_0x1017('0x30')][_0x1017('0x20')]);}return _0x598243[_0x1017('0x94')](_0x31a248);}})[_0x1017('0x25')](function(_0xcdae6b){if(_0xcdae6b){return _0xcdae6b?{'count':_0x54bac1,'rows':_0xcdae6b}:null;}})[_0x1017('0x25')](respondWithResult(_0x27bb98,null))[_0x1017('0x42')](handleError(_0x27bb98,null));};