9bb47f3522c68ff5b27634dd15feeb75cdeafe5a
[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 _0xa45a=['addAgents','omit','spread','isArray','getAgents','bluebird','util','lodash','ioredis','api','../../config/environment','../../mysqldb','defaults','localhost','socket.io-emitter','redis','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','update','MailQueues','UserProfileResource','then','error','name','send','index','map','MailQueue','rawAttributes','fieldName','getOptions','include','query','findAll','rows','show','params','keys','filters','intersection','model','attributes','fields','length','includeAll','merge','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','describe','getMembers','findOne','hasOwnProperty','nolimit','order','sort','MailQueueId','where','filter','options','UserMailQueue','User','findAndCountAll','UserId','agent','updatedAt','format','%s/%s','SIP','getTeams','Team','pick','Agents','online','voicePause','interface','sequelize','addTeams','each','emit','userMailQueue:save','removeTeams','ids','select','field','tq.TeamId','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','union','compact','value','isEmpty','removeAgents','userMailQueue:remove'];(function(_0x19c5f5,_0x263f1b){var _0x51684c=function(_0x4d0c4b){while(--_0x4d0c4b){_0x19c5f5['push'](_0x19c5f5['shift']());}};_0x51684c(++_0x263f1b);}(_0xa45a,0xf9));var _0xaa45=function(_0x18b277,_0x32a29a){_0x18b277=_0x18b277-0x0;var _0x9b0005=_0xa45a[_0x18b277];return _0x9b0005;};'use strict';var BPromise=require(_0xaa45('0x0'));var util=require(_0xaa45('0x1'));var _=require(_0xaa45('0x2'));var squel=require('squel');var Redis=require(_0xaa45('0x3'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0xaa45('0x4'));var config=require(_0xaa45('0x5'));var db=require(_0xaa45('0x6'))['db'];config['redis']=_[_0xaa45('0x7')](config['redis'],{'host':_0xaa45('0x8'),'port':0x18eb});var socket=require(_0xaa45('0x9'))(new Redis(config[_0xaa45('0xa')]));require('./mailQueue.socket')[_0xaa45('0xb')](socket);function respondWithStatusCode(_0x4bebdb,_0x23183c){_0x23183c=_0x23183c||0xcc;return function(_0x5af838){if(_0x5af838){return _0x4bebdb[_0xaa45('0xc')](_0x23183c);}return _0x4bebdb[_0xaa45('0xd')](_0x23183c)[_0xaa45('0xe')]();};}function respondWithResult(_0x47b8f6,_0x345e78){_0x345e78=_0x345e78||0xc8;return function(_0x27dcef){if(_0x27dcef){return _0x47b8f6[_0xaa45('0xd')](_0x345e78)[_0xaa45('0xf')](_0x27dcef);}};}function respondWithFilteredResult(_0x1af4fb,_0x15ffa4){return function(_0x6d9123){if(_0x6d9123){var _0x452f9d=typeof _0x15ffa4[_0xaa45('0x10')]===_0xaa45('0x11')&&typeof _0x15ffa4[_0xaa45('0x12')]===_0xaa45('0x11');var _0x366c01=_0x6d9123[_0xaa45('0x13')];var _0x2b6121=_0x452f9d?0x0:_0x15ffa4[_0xaa45('0x10')];var _0x5837ae=_0x452f9d?_0x6d9123[_0xaa45('0x13')]:_0x15ffa4['offset']+_0x15ffa4[_0xaa45('0x12')];var _0x375c7c;if(_0x5837ae>=_0x366c01){_0x5837ae=_0x366c01;_0x375c7c=0xc8;}else{_0x375c7c=0xce;}_0x1af4fb[_0xaa45('0xd')](_0x375c7c);return _0x1af4fb[_0xaa45('0x14')](_0xaa45('0x15'),_0x2b6121+'-'+_0x5837ae+'/'+_0x366c01)[_0xaa45('0xf')](_0x6d9123);}return null;};}function saveUpdates(_0x476dca){return function(_0x386afe){if(_0x386afe){return _0x386afe[_0xaa45('0x16')](_0x476dca)['then'](function(_0x367562){return _0x367562;});}return null;};}function removeEntity(_0x2f6018){return function(_0x36bafc){if(_0x36bafc){return _0x36bafc['destroy']()['then'](function(){var _0x2fe772=_0x36bafc['get']({'plain':!![]});var _0x5be6ee=_0xaa45('0x17');return db[_0xaa45('0x18')]['destroy']({'where':{'type':_0x5be6ee,'resourceId':_0x2fe772['id']}})[_0xaa45('0x19')](function(){return _0x36bafc;});})[_0xaa45('0x19')](function(){_0x2f6018[_0xaa45('0xd')](0xcc)[_0xaa45('0xe')]();});}};}function handleEntityNotFound(_0x4f2ab9){return function(_0x2a92be){if(!_0x2a92be){_0x4f2ab9['sendStatus'](0x194);}return _0x2a92be;};}function handleError(_0x4a41db,_0x5511ad){_0x5511ad=_0x5511ad||0x1f4;return function(_0x2decda){logger[_0xaa45('0x1a')](_0x2decda['stack']);if(_0x2decda[_0xaa45('0x1b')]){delete _0x2decda[_0xaa45('0x1b')];}_0x4a41db[_0xaa45('0xd')](_0x5511ad)[_0xaa45('0x1c')](_0x2decda);};}exports[_0xaa45('0x1d')]=function(_0x309a95,_0x2edd7f){var _0x5259dd={};var _0x50a83d={'count':0x0,'rows':[]};var _0x348c52=_[_0xaa45('0x1e')](db[_0xaa45('0x1f')][_0xaa45('0x20')],function(_0x14ea39){return{'name':_0x14ea39[_0xaa45('0x21')],'type':_0x14ea39['type']['key']};});_0x5259dd=qs[_0xaa45('0x22')](_0x348c52,_0x309a95);var _0x15a981={'where':_0x5259dd['where']};return db[_0xaa45('0x1f')][_0xaa45('0x13')](_0x15a981)['then'](function(_0x5d7e9c){_0x50a83d[_0xaa45('0x13')]=_0x5d7e9c;_0x5259dd[_0xaa45('0x23')]=qs[_0xaa45('0x23')](_0x309a95[_0xaa45('0x24')]);return db[_0xaa45('0x1f')][_0xaa45('0x25')](_0x5259dd);})[_0xaa45('0x19')](function(_0x3f1739){_0x50a83d[_0xaa45('0x26')]=_0x3f1739;return _0x50a83d;})[_0xaa45('0x19')](respondWithFilteredResult(_0x2edd7f,_0x5259dd))['catch'](handleError(_0x2edd7f,null));};exports[_0xaa45('0x27')]=function(_0x47e39c,_0x230d98){var _0x56fa3e={'raw':!![],'where':{'id':_0x47e39c[_0xaa45('0x28')]['id']}},_0x2dc86a={};_0x2dc86a['model']=_[_0xaa45('0x29')](db[_0xaa45('0x1f')]['rawAttributes']);_0x2dc86a[_0xaa45('0x24')]=_[_0xaa45('0x29')](_0x47e39c[_0xaa45('0x24')]);_0x2dc86a[_0xaa45('0x2a')]=_[_0xaa45('0x2b')](_0x2dc86a[_0xaa45('0x2c')],_0x2dc86a[_0xaa45('0x24')]);_0x56fa3e[_0xaa45('0x2d')]=_['intersection'](_0x2dc86a[_0xaa45('0x2c')],qs[_0xaa45('0x2e')](_0x47e39c[_0xaa45('0x24')][_0xaa45('0x2e')]));_0x56fa3e['attributes']=_0x56fa3e[_0xaa45('0x2d')][_0xaa45('0x2f')]?_0x56fa3e[_0xaa45('0x2d')]:_0x2dc86a['model'];if(_0x47e39c[_0xaa45('0x24')][_0xaa45('0x30')]){_0x56fa3e[_0xaa45('0x23')]=[{'all':!![]}];}_0x56fa3e=_[_0xaa45('0x31')]({},_0x56fa3e,_0x47e39c['options']);return db[_0xaa45('0x1f')][_0xaa45('0x32')](_0x56fa3e)[_0xaa45('0x19')](handleEntityNotFound(_0x230d98,null))[_0xaa45('0x19')](respondWithResult(_0x230d98,null))[_0xaa45('0x33')](handleError(_0x230d98,null));};exports['create']=function(_0x27d3f0,_0x199e1a){return db[_0xaa45('0x1f')][_0xaa45('0x34')](_0x27d3f0[_0xaa45('0x35')],{})[_0xaa45('0x19')](function(_0x8de75e){var _0x5e2372=_0x27d3f0[_0xaa45('0x36')][_0xaa45('0x37')]({'plain':!![]});if(!_0x5e2372)throw new Error(_0xaa45('0x38'));if(_0x5e2372[_0xaa45('0x39')]==='user'){var _0xd67c9c=_0x8de75e[_0xaa45('0x37')]({'plain':!![]});var _0x3f3ca0=_0xaa45('0x17');return db['UserProfileSection'][_0xaa45('0x32')]({'where':{'name':_0x3f3ca0,'userProfileId':_0x5e2372[_0xaa45('0x3a')]},'raw':!![]})[_0xaa45('0x19')](function(_0x4a68da){if(_0x4a68da&&_0x4a68da[_0xaa45('0x3b')]===0x0){return db[_0xaa45('0x18')][_0xaa45('0x34')]({'name':_0xd67c9c[_0xaa45('0x1b')],'resourceId':_0xd67c9c['id'],'type':_0x4a68da[_0xaa45('0x1b')],'sectionId':_0x4a68da['id']},{})[_0xaa45('0x19')](function(){return _0x8de75e;});}else{return _0x8de75e;}})[_0xaa45('0x33')](function(_0x116940){logger[_0xaa45('0x1a')](_0xaa45('0x3c'),_0x116940);throw _0x116940;});}return _0x8de75e;})['then'](respondWithResult(_0x199e1a,0xc9))['catch'](handleError(_0x199e1a,null));};exports[_0xaa45('0x16')]=function(_0x802ab7,_0x1d26f5){if(_0x802ab7[_0xaa45('0x35')]['id']){delete _0x802ab7[_0xaa45('0x35')]['id'];}return db[_0xaa45('0x1f')]['find']({'where':{'id':_0x802ab7['params']['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0x1d26f5,null))['then'](saveUpdates(_0x802ab7[_0xaa45('0x35')],null))[_0xaa45('0x19')](respondWithResult(_0x1d26f5,null))['catch'](handleError(_0x1d26f5,null));};exports[_0xaa45('0x3d')]=function(_0x413efd,_0x313135){return db[_0xaa45('0x1f')][_0xaa45('0x32')]({'where':{'id':_0x413efd[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0x313135,null))['then'](removeEntity(_0x313135,null))[_0xaa45('0x33')](handleError(_0x313135,null));};exports['describe']=function(_0x2bebf1,_0x59d6a3){return db['MailQueue'][_0xaa45('0x3e')]()[_0xaa45('0x19')](respondWithResult(_0x59d6a3,null))[_0xaa45('0x33')](handleError(_0x59d6a3,null));};exports[_0xaa45('0x3f')]=function(_0x54531d,_0x4eb179){var _0x516026={'raw':!![],'where':{}},_0x7ddc96={},_0x3e9277;return db['MailQueue'][_0xaa45('0x40')]({'where':{'id':_0x54531d[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0x4eb179,null))[_0xaa45('0x19')](function(_0x152aec){if(_0x152aec){_0x3e9277=_0x152aec[_0xaa45('0x37')]({'plain':!![]});_0x7ddc96[_0xaa45('0x2c')]=_[_0xaa45('0x29')](db['UserMailQueue']['rawAttributes']);_0x7ddc96['query']=_[_0xaa45('0x29')](_0x54531d[_0xaa45('0x24')]);_0x7ddc96[_0xaa45('0x2a')]=_[_0xaa45('0x2b')](_0x7ddc96[_0xaa45('0x2c')],_0x7ddc96[_0xaa45('0x24')]);_0x516026['attributes']=_[_0xaa45('0x2b')](_0x7ddc96[_0xaa45('0x2c')],qs[_0xaa45('0x2e')](_0x54531d[_0xaa45('0x24')]['fields']));_0x516026[_0xaa45('0x2d')]=_0x516026[_0xaa45('0x2d')][_0xaa45('0x2f')]?_0x516026[_0xaa45('0x2d')]:_0x7ddc96[_0xaa45('0x2c')];if(!_0x54531d[_0xaa45('0x24')][_0xaa45('0x41')](_0xaa45('0x42'))){_0x516026[_0xaa45('0x12')]=qs[_0xaa45('0x12')](_0x54531d[_0xaa45('0x24')]['limit']);_0x516026['offset']=qs[_0xaa45('0x10')](_0x54531d[_0xaa45('0x24')][_0xaa45('0x10')]);}_0x516026[_0xaa45('0x43')]=qs[_0xaa45('0x44')](_0x54531d[_0xaa45('0x24')][_0xaa45('0x44')]);_0x516026['where']=qs[_0xaa45('0x2a')](_['pick'](_0x54531d[_0xaa45('0x24')],_0x7ddc96[_0xaa45('0x2a')]));_0x516026['where'][_0xaa45('0x45')]=_0x152aec['id'];if(_0x54531d[_0xaa45('0x24')]['filter']){_0x516026['where']=_[_0xaa45('0x31')](_0x516026[_0xaa45('0x46')],{'$or':_[_0xaa45('0x1e')](_0x516026[_0xaa45('0x2d')],function(_0x106791){var _0x2e5a01={};_0x2e5a01[_0x106791]={'$like':'%'+_0x54531d[_0xaa45('0x24')][_0xaa45('0x47')]+'%'};return _0x2e5a01;})});}_0x516026=_[_0xaa45('0x31')]({},_0x516026,_0x54531d[_0xaa45('0x48')]);return db[_0xaa45('0x49')][_0xaa45('0x25')](_0x516026);}})[_0xaa45('0x19')](function(_0x429887){if(_0x429887){return db[_0xaa45('0x4a')][_0xaa45('0x4b')]({'where':{'id':_[_0xaa45('0x1e')](_0x429887,_0xaa45('0x4c')),'role':_0xaa45('0x4d')},'attributes':['id',_0xaa45('0x1b'),'mailPause',_0xaa45('0x4e'),'createdAt']});}})[_0xaa45('0x19')](function(_0x1b7373){if(_0x1b7373){return{'count':_0x1b7373[_0xaa45('0x13')],'rows':_[_0xaa45('0x1e')](_0x1b7373[_0xaa45('0x26')],function(_0x30c0a2){return{'membername':_0x30c0a2[_0xaa45('0x1b')],'UserId':_0x30c0a2['id'],'queue_name':_0x3e9277[_0xaa45('0x1b')],'MailQueueId':_0x3e9277['id'],'interface':util[_0xaa45('0x4f')](_0xaa45('0x50'),_0xaa45('0x51'),_0x30c0a2[_0xaa45('0x1b')]),'penalty':0x0,'paused':_0x30c0a2['mailPause'],'createdAt':_0x30c0a2['createdAt'],'updatedAt':_0x30c0a2['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x4eb179,_0x516026))[_0xaa45('0x33')](handleError(_0x4eb179,null));};exports[_0xaa45('0x52')]=function(_0x1cb8c3,_0xb2ef9b){var _0x4065ad={};var _0x19317={};var _0x1f875b;var _0x54451e;return db['MailQueue'][_0xaa45('0x40')]({'where':{'id':_0x1cb8c3[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0xb2ef9b,null))['then'](function(_0x4200d0){if(_0x4200d0){_0x1f875b=_0x4200d0;_0x19317[_0xaa45('0x2c')]=_[_0xaa45('0x29')](db[_0xaa45('0x53')][_0xaa45('0x20')]);_0x19317['query']=_[_0xaa45('0x29')](_0x1cb8c3[_0xaa45('0x24')]);_0x19317[_0xaa45('0x2a')]=_['intersection'](_0x19317[_0xaa45('0x2c')],_0x19317[_0xaa45('0x24')]);_0x4065ad[_0xaa45('0x2d')]=_[_0xaa45('0x2b')](_0x19317[_0xaa45('0x2c')],qs[_0xaa45('0x2e')](_0x1cb8c3['query'][_0xaa45('0x2e')]));_0x4065ad[_0xaa45('0x2d')]=_0x4065ad[_0xaa45('0x2d')][_0xaa45('0x2f')]?_0x4065ad['attributes']:_0x19317['model'];_0x4065ad[_0xaa45('0x43')]=qs[_0xaa45('0x44')](_0x1cb8c3[_0xaa45('0x24')][_0xaa45('0x44')]);_0x4065ad['where']=qs[_0xaa45('0x2a')](_[_0xaa45('0x54')](_0x1cb8c3['query'],_0x19317[_0xaa45('0x2a')]));if(_0x1cb8c3['query'][_0xaa45('0x47')]){_0x4065ad['where']=_[_0xaa45('0x31')](_0x4065ad[_0xaa45('0x46')],{'$or':_[_0xaa45('0x1e')](_0x4065ad[_0xaa45('0x2d')],function(_0xe94413){var _0x3fdf8f={};_0x3fdf8f[_0xe94413]={'$like':'%'+_0x1cb8c3['query']['filter']+'%'};return _0x3fdf8f;})});}_0x4065ad=_[_0xaa45('0x31')]({},_0x4065ad,_0x1cb8c3[_0xaa45('0x48')]);return _0x1f875b['getTeams'](_0x4065ad);}})['then'](function(_0x31e6d6){if(_0x31e6d6){_0x54451e=_0x31e6d6[_0xaa45('0x2f')];if(!_0x1cb8c3[_0xaa45('0x24')][_0xaa45('0x41')](_0xaa45('0x42'))){_0x4065ad[_0xaa45('0x12')]=qs[_0xaa45('0x12')](_0x1cb8c3['query'][_0xaa45('0x12')]);_0x4065ad[_0xaa45('0x10')]=qs[_0xaa45('0x10')](_0x1cb8c3[_0xaa45('0x24')][_0xaa45('0x10')]);}return _0x1f875b[_0xaa45('0x52')](_0x4065ad);}})[_0xaa45('0x19')](function(_0x24f036){if(_0x24f036){return _0x24f036?{'count':_0x54451e,'rows':_0x24f036}:null;}})[_0xaa45('0x19')](respondWithResult(_0xb2ef9b,null))[_0xaa45('0x33')](handleError(_0xb2ef9b,null));};exports['addTeams']=function(_0xe53a20,_0x9fdb4b){var _0x1818ee=_0xe53a20[_0xaa45('0x35')]['ids'];return db[_0xaa45('0x53')][_0xaa45('0x25')]({'where':{'id':_0x1818ee},'attributes':['id'],'include':[{'model':db[_0xaa45('0x4a')],'as':_0xaa45('0x55'),'attributes':['id',_0xaa45('0x1b'),_0xaa45('0x56'),_0xaa45('0x57'),_0xaa45('0x58')],'raw':!![]}]})['then'](function(_0x4dcfb4){if(_0x4dcfb4){var _0x3f8ff8=_['flatMap'](_0x4dcfb4,function(_0x259f07){var _0x2aca67=_0x259f07['get']({'plain':!![]});return _0x2aca67[_0xaa45('0x55')];});return db[_0xaa45('0x1f')][_0xaa45('0x32')]({'where':{'id':_0xe53a20[_0xaa45('0x28')]['id']}})['then'](function(_0x1fd784){return db[_0xaa45('0x59')]['transaction'](function(_0x5c4c2c){return _0x1fd784[_0xaa45('0x5a')](_0x1818ee,{'transaction':_0x5c4c2c})[_0xaa45('0x19')](function(){return BPromise[_0xaa45('0x5b')](_0x3f8ff8,function(_0x2f3e0){return db['UserMailQueue']['findOrCreate']({'where':{'UserId':_0x2f3e0['id'],'MailQueueId':_0xe53a20['params']['id']},'transaction':_0x5c4c2c});});})[_0xaa45('0x19')](function(){_0x3f8ff8['forEach'](function(_0x304bb4){socket[_0xaa45('0x5c')](_0xaa45('0x5d'),{'UserId':_0x304bb4['id'],'MailQueueId':_0x1fd784['id']});});});});});}})[_0xaa45('0x19')](respondWithStatusCode(_0x9fdb4b,null))[_0xaa45('0x33')](handleError(_0x9fdb4b,null));};exports[_0xaa45('0x5e')]=function(_0x4bdece,_0x1e3536){return db[_0xaa45('0x53')][_0xaa45('0x25')]({'where':{'id':_0x4bdece[_0xaa45('0x24')][_0xaa45('0x5f')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xaa45('0x55'),'attributes':['id'],'raw':!![]}]})[_0xaa45('0x19')](handleEntityNotFound(_0x1e3536,null))[_0xaa45('0x19')](function(_0x2a273c){var _0x156d52=_[_0xaa45('0x1e')](_0x2a273c,'id');var _0x4fbc45=[];var _0x5c92ad=[];var _0x393d08=squel[_0xaa45('0x60')]();_0x393d08[_0xaa45('0x61')](_0xaa45('0x62'))['from'](_0xaa45('0x63'),'tq')[_0xaa45('0x64')](_0xaa45('0x65'),'ut',_0xaa45('0x66'))['where'](_0xaa45('0x67'),_0x4bdece[_0xaa45('0x28')]['id']);for(var _0x478608=0x0;_0x478608<_0x2a273c[_0xaa45('0x2f')];_0x478608+=0x1){let _0x5a8807=_0x2a273c[_0x478608];for(var _0x2fe0f5=0x0;_0x2fe0f5<_0x5a8807['Agents'][_0xaa45('0x2f')];_0x2fe0f5+=0x1){let _0x4bb3ce=_0x5a8807[_0xaa45('0x55')][_0x2fe0f5];var _0x539acc=_0x393d08['clone']();_0x539acc[_0xaa45('0x46')]('ut.UserId\x20=\x20?',_0x4bb3ce['id']);_0x5c92ad[_0xaa45('0x68')](db[_0xaa45('0x59')][_0xaa45('0x24')](_0x539acc[_0xaa45('0x69')](),{'type':db[_0xaa45('0x59')][_0xaa45('0x6a')][_0xaa45('0x6b')]})[_0xaa45('0x19')](function(_0x325adb){if(_0x325adb['length']===0x1){return _0x4bb3ce['id'];}else{var _0x4223a6=_[_0xaa45('0x6c')](_[_0xaa45('0x1e')](_0x325adb,_0xaa45('0x6d')),function(_0x503832){return _[_0xaa45('0x6e')](_0x156d52,_0x503832);});if(_0x4223a6){return _0x4bb3ce['id'];}}}));}}return BPromise['all'](_0x5c92ad)[_0xaa45('0x19')](function(_0x42482b){_0x4fbc45=_(_0x4fbc45)[_0xaa45('0x6f')](_0x42482b)[_0xaa45('0x70')]()[_0xaa45('0x71')]();return db[_0xaa45('0x1f')][_0xaa45('0x32')]({'where':{'id':_0x4bdece[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](function(_0xe03939){return db['sequelize']['transaction'](function(_0x32b458){return _0xe03939['removeTeams'](_0x4bdece[_0xaa45('0x24')]['ids'],{'transaction':_0x32b458})[_0xaa45('0x19')](function(){if(!_[_0xaa45('0x72')](_0x4fbc45)){return _0xe03939[_0xaa45('0x73')](_0x4fbc45,{'transaction':_0x32b458});}})[_0xaa45('0x19')](function(){_0x4fbc45['forEach'](function(_0x55c8db){socket['emit'](_0xaa45('0x74'),{'UserId':_0x55c8db,'MailQueueId':_0xe03939['id']});});});});});});})[_0xaa45('0x19')](respondWithStatusCode(_0x1e3536,null))['catch'](handleError(_0x1e3536,null));};exports[_0xaa45('0x75')]=function(_0x2dbe13,_0x59b460){return db['MailQueue']['find']({'where':{'id':_0x2dbe13[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0x59b460,null))[_0xaa45('0x19')](function(_0x75d9d8){if(_0x75d9d8){return _0x75d9d8[_0xaa45('0x75')](_0x2dbe13[_0xaa45('0x35')][_0xaa45('0x5f')],_[_0xaa45('0x76')](_0x2dbe13[_0xaa45('0x35')],['ids','id'])||{})[_0xaa45('0x77')](function(_0x54cef7){for(var _0x3ed249=0x0;_0x3ed249<_0x2dbe13[_0xaa45('0x35')]['ids'][_0xaa45('0x2f')];_0x3ed249+=0x1){socket[_0xaa45('0x5c')](_0xaa45('0x5d'),{'UserId':Number(_0x2dbe13[_0xaa45('0x35')][_0xaa45('0x5f')][_0x3ed249]),'MailQueueId':Number(_0x2dbe13[_0xaa45('0x28')]['id'])});}return _0x54cef7;});}})[_0xaa45('0x19')](respondWithResult(_0x59b460,null))[_0xaa45('0x33')](handleError(_0x59b460,null));};exports[_0xaa45('0x73')]=function(_0x51c5f5,_0x1d4fcf){return db['MailQueue']['find']({'where':{'id':_0x51c5f5[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0x1d4fcf,null))[_0xaa45('0x19')](function(_0x398b13){if(_0x398b13){return _0x398b13['removeAgents'](_0x51c5f5[_0xaa45('0x24')][_0xaa45('0x5f')])[_0xaa45('0x19')](function(){if(_[_0xaa45('0x78')](_0x51c5f5[_0xaa45('0x24')][_0xaa45('0x5f')])){for(var _0x103b31=0x0;_0x103b31<_0x51c5f5[_0xaa45('0x24')][_0xaa45('0x5f')][_0xaa45('0x2f')];_0x103b31+=0x1){socket[_0xaa45('0x5c')]('userMailQueue:remove',{'UserId':Number(_0x51c5f5[_0xaa45('0x24')][_0xaa45('0x5f')][_0x103b31]),'MailQueueId':Number(_0x51c5f5['params']['id'])});}}else{socket[_0xaa45('0x5c')]('userMailQueue:remove',{'UserId':Number(_0x51c5f5[_0xaa45('0x24')]['ids']),'MailQueueId':Number(_0x51c5f5[_0xaa45('0x28')]['id'])});}});}})[_0xaa45('0x19')](respondWithStatusCode(_0x1d4fcf,null))[_0xaa45('0x33')](handleError(_0x1d4fcf,null));};exports[_0xaa45('0x79')]=function(_0x46b1fd,_0x175368){var _0x301822={};var _0x5ae097={};var _0x3cda53;var _0x2eb1d6;return db[_0xaa45('0x1f')]['findOne']({'where':{'id':_0x46b1fd[_0xaa45('0x28')]['id']}})[_0xaa45('0x19')](handleEntityNotFound(_0x175368,null))['then'](function(_0x1ce04b){if(_0x1ce04b){_0x3cda53=_0x1ce04b;_0x5ae097[_0xaa45('0x2c')]=_[_0xaa45('0x29')](db[_0xaa45('0x4a')][_0xaa45('0x20')]);_0x5ae097[_0xaa45('0x24')]=_[_0xaa45('0x29')](_0x46b1fd[_0xaa45('0x24')]);_0x5ae097[_0xaa45('0x2a')]=_[_0xaa45('0x2b')](_0x5ae097['model'],_0x5ae097[_0xaa45('0x24')]);_0x301822[_0xaa45('0x2d')]=_['intersection'](_0x5ae097[_0xaa45('0x2c')],qs[_0xaa45('0x2e')](_0x46b1fd[_0xaa45('0x24')][_0xaa45('0x2e')]));_0x301822[_0xaa45('0x2d')]=_0x301822[_0xaa45('0x2d')][_0xaa45('0x2f')]?_0x301822[_0xaa45('0x2d')]:_0x5ae097['model'];_0x301822[_0xaa45('0x43')]=qs[_0xaa45('0x44')](_0x46b1fd[_0xaa45('0x24')][_0xaa45('0x44')]);_0x301822['where']=qs['filters'](_['pick'](_0x46b1fd[_0xaa45('0x24')],_0x5ae097['filters']));if(_0x46b1fd[_0xaa45('0x24')][_0xaa45('0x47')]){_0x301822[_0xaa45('0x46')]=_[_0xaa45('0x31')](_0x301822[_0xaa45('0x46')],{'$or':_[_0xaa45('0x1e')](_0x301822[_0xaa45('0x2d')],function(_0x268aff){var _0x1ae49c={};_0x1ae49c[_0x268aff]={'$like':'%'+_0x46b1fd[_0xaa45('0x24')]['filter']+'%'};return _0x1ae49c;})});}_0x301822=_[_0xaa45('0x31')]({},_0x301822,_0x46b1fd[_0xaa45('0x48')]);return _0x3cda53[_0xaa45('0x79')](_0x301822);}})['then'](function(_0x34faae){if(_0x34faae){_0x2eb1d6=_0x34faae['length'];if(!_0x46b1fd[_0xaa45('0x24')]['hasOwnProperty'](_0xaa45('0x42'))){_0x301822[_0xaa45('0x12')]=qs[_0xaa45('0x12')](_0x46b1fd['query'][_0xaa45('0x12')]);_0x301822[_0xaa45('0x10')]=qs['offset'](_0x46b1fd[_0xaa45('0x24')][_0xaa45('0x10')]);}return _0x3cda53[_0xaa45('0x79')](_0x301822);}})['then'](function(_0xe62d63){if(_0xe62d63){return _0xe62d63?{'count':_0x2eb1d6,'rows':_0xe62d63}:null;}})[_0xaa45('0x19')](respondWithResult(_0x175368,null))[_0xaa45('0x33')](handleError(_0x175368,null));};