Built motion from commit 9e1399f3.|2.5.37
[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 _0xb75d=['findOrCreate','emit','voicePause','UserVoiceQueueRt','upsert','isNil','interface','format','SIP/%s','all','VoicePrefixId','addAgents','spread','removeAgents','Chat','Whatsapp','Queue:remove','getAgents','hasOwnProperty','eml-format','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','register','end','status','json','offset','limit','count','set','Content-Range','apply','save','update','then','name','send','index','Team','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','map','type','VIRTUAL','options','includeAll','findAll','rows','catch','params','rawAttributes','find','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Teams','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','sequelize','transaction','Sequelize','QueryTypes','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','SELECT','UserVoiceQueue','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','OpenchannelQueueId','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','TeamVoicePrefix','UserVoicePrefix','getQueues','channel','isValidChannel','toLowerCase','Queue','addQueues','Unknown\x20channel','capitalize','Queues','ids','removeQueues','findOne','ValidationError','remove','isArray','Voice','Mail','Sms','Fax','Openchannel','penalty','QueueId','TeamVoiceQueue','User'];(function(_0x14add3,_0x13ce8d){var _0x4a174f=function(_0x2b3ed7){while(--_0x2b3ed7){_0x14add3['push'](_0x14add3['shift']());}};_0x4a174f(++_0x13ce8d);}(_0xb75d,0x1cc));var _0xdb75=function(_0x6e1239,_0x3562ac){_0x6e1239=_0x6e1239-0x0;var _0x418150=_0xb75d[_0x6e1239];return _0x418150;};'use strict';var emlformat=require(_0xdb75('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xdb75('0x1'));var BPromise=require(_0xdb75('0x2'));var Mustache=require(_0xdb75('0x3'));var util=require(_0xdb75('0x4'));var path=require('path');var sox=require(_0xdb75('0x5'));var csv=require(_0xdb75('0x6'));var ejs=require(_0xdb75('0x7'));var fs=require('fs');var fs_extra=require(_0xdb75('0x8'));var _=require(_0xdb75('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xdb75('0xa'));var deskjs=require('desk.js');var toCsv=require(_0xdb75('0x6'));var querystring=require(_0xdb75('0xb'));var Papa=require('papaparse');var Redis=require(_0xdb75('0xc'));var authService=require(_0xdb75('0xd'));var qs=require('../../components/parsers/qs');var as=require(_0xdb75('0xe'));var hardwareService=require(_0xdb75('0xf'));var logger=require(_0xdb75('0x10'))(_0xdb75('0x11'));var utils=require('../../config/utils');var config=require(_0xdb75('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0xdb75('0x13'))['db'];config[_0xdb75('0x14')]=_['defaults'](config[_0xdb75('0x14')],{'host':_0xdb75('0x15'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xdb75('0x14')]));require('./team.socket')[_0xdb75('0x16')](socket);function respondWithStatusCode(_0x32a9fb,_0x522536){_0x522536=_0x522536||0xcc;return function(_0x5873e2){if(_0x5873e2){return _0x32a9fb['sendStatus'](_0x522536);}return _0x32a9fb['status'](_0x522536)[_0xdb75('0x17')]();};}function respondWithResult(_0x358e44,_0x1e4769){_0x1e4769=_0x1e4769||0xc8;return function(_0x1a1e25){if(_0x1a1e25){return _0x358e44[_0xdb75('0x18')](_0x1e4769)[_0xdb75('0x19')](_0x1a1e25);}};}function respondWithFilteredResult(_0x11ef0f,_0x221d33){return function(_0xec8ae1){if(_0xec8ae1){var _0x12dd6d=typeof _0x221d33[_0xdb75('0x1a')]==='undefined'&&typeof _0x221d33[_0xdb75('0x1b')]==='undefined';var _0x2f3527=_0xec8ae1[_0xdb75('0x1c')];var _0xfd5fe7=_0x12dd6d?0x0:_0x221d33[_0xdb75('0x1a')];var _0x51a31d=_0x12dd6d?_0xec8ae1[_0xdb75('0x1c')]:_0x221d33[_0xdb75('0x1a')]+_0x221d33[_0xdb75('0x1b')];var _0x203b21;if(_0x51a31d>=_0x2f3527){_0x51a31d=_0x2f3527;_0x203b21=0xc8;}else{_0x203b21=0xce;}_0x11ef0f['status'](_0x203b21);return _0x11ef0f[_0xdb75('0x1d')](_0xdb75('0x1e'),_0xfd5fe7+'-'+_0x51a31d+'/'+_0x2f3527)['json'](_0xec8ae1);}return null;};}function patchUpdates(_0x24f64c){return function(_0x22253){try{jsonpatch[_0xdb75('0x1f')](_0x22253,_0x24f64c,!![]);}catch(_0x11054f){return BPromise['reject'](_0x11054f);}return _0x22253[_0xdb75('0x20')]();};}function saveUpdates(_0x2d6f24,_0x254419){return function(_0x39cfe8){if(_0x39cfe8){return _0x39cfe8[_0xdb75('0x21')](_0x2d6f24)[_0xdb75('0x22')](function(_0x1534a9){return _0x1534a9;});}return null;};}function handleEntityNotFound(_0x38a626,_0x4c7d23){return function(_0xdd38ea){if(!_0xdd38ea){_0x38a626['sendStatus'](0x194);}return _0xdd38ea;};}function handleError(_0x27510a,_0x39d984){_0x39d984=_0x39d984||0x1f4;return function(_0x6c1753){logger['error'](_0x6c1753['stack']);if(_0x6c1753[_0xdb75('0x23')]){delete _0x6c1753[_0xdb75('0x23')];}_0x27510a[_0xdb75('0x18')](_0x39d984)[_0xdb75('0x24')](_0x6c1753);};}exports[_0xdb75('0x25')]=function(_0x28ac4b,_0x366d7f){var _0x2c911f={},_0xa449cb={},_0x47d857={'count':0x0,'rows':[]};var _0x44c662=_['map'](db[_0xdb75('0x26')]['rawAttributes'],function(_0x2939bd){return{'name':_0x2939bd[_0xdb75('0x27')],'type':_0x2939bd['type'][_0xdb75('0x28')]};});_0xa449cb[_0xdb75('0x29')]=_['map'](_0x44c662,_0xdb75('0x23'));_0xa449cb[_0xdb75('0x2a')]=_[_0xdb75('0x2b')](_0x28ac4b[_0xdb75('0x2a')]);_0xa449cb[_0xdb75('0x2c')]=_[_0xdb75('0x2d')](_0xa449cb[_0xdb75('0x29')],_0xa449cb['query']);_0x2c911f[_0xdb75('0x2e')]=_[_0xdb75('0x2d')](_0xa449cb[_0xdb75('0x29')],qs[_0xdb75('0x2f')](_0x28ac4b['query'][_0xdb75('0x2f')]));_0x2c911f[_0xdb75('0x2e')]=_0x2c911f[_0xdb75('0x2e')][_0xdb75('0x30')]?_0x2c911f['attributes']:_0xa449cb[_0xdb75('0x29')];if(!_0x28ac4b[_0xdb75('0x2a')]['hasOwnProperty'](_0xdb75('0x31'))){_0x2c911f[_0xdb75('0x1b')]=qs['limit'](_0x28ac4b[_0xdb75('0x2a')][_0xdb75('0x1b')]);_0x2c911f[_0xdb75('0x1a')]=qs[_0xdb75('0x1a')](_0x28ac4b[_0xdb75('0x2a')][_0xdb75('0x1a')]);}_0x2c911f[_0xdb75('0x32')]=qs[_0xdb75('0x33')](_0x28ac4b[_0xdb75('0x2a')][_0xdb75('0x33')]);_0x2c911f[_0xdb75('0x34')]=qs[_0xdb75('0x2c')](_[_0xdb75('0x35')](_0x28ac4b['query'],_0xa449cb['filters']),_0x44c662);if(_0x28ac4b[_0xdb75('0x2a')][_0xdb75('0x36')]){_0x2c911f[_0xdb75('0x34')]=_[_0xdb75('0x37')](_0x2c911f[_0xdb75('0x34')],{'$or':_[_0xdb75('0x38')](_0x44c662,function(_0x53ac28){if(_0x53ac28[_0xdb75('0x39')]!==_0xdb75('0x3a')){var _0x32d053={};_0x32d053[_0x53ac28[_0xdb75('0x23')]]={'$like':'%'+_0x28ac4b[_0xdb75('0x2a')][_0xdb75('0x36')]+'%'};return _0x32d053;}})});}_0x2c911f=_[_0xdb75('0x37')]({},_0x2c911f,_0x28ac4b[_0xdb75('0x3b')]);var _0x531cde={'where':_0x2c911f['where']};return db['Team']['count'](_0x531cde)[_0xdb75('0x22')](function(_0x349a99){_0x47d857[_0xdb75('0x1c')]=_0x349a99;if(_0x28ac4b['query'][_0xdb75('0x3c')]){_0x2c911f['include']=[{'all':!![]}];}return db[_0xdb75('0x26')][_0xdb75('0x3d')](_0x2c911f);})[_0xdb75('0x22')](function(_0xd3e7){_0x47d857[_0xdb75('0x3e')]=_0xd3e7;return _0x47d857;})[_0xdb75('0x22')](respondWithFilteredResult(_0x366d7f,_0x2c911f))[_0xdb75('0x3f')](handleError(_0x366d7f,null));};exports['show']=function(_0x1d0c03,_0x39e408){var _0x338838={'raw':![],'where':{'id':_0x1d0c03[_0xdb75('0x40')]['id']}},_0x1fa1ac={};_0x1fa1ac[_0xdb75('0x29')]=_[_0xdb75('0x2b')](db[_0xdb75('0x26')][_0xdb75('0x41')]);_0x1fa1ac[_0xdb75('0x2a')]=_['keys'](_0x1d0c03[_0xdb75('0x2a')]);_0x1fa1ac[_0xdb75('0x2c')]=_['intersection'](_0x1fa1ac[_0xdb75('0x29')],_0x1fa1ac[_0xdb75('0x2a')]);_0x338838[_0xdb75('0x2e')]=_['intersection'](_0x1fa1ac[_0xdb75('0x29')],qs['fields'](_0x1d0c03[_0xdb75('0x2a')]['fields']));_0x338838[_0xdb75('0x2e')]=_0x338838[_0xdb75('0x2e')][_0xdb75('0x30')]?_0x338838[_0xdb75('0x2e')]:_0x1fa1ac[_0xdb75('0x29')];if(_0x1d0c03[_0xdb75('0x2a')][_0xdb75('0x3c')]){_0x338838['include']=[{'all':!![]}];}_0x338838=_[_0xdb75('0x37')]({},_0x338838,_0x1d0c03['options']);return db[_0xdb75('0x26')][_0xdb75('0x42')](_0x338838)[_0xdb75('0x22')](handleEntityNotFound(_0x39e408,null))[_0xdb75('0x22')](respondWithResult(_0x39e408,null))['catch'](handleError(_0x39e408,null));};exports['create']=function(_0x2007bc,_0x1ecc14){return db[_0xdb75('0x26')]['create'](_0x2007bc['body'],{})[_0xdb75('0x22')](function(_0xfdd527){var _0x3f341f=_0x2007bc[_0xdb75('0x43')][_0xdb75('0x44')]({'plain':!![]});if(!_0x3f341f)throw new Error(_0xdb75('0x45'));if(_0x3f341f[_0xdb75('0x46')]==='user'){var _0xceeca5=_0xfdd527['get']({'plain':!![]});var _0x5dd13b=_0xdb75('0x47');return db[_0xdb75('0x48')][_0xdb75('0x42')]({'where':{'name':_0x5dd13b,'userProfileId':_0x3f341f[_0xdb75('0x49')]},'raw':!![]})[_0xdb75('0x22')](function(_0x3e9d91){if(_0x3e9d91&&_0x3e9d91[_0xdb75('0x4a')]===0x0){return db[_0xdb75('0x4b')][_0xdb75('0x4c')]({'name':_0xceeca5[_0xdb75('0x23')],'resourceId':_0xceeca5['id'],'type':_0x3e9d91[_0xdb75('0x23')],'sectionId':_0x3e9d91['id']},{})[_0xdb75('0x22')](function(){return _0xfdd527;});}else{return _0xfdd527;}})[_0xdb75('0x3f')](function(_0x256fe5){logger[_0xdb75('0x4d')](_0xdb75('0x4e'),_0x256fe5);throw _0x256fe5;});}return _0xfdd527;})['then'](respondWithResult(_0x1ecc14,0xc9))[_0xdb75('0x3f')](handleError(_0x1ecc14,null));};exports[_0xdb75('0x21')]=function(_0x59c2fe,_0x49f25d){if(_0x59c2fe[_0xdb75('0x4f')]['id']){delete _0x59c2fe[_0xdb75('0x4f')]['id'];}return db[_0xdb75('0x26')][_0xdb75('0x42')]({'where':{'id':_0x59c2fe[_0xdb75('0x40')]['id']}})[_0xdb75('0x22')](handleEntityNotFound(_0x49f25d,null))['then'](saveUpdates(_0x59c2fe['body'],null))[_0xdb75('0x22')](respondWithResult(_0x49f25d,null))[_0xdb75('0x3f')](handleError(_0x49f25d,null));};exports[_0xdb75('0x50')]=function(_0x4b648a,_0x26ae14){var _0x59097b=_0x4b648a[_0xdb75('0x40')]['id'];var _0x4c7440=[];return db[_0xdb75('0x51')][_0xdb75('0x52')](function(_0x49a0ff){var _0x48607d='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x59097b;return db[_0xdb75('0x51')]['query'](_0x48607d,{'type':db[_0xdb75('0x53')][_0xdb75('0x54')]['SELECT'],'raw':!![],'transaction':_0x49a0ff})[_0xdb75('0x22')](function(_0x403361){_0x4c7440=_[_0xdb75('0x38')](_0x403361,function(_0x3c6666){return Number(_0x3c6666[_0xdb75('0x55')]);});})[_0xdb75('0x22')](function(){var _0x174c81=_0xdb75('0x56')+_0x59097b;return db[_0xdb75('0x51')]['query'](_0x174c81,{'type':db[_0xdb75('0x53')][_0xdb75('0x54')][_0xdb75('0x57')],'raw':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x19831){var _0x276b07=_[_0xdb75('0x38')](_0x19831,function(_0x41b19c){return Number(_0x41b19c['VoiceQueueId']);});return db[_0xdb75('0x58')][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'VoiceQueueId':{'$in':_0x276b07}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){var _0xfd2834=_0xdb75('0x59')+_0x59097b;return db[_0xdb75('0x51')]['query'](_0xfd2834,{'type':db['Sequelize'][_0xdb75('0x54')]['SELECT'],'raw':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x22865d){var _0x3acc13=_[_0xdb75('0x38')](_0x22865d,function(_0x4bfc26){return Number(_0x4bfc26[_0xdb75('0x5a')]);});return db['UserMailQueue'][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'MailQueueId':{'$in':_0x3acc13}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){var _0x20327f=_0xdb75('0x5b')+_0x59097b;return db[_0xdb75('0x51')][_0xdb75('0x2a')](_0x20327f,{'type':db[_0xdb75('0x53')][_0xdb75('0x54')][_0xdb75('0x57')],'raw':!![],'transaction':_0x49a0ff});})['then'](function(_0x5e7eaf){var _0xe17f1b=_[_0xdb75('0x38')](_0x5e7eaf,function(_0x9ec278){return Number(_0x9ec278[_0xdb75('0x5c')]);});return db[_0xdb75('0x5d')][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'SmsQueueId':{'$in':_0xe17f1b}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){var _0x5c7028=_0xdb75('0x5e')+_0x59097b;return db['sequelize'][_0xdb75('0x2a')](_0x5c7028,{'type':db['Sequelize']['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x13d41a){var _0x13b584=_[_0xdb75('0x38')](_0x13d41a,function(_0x4ce74b){return Number(_0x4ce74b[_0xdb75('0x5f')]);});return db[_0xdb75('0x60')][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'ChatQueueId':{'$in':_0x13b584}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){var _0x13bb84=_0xdb75('0x61')+_0x59097b;return db[_0xdb75('0x51')][_0xdb75('0x2a')](_0x13bb84,{'type':db['Sequelize'][_0xdb75('0x54')]['SELECT'],'raw':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x3e4ef0){var _0x26a865=_[_0xdb75('0x38')](_0x3e4ef0,function(_0xef7236){return Number(_0xef7236[_0xdb75('0x62')]);});return db['UserFaxQueue'][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'FaxQueueId':{'$in':_0x26a865}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){var _0xd09571='SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20'+_0x59097b;return db[_0xdb75('0x51')][_0xdb75('0x2a')](_0xd09571,{'type':db[_0xdb75('0x53')]['QueryTypes'][_0xdb75('0x57')],'raw':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x3aae4b){var _0x2a4541=_[_0xdb75('0x38')](_0x3aae4b,function(_0x637636){return Number(_0x637636[_0xdb75('0x63')]);});return db['UserOpenchannelQueue'][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'OpenchannelQueueId':{'$in':_0x2a4541}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){var _0x28ff90=_0xdb75('0x64')+_0x59097b;return db[_0xdb75('0x51')]['query'](_0x28ff90,{'type':db['Sequelize'][_0xdb75('0x54')][_0xdb75('0x57')],'raw':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x9dbd65){var _0x5474f6=_['map'](_0x9dbd65,function(_0x2175ee){return Number(_0x2175ee[_0xdb75('0x65')]);});return db['UserWhatsappQueue'][_0xdb75('0x50')]({'where':{'UserId':{'$in':_0x4c7440},'WhatsappQueueId':{'$in':_0x5474f6}},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){return db[_0xdb75('0x66')]['find']({'where':{'TeamId':_0x59097b}});})['then'](function(_0x441f5f){if(_0x441f5f===null){return;}return db[_0xdb75('0x67')]['destroy']({'where':{'UserId':{'$in':_0x4c7440},'VoicePrefixId':_0x441f5f['VoicePrefixId']},'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(){return db[_0xdb75('0x26')][_0xdb75('0x50')]({'where':{'id':_0x59097b},'cascade':!![],'transaction':_0x49a0ff});})[_0xdb75('0x22')](function(_0x4c6ae5){if(_0x4c6ae5===0x0){_0x26ae14['sendStatus'](0x194);}else{return db[_0xdb75('0x4b')][_0xdb75('0x50')]({'where':{'type':_0xdb75('0x47'),'resourceId':_0x59097b},'cascade':!![],'transaction':_0x49a0ff})[_0xdb75('0x22')](function(){_0x26ae14[_0xdb75('0x18')](0xcc)[_0xdb75('0x17')]();});}})[_0xdb75('0x3f')](function(_0xb485f7){_0x26ae14[_0xdb75('0x18')](0x1f4)[_0xdb75('0x24')](_0xb485f7);});});};exports[_0xdb75('0x68')]=function(_0x513f80,_0x1a8269,_0x4f2426){return db[_0xdb75('0x26')]['findOne']({'where':{'id':_0x513f80['params']['id']}})[_0xdb75('0x22')](handleEntityNotFound(_0x1a8269,null))['then'](function(_0x581224){if(!_0x513f80[_0xdb75('0x2a')][_0xdb75('0x69')]||!utils[_0xdb75('0x6a')](_0x513f80['query'][_0xdb75('0x69')])){throw new db[(_0xdb75('0x53'))]['ValidationError']('Unknown\x20channel');}var _0x519604={};var _0x588022={};_0x588022[_0xdb75('0x29')]=_[_0xdb75('0x2b')](db[_['capitalize'](_0x513f80['query'][_0xdb75('0x69')][_0xdb75('0x6b')]())+_0xdb75('0x6c')][_0xdb75('0x41')]);_0x588022[_0xdb75('0x2a')]=_['keys'](_0x513f80[_0xdb75('0x2a')]);_0x588022['filters']=_[_0xdb75('0x2d')](_0x588022[_0xdb75('0x29')],_0x588022[_0xdb75('0x2a')]);_0x519604['attributes']=_[_0xdb75('0x2d')](_0x588022['model'],qs[_0xdb75('0x2f')](_0x513f80['query']['fields']));_0x519604[_0xdb75('0x2e')]=_0x519604[_0xdb75('0x2e')]['length']?_0x519604['attributes']:_0x588022['model'];_0x519604['limit']=qs[_0xdb75('0x1b')](_0x513f80[_0xdb75('0x2a')]['limit']);_0x519604[_0xdb75('0x1a')]=qs[_0xdb75('0x1a')](_0x513f80[_0xdb75('0x2a')][_0xdb75('0x1a')]);_0x519604[_0xdb75('0x32')]=qs['sort'](_0x513f80[_0xdb75('0x2a')][_0xdb75('0x33')]);_0x519604[_0xdb75('0x34')]=qs['filters'](_[_0xdb75('0x35')](_0x513f80[_0xdb75('0x2a')],_0x588022[_0xdb75('0x2c')]));_0x519604=_[_0xdb75('0x37')]({},_0x519604,_0x513f80[_0xdb75('0x3b')]);return _0x581224[_0xdb75('0x44')+_['capitalize'](_0x513f80[_0xdb75('0x2a')]['channel'][_0xdb75('0x6b')]())+'Queues'](_0x519604);})[_0xdb75('0x22')](respondWithResult(_0x1a8269,null))['catch'](handleError(_0x1a8269,null));};exports[_0xdb75('0x6d')]=function(_0x1e1e82,_0x278e75,_0x29435e){return db[_0xdb75('0x26')]['findOne']({'where':{'id':_0x1e1e82[_0xdb75('0x40')]['id']}})['then'](function(_0x423f9){if(_0x423f9){if(!_0x1e1e82[_0xdb75('0x4f')]['channel']||!utils[_0xdb75('0x6a')](_0x1e1e82['body'][_0xdb75('0x69')])){throw new db[(_0xdb75('0x53'))]['ValidationError'](_0xdb75('0x6e'));}return _0x423f9['add'+_[_0xdb75('0x6f')](_0x1e1e82[_0xdb75('0x4f')]['channel']['toLowerCase']())+_0xdb75('0x70')](_0x1e1e82[_0xdb75('0x4f')][_0xdb75('0x71')]);}return null;})[_0xdb75('0x22')](handleEntityNotFound(_0x278e75,null))[_0xdb75('0x22')](respondWithStatusCode(_0x278e75,null))[_0xdb75('0x3f')](handleError(_0x278e75,null));};exports[_0xdb75('0x72')]=function(_0x288277,_0x1a70dd,_0x3cdd7e){return db[_0xdb75('0x26')][_0xdb75('0x73')]({'where':{'id':_0x288277[_0xdb75('0x40')]['id']}})[_0xdb75('0x22')](function(_0x54895b){if(_0x54895b){if(!_0x288277[_0xdb75('0x2a')][_0xdb75('0x69')]||!utils[_0xdb75('0x6a')](_0x288277[_0xdb75('0x2a')]['channel'])){throw new db[(_0xdb75('0x53'))][(_0xdb75('0x74'))](_0xdb75('0x6e'));}return _0x54895b[_0xdb75('0x75')+_[_0xdb75('0x6f')](_0x288277['query'][_0xdb75('0x69')][_0xdb75('0x6b')]())+'Queues'](_0x288277[_0xdb75('0x2a')][_0xdb75('0x71')]);}return null;})[_0xdb75('0x22')](handleEntityNotFound(_0x1a70dd,null))['then'](respondWithStatusCode(_0x1a70dd,null))[_0xdb75('0x3f')](handleError(_0x1a70dd,null));};exports['addAgents']=function(_0x2eb242,_0x344dab){var _0x5f06e0=_[_0xdb75('0x76')](_0x2eb242['body']['ids'])?_0x2eb242['body'][_0xdb75('0x71')]:[_0x2eb242[_0xdb75('0x4f')][_0xdb75('0x71')]];var _0x480e3e=_0x2eb242[_0xdb75('0x40')]['id'];return db[_0xdb75('0x26')][_0xdb75('0x42')]({'where':{'id':_0x480e3e}})[_0xdb75('0x22')](handleEntityNotFound(_0x344dab,null))['then'](function(_0x479dce){if(_0x479dce){var _0x1cc6db=[_0xdb75('0x77'),'Chat',_0xdb75('0x78'),_0xdb75('0x79'),_0xdb75('0x7a'),_0xdb75('0x7b'),'Whatsapp'];return db['sequelize']['transaction'](function(_0x132994){var _0x2ee50e=_['map'](_0x1cc6db,function(_0x2ce098){var _0x1cac47={'attributes':['id','name']};if(_0x2ce098==='Voice'){_0x1cac47['through']={'attributes':[_0xdb75('0x7c')]};}return _0x479dce[_0xdb75('0x44')+_0x2ce098+_0xdb75('0x70')](_0x1cac47)[_0xdb75('0x22')](function(_0x16ceea){var _0x36552e=_[_0xdb75('0x38')](_0x16ceea,function(_0x5c937a){var _0xdd1039=_[_0xdb75('0x38')](_0x5f06e0,function(_0x2999ff){var _0x20393e={'where':{'UserId':_0x2999ff,[_0x2ce098+_0xdb75('0x7d')]:_0x5c937a['id']},'transaction':_0x132994};if(_0x2ce098===_0xdb75('0x77')){_0x20393e['defaults']={'penalty':_0x5c937a[_0xdb75('0x7e')][_0xdb75('0x7c')]};}return db[_0xdb75('0x7f')+_0x2ce098+_0xdb75('0x6c')][_0xdb75('0x80')](_0x20393e)[_0xdb75('0x22')](function(){socket[_0xdb75('0x81')](_0xdb75('0x43')+_0x2ce098+'Queue:save',{'UserId':_0x2999ff,[_0x2ce098+_0xdb75('0x7d')]:_0x5c937a['id']});if(_0x2ce098!==_0xdb75('0x77')){return;}return db['User']['findAll']({'where':{'id':_0x5f06e0,'online':0x1},'attributes':['id',_0xdb75('0x23'),'online',_0xdb75('0x82'),'interface'],'raw':!![]})[_0xdb75('0x22')](function(_0x380563){var _0xad8545=_['map'](_0x380563,function(_0x460654){return db[_0xdb75('0x83')][_0xdb75('0x84')]({'membername':_0x460654[_0xdb75('0x23')],'UserId':_0x460654['id'],'queue_name':_0x5c937a['name'],'VoiceQueueId':_0x5c937a['id'],'interface':_[_0xdb75('0x85')](_0x460654[_0xdb75('0x86')])?util[_0xdb75('0x87')](_0xdb75('0x88'),_0x460654['name']):_0x460654['interface'],'paused':_0x460654[_0xdb75('0x82')]||![],'penalty':_0x5c937a[_0xdb75('0x7e')][_0xdb75('0x7c')]},{'transaction':_0x132994});});return Promise[_0xdb75('0x89')](_0xad8545);});});});return Promise[_0xdb75('0x89')](_0xdd1039);});return Promise[_0xdb75('0x89')](_0x36552e);})[_0xdb75('0x22')](function(){return db[_0xdb75('0x66')][_0xdb75('0x73')]({'where':{'teamId':_0x480e3e}})[_0xdb75('0x22')](function(_0x40c609){if(_0x40c609){var _0x15ccf7=_[_0xdb75('0x38')](_0x5f06e0,function(_0x3f410b){db[_0xdb75('0x67')][_0xdb75('0x84')]({'UserId':_0x3f410b,'VoicePrefixId':_0x40c609[_0xdb75('0x8a')]});});return Promise['all'](_0x15ccf7);}});});});return Promise[_0xdb75('0x89')](_0x2ee50e)['then'](function(){return _0x479dce[_0xdb75('0x8b')](_0x5f06e0,{'transaction':_0x132994})[_0xdb75('0x8c')](function(_0x3584bd){return _0x3584bd;});});});}})[_0xdb75('0x22')](respondWithResult(_0x344dab,null))[_0xdb75('0x3f')](handleError(_0x344dab,null));};exports[_0xdb75('0x8d')]=function(_0x462ee9,_0x334efc){var _0xcfe274=_['isArray'](_0x462ee9[_0xdb75('0x2a')][_0xdb75('0x71')])?_0x462ee9[_0xdb75('0x2a')][_0xdb75('0x71')]:[_0x462ee9[_0xdb75('0x2a')]['ids']];var _0x31fec5=_0x462ee9[_0xdb75('0x40')]['id'];return db[_0xdb75('0x26')][_0xdb75('0x42')]({'where':{'id':_0x31fec5}})[_0xdb75('0x22')](handleEntityNotFound(_0x334efc,null))[_0xdb75('0x22')](function(_0x15b6f0){if(_0x15b6f0){var _0x3808dc=[_0xdb75('0x77'),_0xdb75('0x8e'),_0xdb75('0x78'),'Sms',_0xdb75('0x7a'),_0xdb75('0x7b'),_0xdb75('0x8f')];return db['sequelize'][_0xdb75('0x52')](function(_0x49718e){var _0x169601=_['map'](_0x3808dc,function(_0x5dff9e){var _0x1b4e05={'attributes':['id',_0xdb75('0x23')]};return _0x15b6f0[_0xdb75('0x44')+_0x5dff9e+_0xdb75('0x70')](_0x1b4e05)['then'](function(_0x1b40d4){var _0x40ab71=_[_0xdb75('0x38')](_0x1b40d4,function(_0x50639e){return _0x50639e[_0xdb75('0x8d')](_0xcfe274,{'transaction':_0x49718e})[_0xdb75('0x22')](function(){var _0x2757e7=_[_0xdb75('0x38')](_0xcfe274,function(_0x200712){socket['emit']('user'+_0x5dff9e+_0xdb75('0x90'),{'UserId':Number(_0x200712),[_0x5dff9e+'QueueId']:_0x50639e['id']});if(_0x5dff9e!=='Voice'){return;}return db[_0xdb75('0x83')][_0xdb75('0x50')]({'where':{'VoiceQueueId':_0x50639e['id'],'UserId':_0x200712},'transaction':_0x49718e});});return Promise[_0xdb75('0x89')](_0x2757e7);});});return Promise[_0xdb75('0x89')](_0x40ab71);});});return Promise[_0xdb75('0x89')](_0x169601)[_0xdb75('0x22')](function(){return _0x15b6f0['removeAgents'](_0xcfe274,{'transaction':_0x49718e});})[_0xdb75('0x22')](function(){return db['TeamVoicePrefix'][_0xdb75('0x73')]({'where':{'teamId':_0x31fec5}})[_0xdb75('0x22')](function(_0x2daf4e){if(_0x2daf4e){var _0x55c78f=_[_0xdb75('0x38')](_0xcfe274,function(_0x4a6f47){db[_0xdb75('0x67')]['destroy']({'where':{'UserId':_0x4a6f47,'VoicePrefixId':_0x2daf4e[_0xdb75('0x8a')]}});});return Promise['all'](_0x55c78f);}});});});}})[_0xdb75('0x22')](respondWithStatusCode(_0x334efc,null))[_0xdb75('0x3f')](handleError(_0x334efc,null));};exports[_0xdb75('0x91')]=function(_0x129cb6,_0x195344,_0x21a688){var _0x504773={};var _0x37c8ce={};var _0x2043f0;var _0x26ce52;return db['Team']['findOne']({'where':{'id':_0x129cb6[_0xdb75('0x40')]['id']}})[_0xdb75('0x22')](handleEntityNotFound(_0x195344,null))[_0xdb75('0x22')](function(_0x3a726f){if(_0x3a726f){_0x2043f0=_0x3a726f;_0x37c8ce['model']=_['keys'](db[_0xdb75('0x7f')][_0xdb75('0x41')]);_0x37c8ce['query']=_['keys'](_0x129cb6[_0xdb75('0x2a')]);_0x37c8ce[_0xdb75('0x2c')]=_[_0xdb75('0x2d')](_0x37c8ce[_0xdb75('0x29')],_0x37c8ce[_0xdb75('0x2a')]);_0x504773[_0xdb75('0x2e')]=_[_0xdb75('0x2d')](_0x37c8ce[_0xdb75('0x29')],qs[_0xdb75('0x2f')](_0x129cb6[_0xdb75('0x2a')][_0xdb75('0x2f')]));_0x504773[_0xdb75('0x2e')]=_0x504773[_0xdb75('0x2e')]['length']?_0x504773[_0xdb75('0x2e')]:_0x37c8ce[_0xdb75('0x29')];_0x504773[_0xdb75('0x32')]=qs[_0xdb75('0x33')](_0x129cb6['query']['sort']);_0x504773[_0xdb75('0x34')]=qs[_0xdb75('0x2c')](_['pick'](_0x129cb6[_0xdb75('0x2a')],_0x37c8ce[_0xdb75('0x2c')]));if(_0x129cb6[_0xdb75('0x2a')]['filter']){_0x504773[_0xdb75('0x34')]=_[_0xdb75('0x37')](_0x504773[_0xdb75('0x34')],{'$or':_['map'](_0x504773[_0xdb75('0x2e')],function(_0xb08b7d){var _0x16ebac={};_0x16ebac[_0xb08b7d]={'$like':'%'+_0x129cb6[_0xdb75('0x2a')][_0xdb75('0x36')]+'%'};return _0x16ebac;})});}_0x504773=_[_0xdb75('0x37')]({},_0x504773,_0x129cb6[_0xdb75('0x3b')]);return _0x2043f0[_0xdb75('0x91')](_0x504773);}})[_0xdb75('0x22')](function(_0x2c6953){if(_0x2c6953){_0x26ce52=_0x2c6953[_0xdb75('0x30')];if(!_0x129cb6[_0xdb75('0x2a')][_0xdb75('0x92')](_0xdb75('0x31'))){_0x504773[_0xdb75('0x1b')]=qs['limit'](_0x129cb6['query']['limit']);_0x504773['offset']=qs[_0xdb75('0x1a')](_0x129cb6[_0xdb75('0x2a')]['offset']);}return _0x2043f0['getAgents'](_0x504773);}})[_0xdb75('0x22')](function(_0x11b549){if(_0x11b549){return _0x11b549?{'count':_0x26ce52,'rows':_0x11b549}:null;}})[_0xdb75('0x22')](respondWithResult(_0x195344,null))[_0xdb75('0x3f')](handleError(_0x195344,null));};