4d2ae236b0e021022af4b7181d2e1dd479b0efc0
[motion2.git] / server / api / mailQueue / mailQueue.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 _0x0cb3=['userMailQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','emit','userMailQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','./mailQueue.socket','register','sendStatus','status','end','undefined','count','offset','limit','Content-Range','update','then','destroy','get','MailQueues','UserProfileResource','error','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','getOptions','include','query','findAll','rows','params','model','keys','filters','intersection','attributes','fields','length','merge','options','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','autoAssociation','describe','findOne','UserMailQueue','hasOwnProperty','nolimit','order','sort','where','pick','MailQueueId','filter','findAndCountAll','agent','updatedAt','createdAt','%s/%s','SIP','mailPause','Team','getTeams','addTeams','ids','User','Agents','interface','flatMap','transaction','forEach'];(function(_0x380a3f,_0x202483){var _0x2b4eca=function(_0x1e99b2){while(--_0x1e99b2){_0x380a3f['push'](_0x380a3f['shift']());}};_0x2b4eca(++_0x202483);}(_0x0cb3,0x110));var _0x30cb=function(_0xacb7d1,_0x547e04){_0xacb7d1=_0xacb7d1-0x0;var _0x5ae5d6=_0x0cb3[_0xacb7d1];return _0x5ae5d6;};'use strict';var BPromise=require('bluebird');var util=require('util');var _=require(_0x30cb('0x0'));var squel=require(_0x30cb('0x1'));var Redis=require(_0x30cb('0x2'));var qs=require(_0x30cb('0x3'));var logger=require(_0x30cb('0x4'))(_0x30cb('0x5'));var config=require('../../config/environment');var db=require(_0x30cb('0x6'))['db'];config[_0x30cb('0x7')]=_[_0x30cb('0x8')](config[_0x30cb('0x7')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x30cb('0x9'))[_0x30cb('0xa')](socket);function respondWithStatusCode(_0x414058,_0x3108af){_0x3108af=_0x3108af||0xcc;return function(_0x233220){if(_0x233220){return _0x414058[_0x30cb('0xb')](_0x3108af);}return _0x414058[_0x30cb('0xc')](_0x3108af)[_0x30cb('0xd')]();};}function respondWithResult(_0x1f513f,_0x2e4873){_0x2e4873=_0x2e4873||0xc8;return function(_0x503271){if(_0x503271){return _0x1f513f[_0x30cb('0xc')](_0x2e4873)['json'](_0x503271);}};}function respondWithFilteredResult(_0x15fc49,_0x438c46){return function(_0x311800){if(_0x311800){var _0x3a4d56=typeof _0x438c46['offset']==='undefined'&&typeof _0x438c46['limit']===_0x30cb('0xe');var _0x59343c=_0x311800[_0x30cb('0xf')];var _0x37b968=_0x3a4d56?0x0:_0x438c46['offset'];var _0x3e9689=_0x3a4d56?_0x311800[_0x30cb('0xf')]:_0x438c46[_0x30cb('0x10')]+_0x438c46[_0x30cb('0x11')];var _0x24f1a3;if(_0x3e9689>=_0x59343c){_0x3e9689=_0x59343c;_0x24f1a3=0xc8;}else{_0x24f1a3=0xce;}_0x15fc49['status'](_0x24f1a3);return _0x15fc49['set'](_0x30cb('0x12'),_0x37b968+'-'+_0x3e9689+'/'+_0x59343c)['json'](_0x311800);}return null;};}function saveUpdates(_0x4fb90f){return function(_0x15a1ba){if(_0x15a1ba){return _0x15a1ba[_0x30cb('0x13')](_0x4fb90f)[_0x30cb('0x14')](function(_0x50cdbd){return _0x50cdbd;});}return null;};}function removeEntity(_0x2474ad){return function(_0x36bb96){if(_0x36bb96){return _0x36bb96[_0x30cb('0x15')]()[_0x30cb('0x14')](function(){var _0x586a88=_0x36bb96[_0x30cb('0x16')]({'plain':!![]});var _0x2a1ca5=_0x30cb('0x17');return db[_0x30cb('0x18')][_0x30cb('0x15')]({'where':{'type':_0x2a1ca5,'resourceId':_0x586a88['id']}})[_0x30cb('0x14')](function(){return _0x36bb96;});})[_0x30cb('0x14')](function(){_0x2474ad[_0x30cb('0xc')](0xcc)[_0x30cb('0xd')]();});}};}function handleEntityNotFound(_0x58c6b1){return function(_0x166408){if(!_0x166408){_0x58c6b1[_0x30cb('0xb')](0x194);}return _0x166408;};}function handleError(_0x168fa7,_0x55e8bc){_0x55e8bc=_0x55e8bc||0x1f4;return function(_0x30cab0){logger[_0x30cb('0x19')](_0x30cab0[_0x30cb('0x1a')]);if(_0x30cab0[_0x30cb('0x1b')]){delete _0x30cab0['name'];}_0x168fa7[_0x30cb('0xc')](_0x55e8bc)[_0x30cb('0x1c')](_0x30cab0);};}exports[_0x30cb('0x1d')]=function(_0x267e5d,_0x424434){var _0x138644={};var _0x4c6097={'count':0x0,'rows':[]};var _0xbc1842=_[_0x30cb('0x1e')](db[_0x30cb('0x1f')][_0x30cb('0x20')],function(_0x3989e0){return{'name':_0x3989e0[_0x30cb('0x21')],'type':_0x3989e0[_0x30cb('0x22')][_0x30cb('0x23')]};});_0x138644=qs[_0x30cb('0x24')](_0xbc1842,_0x267e5d);var _0x1fb300={'where':_0x138644['where']};return db[_0x30cb('0x1f')]['count'](_0x1fb300)[_0x30cb('0x14')](function(_0x34e790){_0x4c6097['count']=_0x34e790;_0x138644[_0x30cb('0x25')]=qs[_0x30cb('0x25')](_0x267e5d[_0x30cb('0x26')]);return db[_0x30cb('0x1f')][_0x30cb('0x27')](_0x138644);})[_0x30cb('0x14')](function(_0x156995){_0x4c6097[_0x30cb('0x28')]=_0x156995;return _0x4c6097;})[_0x30cb('0x14')](respondWithFilteredResult(_0x424434,_0x138644))['catch'](handleError(_0x424434,null));};exports['show']=function(_0x4700bc,_0x490353){var _0x37d74c={'raw':!![],'where':{'id':_0x4700bc[_0x30cb('0x29')]['id']}},_0x3fe979={};_0x3fe979[_0x30cb('0x2a')]=_[_0x30cb('0x2b')](db[_0x30cb('0x1f')][_0x30cb('0x20')]);_0x3fe979['query']=_[_0x30cb('0x2b')](_0x4700bc[_0x30cb('0x26')]);_0x3fe979[_0x30cb('0x2c')]=_[_0x30cb('0x2d')](_0x3fe979[_0x30cb('0x2a')],_0x3fe979[_0x30cb('0x26')]);_0x37d74c[_0x30cb('0x2e')]=_[_0x30cb('0x2d')](_0x3fe979[_0x30cb('0x2a')],qs[_0x30cb('0x2f')](_0x4700bc[_0x30cb('0x26')][_0x30cb('0x2f')]));_0x37d74c[_0x30cb('0x2e')]=_0x37d74c[_0x30cb('0x2e')][_0x30cb('0x30')]?_0x37d74c['attributes']:_0x3fe979[_0x30cb('0x2a')];if(_0x4700bc[_0x30cb('0x26')]['includeAll']){_0x37d74c['include']=[{'all':!![]}];}_0x37d74c=_[_0x30cb('0x31')]({},_0x37d74c,_0x4700bc[_0x30cb('0x32')]);return db[_0x30cb('0x1f')][_0x30cb('0x33')](_0x37d74c)[_0x30cb('0x14')](handleEntityNotFound(_0x490353,null))[_0x30cb('0x14')](respondWithResult(_0x490353,null))[_0x30cb('0x34')](handleError(_0x490353,null));};exports[_0x30cb('0x35')]=function(_0x4b4aad,_0x36eeb3){return db[_0x30cb('0x1f')][_0x30cb('0x35')](_0x4b4aad[_0x30cb('0x36')],{})[_0x30cb('0x14')](function(_0x31ebdc){var _0x246159=_0x4b4aad['user']['get']({'plain':!![]});if(!_0x246159)throw new Error(_0x30cb('0x37'));if(_0x246159[_0x30cb('0x38')]===_0x30cb('0x39')){var _0x878280=_0x31ebdc[_0x30cb('0x16')]({'plain':!![]});var _0x19bdbf=_0x30cb('0x17');return db[_0x30cb('0x3a')][_0x30cb('0x33')]({'where':{'name':_0x19bdbf,'userProfileId':_0x246159['userProfileId']},'raw':!![]})['then'](function(_0x3dbccf){if(_0x3dbccf&&_0x3dbccf[_0x30cb('0x3b')]===0x0){return db[_0x30cb('0x18')][_0x30cb('0x35')]({'name':_0x878280['name'],'resourceId':_0x878280['id'],'type':_0x3dbccf[_0x30cb('0x1b')],'sectionId':_0x3dbccf['id']},{})[_0x30cb('0x14')](function(){return _0x31ebdc;});}else{return _0x31ebdc;}})[_0x30cb('0x34')](function(_0x2aa873){logger[_0x30cb('0x19')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2aa873);throw _0x2aa873;});}return _0x31ebdc;})[_0x30cb('0x14')](respondWithResult(_0x36eeb3,0xc9))[_0x30cb('0x34')](handleError(_0x36eeb3,null));};exports[_0x30cb('0x13')]=function(_0x46ac7a,_0x873d58){if(_0x46ac7a[_0x30cb('0x36')]['id']){delete _0x46ac7a[_0x30cb('0x36')]['id'];}return db[_0x30cb('0x1f')][_0x30cb('0x33')]({'where':{'id':_0x46ac7a['params']['id']}})[_0x30cb('0x14')](handleEntityNotFound(_0x873d58,null))[_0x30cb('0x14')](saveUpdates(_0x46ac7a[_0x30cb('0x36')],null))[_0x30cb('0x14')](respondWithResult(_0x873d58,null))[_0x30cb('0x34')](handleError(_0x873d58,null));};exports[_0x30cb('0x15')]=function(_0x252d38,_0xb94e5){return db['MailQueue'][_0x30cb('0x33')]({'where':{'id':_0x252d38[_0x30cb('0x29')]['id']}})[_0x30cb('0x14')](handleEntityNotFound(_0xb94e5,null))['then'](removeEntity(_0xb94e5,null))[_0x30cb('0x34')](handleError(_0xb94e5,null));};exports[_0x30cb('0x3c')]=function(_0x18a8af,_0x357119){return db[_0x30cb('0x1f')][_0x30cb('0x3c')]()[_0x30cb('0x14')](respondWithResult(_0x357119,null))[_0x30cb('0x34')](handleError(_0x357119,null));};exports['getMembers']=function(_0x8f8c32,_0x25c2f2){var _0x16ff21={'raw':!![],'where':{}},_0x528969={},_0x1e48c1;return db[_0x30cb('0x1f')][_0x30cb('0x3d')]({'where':{'id':_0x8f8c32[_0x30cb('0x29')]['id']}})[_0x30cb('0x14')](handleEntityNotFound(_0x25c2f2,null))[_0x30cb('0x14')](function(_0x5de6a6){if(_0x5de6a6){_0x1e48c1=_0x5de6a6['get']({'plain':!![]});_0x528969['model']=_['keys'](db[_0x30cb('0x3e')][_0x30cb('0x20')]);_0x528969['query']=_[_0x30cb('0x2b')](_0x8f8c32[_0x30cb('0x26')]);_0x528969[_0x30cb('0x2c')]=_[_0x30cb('0x2d')](_0x528969[_0x30cb('0x2a')],_0x528969[_0x30cb('0x26')]);_0x16ff21[_0x30cb('0x2e')]=_[_0x30cb('0x2d')](_0x528969[_0x30cb('0x2a')],qs[_0x30cb('0x2f')](_0x8f8c32['query']['fields']));_0x16ff21[_0x30cb('0x2e')]=_0x16ff21[_0x30cb('0x2e')][_0x30cb('0x30')]?_0x16ff21[_0x30cb('0x2e')]:_0x528969[_0x30cb('0x2a')];if(!_0x8f8c32[_0x30cb('0x26')][_0x30cb('0x3f')](_0x30cb('0x40'))){_0x16ff21['limit']=qs[_0x30cb('0x11')](_0x8f8c32[_0x30cb('0x26')][_0x30cb('0x11')]);_0x16ff21[_0x30cb('0x10')]=qs['offset'](_0x8f8c32['query'][_0x30cb('0x10')]);}_0x16ff21[_0x30cb('0x41')]=qs[_0x30cb('0x42')](_0x8f8c32[_0x30cb('0x26')][_0x30cb('0x42')]);_0x16ff21[_0x30cb('0x43')]=qs['filters'](_[_0x30cb('0x44')](_0x8f8c32[_0x30cb('0x26')],_0x528969[_0x30cb('0x2c')]));_0x16ff21[_0x30cb('0x43')][_0x30cb('0x45')]=_0x5de6a6['id'];if(_0x8f8c32[_0x30cb('0x26')]['filter']){_0x16ff21['where']=_['merge'](_0x16ff21[_0x30cb('0x43')],{'$or':_[_0x30cb('0x1e')](_0x16ff21[_0x30cb('0x2e')],function(_0x39919a){var _0x43acce={};_0x43acce[_0x39919a]={'$like':'%'+_0x8f8c32['query'][_0x30cb('0x46')]+'%'};return _0x43acce;})});}_0x16ff21=_[_0x30cb('0x31')]({},_0x16ff21,_0x8f8c32[_0x30cb('0x32')]);return db['UserMailQueue'][_0x30cb('0x27')](_0x16ff21);}})[_0x30cb('0x14')](function(_0x5d25e1){if(_0x5d25e1){return db['User'][_0x30cb('0x47')]({'where':{'id':_[_0x30cb('0x1e')](_0x5d25e1,'UserId'),'role':_0x30cb('0x48')},'attributes':['id',_0x30cb('0x1b'),'mailPause',_0x30cb('0x49'),_0x30cb('0x4a')]});}})[_0x30cb('0x14')](function(_0x3a7d4f){if(_0x3a7d4f){return{'count':_0x3a7d4f[_0x30cb('0xf')],'rows':_[_0x30cb('0x1e')](_0x3a7d4f[_0x30cb('0x28')],function(_0x4319e5){return{'membername':_0x4319e5[_0x30cb('0x1b')],'UserId':_0x4319e5['id'],'queue_name':_0x1e48c1[_0x30cb('0x1b')],'MailQueueId':_0x1e48c1['id'],'interface':util['format'](_0x30cb('0x4b'),_0x30cb('0x4c'),_0x4319e5[_0x30cb('0x1b')]),'penalty':0x0,'paused':_0x4319e5[_0x30cb('0x4d')],'createdAt':_0x4319e5[_0x30cb('0x4a')],'updatedAt':_0x4319e5[_0x30cb('0x49')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x30cb('0x14')](respondWithFilteredResult(_0x25c2f2,_0x16ff21))['catch'](handleError(_0x25c2f2,null));};exports['getTeams']=function(_0x36dee9,_0x2dc405){var _0x2dea8f={};var _0xe4ee70={};var _0x531826;var _0x485fb8;return db['MailQueue'][_0x30cb('0x3d')]({'where':{'id':_0x36dee9[_0x30cb('0x29')]['id']}})[_0x30cb('0x14')](handleEntityNotFound(_0x2dc405,null))['then'](function(_0x3e4dd0){if(_0x3e4dd0){_0x531826=_0x3e4dd0;_0xe4ee70[_0x30cb('0x2a')]=_[_0x30cb('0x2b')](db[_0x30cb('0x4e')]['rawAttributes']);_0xe4ee70['query']=_[_0x30cb('0x2b')](_0x36dee9['query']);_0xe4ee70[_0x30cb('0x2c')]=_[_0x30cb('0x2d')](_0xe4ee70[_0x30cb('0x2a')],_0xe4ee70['query']);_0x2dea8f[_0x30cb('0x2e')]=_[_0x30cb('0x2d')](_0xe4ee70['model'],qs[_0x30cb('0x2f')](_0x36dee9[_0x30cb('0x26')][_0x30cb('0x2f')]));_0x2dea8f[_0x30cb('0x2e')]=_0x2dea8f[_0x30cb('0x2e')]['length']?_0x2dea8f[_0x30cb('0x2e')]:_0xe4ee70[_0x30cb('0x2a')];_0x2dea8f['order']=qs['sort'](_0x36dee9[_0x30cb('0x26')][_0x30cb('0x42')]);_0x2dea8f[_0x30cb('0x43')]=qs[_0x30cb('0x2c')](_[_0x30cb('0x44')](_0x36dee9[_0x30cb('0x26')],_0xe4ee70['filters']));if(_0x36dee9[_0x30cb('0x26')]['filter']){_0x2dea8f[_0x30cb('0x43')]=_[_0x30cb('0x31')](_0x2dea8f[_0x30cb('0x43')],{'$or':_[_0x30cb('0x1e')](_0x2dea8f[_0x30cb('0x2e')],function(_0x270166){var _0x5df37a={};_0x5df37a[_0x270166]={'$like':'%'+_0x36dee9[_0x30cb('0x26')][_0x30cb('0x46')]+'%'};return _0x5df37a;})});}_0x2dea8f=_[_0x30cb('0x31')]({},_0x2dea8f,_0x36dee9[_0x30cb('0x32')]);return _0x531826['getTeams'](_0x2dea8f);}})[_0x30cb('0x14')](function(_0x59b79a){if(_0x59b79a){_0x485fb8=_0x59b79a[_0x30cb('0x30')];if(!_0x36dee9[_0x30cb('0x26')][_0x30cb('0x3f')](_0x30cb('0x40'))){_0x2dea8f[_0x30cb('0x11')]=qs[_0x30cb('0x11')](_0x36dee9[_0x30cb('0x26')][_0x30cb('0x11')]);_0x2dea8f[_0x30cb('0x10')]=qs['offset'](_0x36dee9[_0x30cb('0x26')][_0x30cb('0x10')]);}return _0x531826[_0x30cb('0x4f')](_0x2dea8f);}})[_0x30cb('0x14')](function(_0x3ff97c){if(_0x3ff97c){return _0x3ff97c?{'count':_0x485fb8,'rows':_0x3ff97c}:null;}})[_0x30cb('0x14')](respondWithResult(_0x2dc405,null))[_0x30cb('0x34')](handleError(_0x2dc405,null));};exports[_0x30cb('0x50')]=function(_0x4b85dc,_0x54b810){var _0x1f25cd=_0x4b85dc[_0x30cb('0x36')][_0x30cb('0x51')];return db[_0x30cb('0x4e')][_0x30cb('0x27')]({'where':{'id':_0x1f25cd},'attributes':['id'],'include':[{'model':db[_0x30cb('0x52')],'as':_0x30cb('0x53'),'attributes':['id','name','online','voicePause',_0x30cb('0x54')],'raw':!![]}]})[_0x30cb('0x14')](function(_0x579730){if(_0x579730){var _0x3f7f36=_[_0x30cb('0x55')](_0x579730,function(_0x3735b8){var _0x2c6483=_0x3735b8[_0x30cb('0x16')]({'plain':!![]});return _0x2c6483[_0x30cb('0x53')];});return db[_0x30cb('0x1f')][_0x30cb('0x33')]({'where':{'id':_0x4b85dc['params']['id']}})[_0x30cb('0x14')](function(_0x12cc1b){return db['sequelize'][_0x30cb('0x56')](function(_0x39ae18){return _0x12cc1b[_0x30cb('0x50')](_0x1f25cd,{'transaction':_0x39ae18})['then'](function(){return BPromise['each'](_0x3f7f36,function(_0x315678){return db[_0x30cb('0x3e')]['findOrCreate']({'where':{'UserId':_0x315678['id'],'MailQueueId':_0x4b85dc[_0x30cb('0x29')]['id']},'transaction':_0x39ae18});});})['then'](function(){_0x3f7f36[_0x30cb('0x57')](function(_0x139ead){socket['emit'](_0x30cb('0x58'),{'UserId':_0x139ead['id'],'MailQueueId':_0x12cc1b['id']});});});});});}})[_0x30cb('0x14')](respondWithStatusCode(_0x54b810,null))['catch'](handleError(_0x54b810,null));};exports[_0x30cb('0x59')]=function(_0x33a4ef,_0x50423c){return db['Team'][_0x30cb('0x27')]({'where':{'id':_0x33a4ef['query']['ids']},'attributes':['id'],'include':[{'model':db[_0x30cb('0x52')],'as':_0x30cb('0x53'),'attributes':['id'],'raw':!![]}]})[_0x30cb('0x14')](handleEntityNotFound(_0x50423c,null))[_0x30cb('0x14')](function(_0x2a3582){var _0x202347=_[_0x30cb('0x1e')](_0x2a3582,'id');var _0x386fee=[];var _0x2eece6=[];var _0x1ab293=squel[_0x30cb('0x5a')]();_0x1ab293[_0x30cb('0x5b')](_0x30cb('0x5c'))[_0x30cb('0x5d')](_0x30cb('0x5e'),'tq')[_0x30cb('0x5f')](_0x30cb('0x60'),'ut',_0x30cb('0x61'))[_0x30cb('0x43')](_0x30cb('0x62'),_0x33a4ef['params']['id']);for(var _0x57e8ad=0x0;_0x57e8ad<_0x2a3582[_0x30cb('0x30')];_0x57e8ad+=0x1){let _0x2f112a=_0x2a3582[_0x57e8ad];for(var _0x5bd776=0x0;_0x5bd776<_0x2f112a[_0x30cb('0x53')][_0x30cb('0x30')];_0x5bd776+=0x1){let _0x214b12=_0x2f112a['Agents'][_0x5bd776];var _0x30d640=_0x1ab293[_0x30cb('0x63')]();_0x30d640[_0x30cb('0x43')](_0x30cb('0x64'),_0x214b12['id']);_0x2eece6[_0x30cb('0x65')](db[_0x30cb('0x66')][_0x30cb('0x26')](_0x30d640[_0x30cb('0x67')](),{'type':db[_0x30cb('0x66')][_0x30cb('0x68')][_0x30cb('0x69')]})[_0x30cb('0x14')](function(_0x467e3f){if(_0x467e3f[_0x30cb('0x30')]===0x1){return _0x214b12['id'];}else{var _0x25e9bd=_[_0x30cb('0x6a')](_[_0x30cb('0x1e')](_0x467e3f,_0x30cb('0x6b')),function(_0x5bc827){return _[_0x30cb('0x6c')](_0x202347,_0x5bc827);});if(_0x25e9bd){return _0x214b12['id'];}}}));}}return BPromise[_0x30cb('0x6d')](_0x2eece6)[_0x30cb('0x14')](function(_0x4f698a){_0x386fee=_(_0x386fee)[_0x30cb('0x6e')](_0x4f698a)[_0x30cb('0x6f')]()['value']();return db[_0x30cb('0x1f')]['find']({'where':{'id':_0x33a4ef[_0x30cb('0x29')]['id']}})[_0x30cb('0x14')](function(_0xea2816){return db['sequelize'][_0x30cb('0x56')](function(_0x3135d4){return _0xea2816[_0x30cb('0x59')](_0x33a4ef['query'][_0x30cb('0x51')],{'transaction':_0x3135d4})[_0x30cb('0x14')](function(){if(!_['isEmpty'](_0x386fee)){return _0xea2816['removeAgents'](_0x386fee,{'transaction':_0x3135d4});}})[_0x30cb('0x14')](function(){_0x386fee[_0x30cb('0x57')](function(_0x3f4581){socket[_0x30cb('0x70')](_0x30cb('0x71'),{'UserId':_0x3f4581,'MailQueueId':_0xea2816['id']});});});});});});})[_0x30cb('0x14')](respondWithStatusCode(_0x50423c,null))[_0x30cb('0x34')](handleError(_0x50423c,null));};exports[_0x30cb('0x72')]=function(_0x58ad65,_0x450114){return db[_0x30cb('0x1f')][_0x30cb('0x33')]({'where':{'id':_0x58ad65[_0x30cb('0x29')]['id']}})[_0x30cb('0x14')](handleEntityNotFound(_0x450114,null))[_0x30cb('0x14')](function(_0x26cf2a){if(_0x26cf2a){return _0x26cf2a[_0x30cb('0x72')](_0x58ad65[_0x30cb('0x36')][_0x30cb('0x51')],_[_0x30cb('0x73')](_0x58ad65[_0x30cb('0x36')],[_0x30cb('0x51'),'id'])||{})[_0x30cb('0x74')](function(_0x39dea8){for(var _0x5f5beb=0x0;_0x5f5beb<_0x58ad65[_0x30cb('0x36')][_0x30cb('0x51')][_0x30cb('0x30')];_0x5f5beb+=0x1){socket[_0x30cb('0x70')](_0x30cb('0x58'),{'UserId':Number(_0x58ad65[_0x30cb('0x36')][_0x30cb('0x51')][_0x5f5beb]),'MailQueueId':Number(_0x58ad65[_0x30cb('0x29')]['id'])});}return _0x39dea8;});}})[_0x30cb('0x14')](respondWithResult(_0x450114,null))[_0x30cb('0x34')](handleError(_0x450114,null));};exports[_0x30cb('0x75')]=function(_0x5a931c,_0x30b909){return db[_0x30cb('0x1f')][_0x30cb('0x33')]({'where':{'id':_0x5a931c['params']['id']}})[_0x30cb('0x14')](handleEntityNotFound(_0x30b909,null))[_0x30cb('0x14')](function(_0x79b8dc){if(_0x79b8dc){return _0x79b8dc['removeAgents'](_0x5a931c['query'][_0x30cb('0x51')])[_0x30cb('0x14')](function(){if(_[_0x30cb('0x76')](_0x5a931c[_0x30cb('0x26')][_0x30cb('0x51')])){for(var _0x56301b=0x0;_0x56301b<_0x5a931c['query'][_0x30cb('0x51')][_0x30cb('0x30')];_0x56301b+=0x1){socket[_0x30cb('0x70')]('userMailQueue:remove',{'UserId':Number(_0x5a931c[_0x30cb('0x26')][_0x30cb('0x51')][_0x56301b]),'MailQueueId':Number(_0x5a931c['params']['id'])});}}else{socket[_0x30cb('0x70')](_0x30cb('0x71'),{'UserId':Number(_0x5a931c[_0x30cb('0x26')][_0x30cb('0x51')]),'MailQueueId':Number(_0x5a931c[_0x30cb('0x29')]['id'])});}});}})[_0x30cb('0x14')](respondWithStatusCode(_0x30b909,null))[_0x30cb('0x34')](handleError(_0x30b909,null));};exports[_0x30cb('0x77')]=function(_0x45f228,_0x5a3b0b){var _0xd9c7a6={};var _0x668c04={};var _0xeb754;var _0x1ea447;return db['MailQueue'][_0x30cb('0x3d')]({'where':{'id':_0x45f228['params']['id']}})['then'](handleEntityNotFound(_0x5a3b0b,null))[_0x30cb('0x14')](function(_0x54aea3){if(_0x54aea3){_0xeb754=_0x54aea3;_0x668c04[_0x30cb('0x2a')]=_['keys'](db['User'][_0x30cb('0x20')]);_0x668c04[_0x30cb('0x26')]=_[_0x30cb('0x2b')](_0x45f228[_0x30cb('0x26')]);_0x668c04['filters']=_['intersection'](_0x668c04[_0x30cb('0x2a')],_0x668c04[_0x30cb('0x26')]);_0xd9c7a6[_0x30cb('0x2e')]=_[_0x30cb('0x2d')](_0x668c04[_0x30cb('0x2a')],qs[_0x30cb('0x2f')](_0x45f228[_0x30cb('0x26')][_0x30cb('0x2f')]));_0xd9c7a6[_0x30cb('0x2e')]=_0xd9c7a6[_0x30cb('0x2e')]['length']?_0xd9c7a6['attributes']:_0x668c04[_0x30cb('0x2a')];_0xd9c7a6['order']=qs['sort'](_0x45f228[_0x30cb('0x26')][_0x30cb('0x42')]);_0xd9c7a6[_0x30cb('0x43')]=qs[_0x30cb('0x2c')](_[_0x30cb('0x44')](_0x45f228[_0x30cb('0x26')],_0x668c04[_0x30cb('0x2c')]));if(_0x45f228[_0x30cb('0x26')][_0x30cb('0x46')]){_0xd9c7a6['where']=_[_0x30cb('0x31')](_0xd9c7a6[_0x30cb('0x43')],{'$or':_[_0x30cb('0x1e')](_0xd9c7a6['attributes'],function(_0x591903){var _0x51768b={};_0x51768b[_0x591903]={'$like':'%'+_0x45f228[_0x30cb('0x26')][_0x30cb('0x46')]+'%'};return _0x51768b;})});}_0xd9c7a6=_['merge']({},_0xd9c7a6,_0x45f228[_0x30cb('0x32')]);return _0xeb754['getAgents'](_0xd9c7a6);}})[_0x30cb('0x14')](function(_0x4d2e62){if(_0x4d2e62){_0x1ea447=_0x4d2e62[_0x30cb('0x30')];if(!_0x45f228['query'][_0x30cb('0x3f')]('nolimit')){_0xd9c7a6['limit']=qs['limit'](_0x45f228['query']['limit']);_0xd9c7a6['offset']=qs[_0x30cb('0x10')](_0x45f228[_0x30cb('0x26')][_0x30cb('0x10')]);}return _0xeb754[_0x30cb('0x77')](_0xd9c7a6);}})['then'](function(_0x2480dc){if(_0x2480dc){return _0x2480dc?{'count':_0x1ea447,'rows':_0x2480dc}:null;}})[_0x30cb('0x14')](respondWithResult(_0x5a3b0b,null))['catch'](handleError(_0x5a3b0b,null));};