Built motion from commit 10af8726.|2.6.34
[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 _0x3a67=['../../components/parsers/qs','api','../../mysqldb','redis','localhost','socket.io-emitter','register','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','update','then','get','MailQueues','UserProfileResource','destroy','end','error','stack','name','map','MailQueue','rawAttributes','type','key','getOptions','include','query','findAll','rows','catch','show','params','model','intersection','attributes','fields','length','includeAll','merge','options','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','keys','UserMailQueue','filters','nolimit','sort','where','pick','MailQueueId','filter','User','findAndCountAll','agent','mailPause','updatedAt','format','SIP','createdAt','Team','order','getTeams','addTeams','Agents','online','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_mail_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','push','toString','QueryTypes','every','TeamId','includes','all','union','compact','value','isEmpty','userMailQueue:remove','addAgents','omit','removeAgents','isArray','getAgents','hasOwnProperty','bluebird','util','lodash','squel','ioredis'];(function(_0x181ccd,_0x16c825){var _0x2df44c=function(_0xa6a905){while(--_0xa6a905){_0x181ccd['push'](_0x181ccd['shift']());}};_0x2df44c(++_0x16c825);}(_0x3a67,0x78));var _0x73a6=function(_0x29ed3e,_0x37521f){_0x29ed3e=_0x29ed3e-0x0;var _0x3b9b69=_0x3a67[_0x29ed3e];return _0x3b9b69;};'use strict';var BPromise=require(_0x73a6('0x0'));var util=require(_0x73a6('0x1'));var _=require(_0x73a6('0x2'));var squel=require(_0x73a6('0x3'));var Redis=require(_0x73a6('0x4'));var qs=require(_0x73a6('0x5'));var logger=require('../../config/logger')(_0x73a6('0x6'));var config=require('../../config/environment');var db=require(_0x73a6('0x7'))['db'];config['redis']=_['defaults'](config[_0x73a6('0x8')],{'host':_0x73a6('0x9'),'port':0x18eb});var socket=require(_0x73a6('0xa'))(new Redis(config[_0x73a6('0x8')]));require('./mailQueue.socket')[_0x73a6('0xb')](socket);function respondWithStatusCode(_0x2fcdc8,_0x22c71e){_0x22c71e=_0x22c71e||0xcc;return function(_0x545ac1){if(_0x545ac1){return _0x2fcdc8[_0x73a6('0xc')](_0x22c71e);}return _0x2fcdc8['status'](_0x22c71e)['end']();};}function respondWithResult(_0x1e6b4c,_0x51f70a){_0x51f70a=_0x51f70a||0xc8;return function(_0x22d62e){if(_0x22d62e){return _0x1e6b4c[_0x73a6('0xd')](_0x51f70a)[_0x73a6('0xe')](_0x22d62e);}};}function respondWithFilteredResult(_0x48b291,_0x2a3d8a){return function(_0xb01f5d){if(_0xb01f5d){var _0x1fdea1=typeof _0x2a3d8a[_0x73a6('0xf')]==='undefined'&&typeof _0x2a3d8a[_0x73a6('0x10')]===_0x73a6('0x11');var _0x7c3704=_0xb01f5d[_0x73a6('0x12')];var _0x2f58a3=_0x1fdea1?0x0:_0x2a3d8a['offset'];var _0x35a9fc=_0x1fdea1?_0xb01f5d['count']:_0x2a3d8a['offset']+_0x2a3d8a[_0x73a6('0x10')];var _0x46b6e0;if(_0x35a9fc>=_0x7c3704){_0x35a9fc=_0x7c3704;_0x46b6e0=0xc8;}else{_0x46b6e0=0xce;}_0x48b291['status'](_0x46b6e0);return _0x48b291[_0x73a6('0x13')](_0x73a6('0x14'),_0x2f58a3+'-'+_0x35a9fc+'/'+_0x7c3704)[_0x73a6('0xe')](_0xb01f5d);}return null;};}function saveUpdates(_0x4b1afd){return function(_0x4c73ab){if(_0x4c73ab){return _0x4c73ab[_0x73a6('0x15')](_0x4b1afd)[_0x73a6('0x16')](function(_0xc2fbb1){return _0xc2fbb1;});}return null;};}function removeEntity(_0x34f4b6){return function(_0xfd2c6a){if(_0xfd2c6a){return _0xfd2c6a['destroy']()[_0x73a6('0x16')](function(){var _0x31e3fc=_0xfd2c6a[_0x73a6('0x17')]({'plain':!![]});var _0x42b18c=_0x73a6('0x18');return db[_0x73a6('0x19')][_0x73a6('0x1a')]({'where':{'type':_0x42b18c,'resourceId':_0x31e3fc['id']}})[_0x73a6('0x16')](function(){return _0xfd2c6a;});})[_0x73a6('0x16')](function(){_0x34f4b6['status'](0xcc)[_0x73a6('0x1b')]();});}};}function handleEntityNotFound(_0x31d94d){return function(_0x118e0e){if(!_0x118e0e){_0x31d94d['sendStatus'](0x194);}return _0x118e0e;};}function handleError(_0x21d663,_0x331fc4){_0x331fc4=_0x331fc4||0x1f4;return function(_0x574111){logger[_0x73a6('0x1c')](_0x574111[_0x73a6('0x1d')]);if(_0x574111[_0x73a6('0x1e')]){delete _0x574111[_0x73a6('0x1e')];}_0x21d663[_0x73a6('0xd')](_0x331fc4)['send'](_0x574111);};}exports['index']=function(_0x5c6528,_0x37564d){var _0x50bf0d={};var _0x1268a4={'count':0x0,'rows':[]};var _0x2e9b6d=_[_0x73a6('0x1f')](db[_0x73a6('0x20')][_0x73a6('0x21')],function(_0x315616){return{'name':_0x315616['fieldName'],'type':_0x315616[_0x73a6('0x22')][_0x73a6('0x23')]};});_0x50bf0d=qs[_0x73a6('0x24')](_0x2e9b6d,_0x5c6528);var _0x25867f={'where':_0x50bf0d['where']};return db['MailQueue'][_0x73a6('0x12')](_0x25867f)[_0x73a6('0x16')](function(_0x32b727){_0x1268a4['count']=_0x32b727;_0x50bf0d['include']=qs[_0x73a6('0x25')](_0x5c6528[_0x73a6('0x26')]);return db[_0x73a6('0x20')][_0x73a6('0x27')](_0x50bf0d);})[_0x73a6('0x16')](function(_0x466c8b){_0x1268a4[_0x73a6('0x28')]=_0x466c8b;return _0x1268a4;})[_0x73a6('0x16')](respondWithFilteredResult(_0x37564d,_0x50bf0d))[_0x73a6('0x29')](handleError(_0x37564d,null));};exports[_0x73a6('0x2a')]=function(_0x4a9a78,_0x41ee32){var _0x2eb035={'raw':!![],'where':{'id':_0x4a9a78[_0x73a6('0x2b')]['id']}},_0x32d08f={};_0x32d08f[_0x73a6('0x2c')]=_['keys'](db[_0x73a6('0x20')][_0x73a6('0x21')]);_0x32d08f[_0x73a6('0x26')]=_['keys'](_0x4a9a78[_0x73a6('0x26')]);_0x32d08f['filters']=_[_0x73a6('0x2d')](_0x32d08f[_0x73a6('0x2c')],_0x32d08f[_0x73a6('0x26')]);_0x2eb035[_0x73a6('0x2e')]=_[_0x73a6('0x2d')](_0x32d08f[_0x73a6('0x2c')],qs[_0x73a6('0x2f')](_0x4a9a78[_0x73a6('0x26')][_0x73a6('0x2f')]));_0x2eb035['attributes']=_0x2eb035[_0x73a6('0x2e')][_0x73a6('0x30')]?_0x2eb035[_0x73a6('0x2e')]:_0x32d08f['model'];if(_0x4a9a78[_0x73a6('0x26')][_0x73a6('0x31')]){_0x2eb035[_0x73a6('0x25')]=[{'all':!![]}];}_0x2eb035=_[_0x73a6('0x32')]({},_0x2eb035,_0x4a9a78[_0x73a6('0x33')]);return db[_0x73a6('0x20')][_0x73a6('0x34')](_0x2eb035)[_0x73a6('0x16')](handleEntityNotFound(_0x41ee32,null))[_0x73a6('0x16')](respondWithResult(_0x41ee32,null))[_0x73a6('0x29')](handleError(_0x41ee32,null));};exports['create']=function(_0x58a42d,_0x1d5af4){return db['MailQueue'][_0x73a6('0x35')](_0x58a42d['body'],{})[_0x73a6('0x16')](function(_0x4893b6){var _0x518254=_0x58a42d[_0x73a6('0x36')][_0x73a6('0x17')]({'plain':!![]});if(!_0x518254)throw new Error(_0x73a6('0x37'));if(_0x518254['role']===_0x73a6('0x36')){var _0x17c1b9=_0x4893b6[_0x73a6('0x17')]({'plain':!![]});var _0x3376c2=_0x73a6('0x18');return db[_0x73a6('0x38')][_0x73a6('0x34')]({'where':{'name':_0x3376c2,'userProfileId':_0x518254[_0x73a6('0x39')]},'raw':!![]})[_0x73a6('0x16')](function(_0x2bb6b4){if(_0x2bb6b4&&_0x2bb6b4[_0x73a6('0x3a')]===0x0){return db['UserProfileResource'][_0x73a6('0x35')]({'name':_0x17c1b9[_0x73a6('0x1e')],'resourceId':_0x17c1b9['id'],'type':_0x2bb6b4[_0x73a6('0x1e')],'sectionId':_0x2bb6b4['id']},{})[_0x73a6('0x16')](function(){return _0x4893b6;});}else{return _0x4893b6;}})[_0x73a6('0x29')](function(_0x3ac82e){logger['error'](_0x73a6('0x3b'),_0x3ac82e);throw _0x3ac82e;});}return _0x4893b6;})[_0x73a6('0x16')](respondWithResult(_0x1d5af4,0xc9))[_0x73a6('0x29')](handleError(_0x1d5af4,null));};exports[_0x73a6('0x15')]=function(_0x178212,_0x5dd4d7){if(_0x178212['body']['id']){delete _0x178212[_0x73a6('0x3c')]['id'];}return db[_0x73a6('0x20')][_0x73a6('0x34')]({'where':{'id':_0x178212[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](handleEntityNotFound(_0x5dd4d7,null))[_0x73a6('0x16')](saveUpdates(_0x178212[_0x73a6('0x3c')],null))[_0x73a6('0x16')](respondWithResult(_0x5dd4d7,null))[_0x73a6('0x29')](handleError(_0x5dd4d7,null));};exports[_0x73a6('0x1a')]=function(_0x391fec,_0x1f5e94){return db[_0x73a6('0x20')][_0x73a6('0x34')]({'where':{'id':_0x391fec[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](handleEntityNotFound(_0x1f5e94,null))['then'](removeEntity(_0x1f5e94,null))[_0x73a6('0x29')](handleError(_0x1f5e94,null));};exports[_0x73a6('0x3d')]=function(_0x382166,_0x56685f){return db[_0x73a6('0x20')]['describe']()[_0x73a6('0x16')](respondWithResult(_0x56685f,null))[_0x73a6('0x29')](handleError(_0x56685f,null));};exports[_0x73a6('0x3e')]=function(_0x348284,_0x28a3fe){var _0x2f5fe5={'raw':!![],'where':{}},_0xb1a205={},_0x173eaa;return db[_0x73a6('0x20')][_0x73a6('0x3f')]({'where':{'id':_0x348284[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](handleEntityNotFound(_0x28a3fe,null))[_0x73a6('0x16')](function(_0x1f9e0b){if(_0x1f9e0b){_0x173eaa=_0x1f9e0b[_0x73a6('0x17')]({'plain':!![]});_0xb1a205['model']=_[_0x73a6('0x40')](db[_0x73a6('0x41')][_0x73a6('0x21')]);_0xb1a205[_0x73a6('0x26')]=_[_0x73a6('0x40')](_0x348284[_0x73a6('0x26')]);_0xb1a205[_0x73a6('0x42')]=_[_0x73a6('0x2d')](_0xb1a205[_0x73a6('0x2c')],_0xb1a205['query']);_0x2f5fe5[_0x73a6('0x2e')]=_[_0x73a6('0x2d')](_0xb1a205[_0x73a6('0x2c')],qs[_0x73a6('0x2f')](_0x348284[_0x73a6('0x26')][_0x73a6('0x2f')]));_0x2f5fe5[_0x73a6('0x2e')]=_0x2f5fe5[_0x73a6('0x2e')][_0x73a6('0x30')]?_0x2f5fe5[_0x73a6('0x2e')]:_0xb1a205[_0x73a6('0x2c')];if(!_0x348284[_0x73a6('0x26')]['hasOwnProperty'](_0x73a6('0x43'))){_0x2f5fe5[_0x73a6('0x10')]=qs['limit'](_0x348284[_0x73a6('0x26')][_0x73a6('0x10')]);_0x2f5fe5['offset']=qs['offset'](_0x348284['query'][_0x73a6('0xf')]);}_0x2f5fe5['order']=qs['sort'](_0x348284['query'][_0x73a6('0x44')]);_0x2f5fe5[_0x73a6('0x45')]=qs['filters'](_[_0x73a6('0x46')](_0x348284['query'],_0xb1a205['filters']));_0x2f5fe5[_0x73a6('0x45')][_0x73a6('0x47')]=_0x1f9e0b['id'];if(_0x348284[_0x73a6('0x26')][_0x73a6('0x48')]){_0x2f5fe5['where']=_[_0x73a6('0x32')](_0x2f5fe5[_0x73a6('0x45')],{'$or':_['map'](_0x2f5fe5['attributes'],function(_0x5c0016){var _0x2cc525={};_0x2cc525[_0x5c0016]={'$like':'%'+_0x348284[_0x73a6('0x26')][_0x73a6('0x48')]+'%'};return _0x2cc525;})});}_0x2f5fe5=_[_0x73a6('0x32')]({},_0x2f5fe5,_0x348284[_0x73a6('0x33')]);return db[_0x73a6('0x41')][_0x73a6('0x27')](_0x2f5fe5);}})[_0x73a6('0x16')](function(_0x11d0bc){if(_0x11d0bc){return db[_0x73a6('0x49')][_0x73a6('0x4a')]({'where':{'id':_[_0x73a6('0x1f')](_0x11d0bc,'UserId'),'role':_0x73a6('0x4b')},'attributes':['id',_0x73a6('0x1e'),_0x73a6('0x4c'),_0x73a6('0x4d'),'createdAt']});}})[_0x73a6('0x16')](function(_0xceb2fa){if(_0xceb2fa){return{'count':_0xceb2fa[_0x73a6('0x12')],'rows':_[_0x73a6('0x1f')](_0xceb2fa[_0x73a6('0x28')],function(_0x1205f2){return{'membername':_0x1205f2[_0x73a6('0x1e')],'UserId':_0x1205f2['id'],'queue_name':_0x173eaa[_0x73a6('0x1e')],'MailQueueId':_0x173eaa['id'],'interface':util[_0x73a6('0x4e')]('%s/%s',_0x73a6('0x4f'),_0x1205f2[_0x73a6('0x1e')]),'penalty':0x0,'paused':_0x1205f2['mailPause'],'createdAt':_0x1205f2[_0x73a6('0x50')],'updatedAt':_0x1205f2[_0x73a6('0x4d')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x73a6('0x16')](respondWithFilteredResult(_0x28a3fe,_0x2f5fe5))[_0x73a6('0x29')](handleError(_0x28a3fe,null));};exports['getTeams']=function(_0x1672e5,_0x1c41c7){var _0x49c41a={};var _0x15e505={};var _0x5d9038;var _0x2b3236;return db[_0x73a6('0x20')][_0x73a6('0x3f')]({'where':{'id':_0x1672e5[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](handleEntityNotFound(_0x1c41c7,null))[_0x73a6('0x16')](function(_0x5549b4){if(_0x5549b4){_0x5d9038=_0x5549b4;_0x15e505[_0x73a6('0x2c')]=_[_0x73a6('0x40')](db[_0x73a6('0x51')][_0x73a6('0x21')]);_0x15e505[_0x73a6('0x26')]=_['keys'](_0x1672e5['query']);_0x15e505[_0x73a6('0x42')]=_[_0x73a6('0x2d')](_0x15e505[_0x73a6('0x2c')],_0x15e505[_0x73a6('0x26')]);_0x49c41a[_0x73a6('0x2e')]=_[_0x73a6('0x2d')](_0x15e505[_0x73a6('0x2c')],qs['fields'](_0x1672e5[_0x73a6('0x26')][_0x73a6('0x2f')]));_0x49c41a[_0x73a6('0x2e')]=_0x49c41a[_0x73a6('0x2e')][_0x73a6('0x30')]?_0x49c41a[_0x73a6('0x2e')]:_0x15e505['model'];_0x49c41a[_0x73a6('0x52')]=qs[_0x73a6('0x44')](_0x1672e5[_0x73a6('0x26')][_0x73a6('0x44')]);_0x49c41a[_0x73a6('0x45')]=qs['filters'](_[_0x73a6('0x46')](_0x1672e5[_0x73a6('0x26')],_0x15e505['filters']));if(_0x1672e5[_0x73a6('0x26')][_0x73a6('0x48')]){_0x49c41a[_0x73a6('0x45')]=_[_0x73a6('0x32')](_0x49c41a[_0x73a6('0x45')],{'$or':_[_0x73a6('0x1f')](_0x49c41a[_0x73a6('0x2e')],function(_0x23ead8){var _0x49f714={};_0x49f714[_0x23ead8]={'$like':'%'+_0x1672e5['query'][_0x73a6('0x48')]+'%'};return _0x49f714;})});}_0x49c41a=_[_0x73a6('0x32')]({},_0x49c41a,_0x1672e5[_0x73a6('0x33')]);return _0x5d9038['getTeams'](_0x49c41a);}})['then'](function(_0x4d5f8f){if(_0x4d5f8f){_0x2b3236=_0x4d5f8f[_0x73a6('0x30')];if(!_0x1672e5[_0x73a6('0x26')]['hasOwnProperty'](_0x73a6('0x43'))){_0x49c41a[_0x73a6('0x10')]=qs['limit'](_0x1672e5['query'][_0x73a6('0x10')]);_0x49c41a[_0x73a6('0xf')]=qs[_0x73a6('0xf')](_0x1672e5[_0x73a6('0x26')][_0x73a6('0xf')]);}return _0x5d9038[_0x73a6('0x53')](_0x49c41a);}})[_0x73a6('0x16')](function(_0x5e7403){if(_0x5e7403){return _0x5e7403?{'count':_0x2b3236,'rows':_0x5e7403}:null;}})['then'](respondWithResult(_0x1c41c7,null))['catch'](handleError(_0x1c41c7,null));};exports[_0x73a6('0x54')]=function(_0x25e7c7,_0x2379cd){var _0x5d6a9=_0x25e7c7[_0x73a6('0x3c')]['ids'];return db['Team'][_0x73a6('0x27')]({'where':{'id':_0x5d6a9},'attributes':['id'],'include':[{'model':db['User'],'as':_0x73a6('0x55'),'attributes':['id','name',_0x73a6('0x56'),_0x73a6('0x57'),_0x73a6('0x58')],'raw':!![]}]})['then'](function(_0x36d1d0){if(_0x36d1d0){var _0x5d2967=_[_0x73a6('0x59')](_0x36d1d0,function(_0x1d8c52){var _0x2e51ac=_0x1d8c52[_0x73a6('0x17')]({'plain':!![]});return _0x2e51ac['Agents'];});return db['MailQueue']['find']({'where':{'id':_0x25e7c7[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](function(_0x1ff3b2){return db[_0x73a6('0x5a')][_0x73a6('0x5b')](function(_0x59ba20){return _0x1ff3b2[_0x73a6('0x54')](_0x5d6a9,{'transaction':_0x59ba20})['then'](function(){return BPromise['each'](_0x5d2967,function(_0x3e4cfd){return db[_0x73a6('0x41')][_0x73a6('0x5c')]({'where':{'UserId':_0x3e4cfd['id'],'MailQueueId':_0x25e7c7[_0x73a6('0x2b')]['id']},'transaction':_0x59ba20});});})['then'](function(){_0x5d2967[_0x73a6('0x5d')](function(_0x4b4652){socket[_0x73a6('0x5e')](_0x73a6('0x5f'),{'UserId':_0x4b4652['id'],'MailQueueId':_0x1ff3b2['id']});});});});});}})['then'](respondWithStatusCode(_0x2379cd,null))[_0x73a6('0x29')](handleError(_0x2379cd,null));};exports[_0x73a6('0x60')]=function(_0x139084,_0x34dbce){return db[_0x73a6('0x51')]['findAll']({'where':{'id':_0x139084['query'][_0x73a6('0x61')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x73a6('0x55'),'attributes':['id'],'raw':!![]}]})[_0x73a6('0x16')](handleEntityNotFound(_0x34dbce,null))[_0x73a6('0x16')](function(_0x6faf3){var _0x21e7b6=_[_0x73a6('0x1f')](_0x6faf3,'id');var _0x2196c9=[];var _0x2490ab=[];var _0x9b89ee=squel[_0x73a6('0x62')]();_0x9b89ee[_0x73a6('0x63')](_0x73a6('0x64'))[_0x73a6('0x65')](_0x73a6('0x66'),'tq')['join'](_0x73a6('0x67'),'ut',_0x73a6('0x68'))[_0x73a6('0x45')](_0x73a6('0x69'),_0x139084[_0x73a6('0x2b')]['id']);for(var _0x37411f=0x0;_0x37411f<_0x6faf3[_0x73a6('0x30')];_0x37411f+=0x1){let _0x18ddbe=_0x6faf3[_0x37411f];for(var _0x2aca36=0x0;_0x2aca36<_0x18ddbe[_0x73a6('0x55')][_0x73a6('0x30')];_0x2aca36+=0x1){let _0x1dfeb9=_0x18ddbe['Agents'][_0x2aca36];var _0x154180=_0x9b89ee[_0x73a6('0x6a')]();_0x154180[_0x73a6('0x45')]('ut.UserId\x20=\x20?',_0x1dfeb9['id']);_0x2490ab[_0x73a6('0x6b')](db[_0x73a6('0x5a')][_0x73a6('0x26')](_0x154180[_0x73a6('0x6c')](),{'type':db['sequelize'][_0x73a6('0x6d')]['SELECT']})[_0x73a6('0x16')](function(_0x279fd7){if(_0x279fd7[_0x73a6('0x30')]===0x1){return _0x1dfeb9['id'];}else{var _0x4967aa=_[_0x73a6('0x6e')](_[_0x73a6('0x1f')](_0x279fd7,_0x73a6('0x6f')),function(_0x210a4d){return _[_0x73a6('0x70')](_0x21e7b6,_0x210a4d);});if(_0x4967aa){return _0x1dfeb9['id'];}}}));}}return BPromise[_0x73a6('0x71')](_0x2490ab)['then'](function(_0x2b89ef){_0x2196c9=_(_0x2196c9)[_0x73a6('0x72')](_0x2b89ef)[_0x73a6('0x73')]()[_0x73a6('0x74')]();return db[_0x73a6('0x20')][_0x73a6('0x34')]({'where':{'id':_0x139084[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](function(_0x31cf10){return db[_0x73a6('0x5a')][_0x73a6('0x5b')](function(_0x11b218){return _0x31cf10[_0x73a6('0x60')](_0x139084['query'][_0x73a6('0x61')],{'transaction':_0x11b218})[_0x73a6('0x16')](function(){if(!_[_0x73a6('0x75')](_0x2196c9)){return _0x31cf10['removeAgents'](_0x2196c9,{'transaction':_0x11b218});}})[_0x73a6('0x16')](function(){_0x2196c9[_0x73a6('0x5d')](function(_0x477f29){socket[_0x73a6('0x5e')](_0x73a6('0x76'),{'UserId':_0x477f29,'MailQueueId':_0x31cf10['id']});});});});});});})[_0x73a6('0x16')](respondWithStatusCode(_0x34dbce,null))[_0x73a6('0x29')](handleError(_0x34dbce,null));};exports['addAgents']=function(_0x495c6a,_0x2a827a){return db[_0x73a6('0x20')][_0x73a6('0x34')]({'where':{'id':_0x495c6a[_0x73a6('0x2b')]['id']}})[_0x73a6('0x16')](handleEntityNotFound(_0x2a827a,null))['then'](function(_0x3e851a){if(_0x3e851a){return _0x3e851a[_0x73a6('0x77')](_0x495c6a[_0x73a6('0x3c')]['ids'],_[_0x73a6('0x78')](_0x495c6a['body'],[_0x73a6('0x61'),'id'])||{})['spread'](function(_0x493ff0){for(var _0x4e6add=0x0;_0x4e6add<_0x495c6a[_0x73a6('0x3c')][_0x73a6('0x61')][_0x73a6('0x30')];_0x4e6add+=0x1){socket[_0x73a6('0x5e')](_0x73a6('0x5f'),{'UserId':Number(_0x495c6a[_0x73a6('0x3c')][_0x73a6('0x61')][_0x4e6add]),'MailQueueId':Number(_0x495c6a[_0x73a6('0x2b')]['id'])});}return _0x493ff0;});}})[_0x73a6('0x16')](respondWithResult(_0x2a827a,null))[_0x73a6('0x29')](handleError(_0x2a827a,null));};exports[_0x73a6('0x79')]=function(_0x23c4e9,_0x530451){return db[_0x73a6('0x20')][_0x73a6('0x34')]({'where':{'id':_0x23c4e9[_0x73a6('0x2b')]['id']}})['then'](handleEntityNotFound(_0x530451,null))[_0x73a6('0x16')](function(_0x1dd175){if(_0x1dd175){return _0x1dd175[_0x73a6('0x79')](_0x23c4e9[_0x73a6('0x26')]['ids'])['then'](function(){if(_[_0x73a6('0x7a')](_0x23c4e9[_0x73a6('0x26')][_0x73a6('0x61')])){for(var _0x32c35b=0x0;_0x32c35b<_0x23c4e9['query'][_0x73a6('0x61')][_0x73a6('0x30')];_0x32c35b+=0x1){socket[_0x73a6('0x5e')]('userMailQueue:remove',{'UserId':Number(_0x23c4e9['query']['ids'][_0x32c35b]),'MailQueueId':Number(_0x23c4e9[_0x73a6('0x2b')]['id'])});}}else{socket['emit']('userMailQueue:remove',{'UserId':Number(_0x23c4e9['query'][_0x73a6('0x61')]),'MailQueueId':Number(_0x23c4e9[_0x73a6('0x2b')]['id'])});}});}})[_0x73a6('0x16')](respondWithStatusCode(_0x530451,null))[_0x73a6('0x29')](handleError(_0x530451,null));};exports[_0x73a6('0x7b')]=function(_0x571f14,_0x11ab3f){var _0x18b4ae={};var _0x117266={};var _0x2408ca;var _0x472b6b;return db['MailQueue'][_0x73a6('0x3f')]({'where':{'id':_0x571f14[_0x73a6('0x2b')]['id']}})['then'](handleEntityNotFound(_0x11ab3f,null))['then'](function(_0x558863){if(_0x558863){_0x2408ca=_0x558863;_0x117266['model']=_[_0x73a6('0x40')](db['User'][_0x73a6('0x21')]);_0x117266[_0x73a6('0x26')]=_[_0x73a6('0x40')](_0x571f14['query']);_0x117266[_0x73a6('0x42')]=_[_0x73a6('0x2d')](_0x117266[_0x73a6('0x2c')],_0x117266[_0x73a6('0x26')]);_0x18b4ae[_0x73a6('0x2e')]=_[_0x73a6('0x2d')](_0x117266[_0x73a6('0x2c')],qs[_0x73a6('0x2f')](_0x571f14[_0x73a6('0x26')][_0x73a6('0x2f')]));_0x18b4ae[_0x73a6('0x2e')]=_0x18b4ae[_0x73a6('0x2e')]['length']?_0x18b4ae[_0x73a6('0x2e')]:_0x117266[_0x73a6('0x2c')];_0x18b4ae[_0x73a6('0x52')]=qs[_0x73a6('0x44')](_0x571f14['query'][_0x73a6('0x44')]);_0x18b4ae[_0x73a6('0x45')]=qs['filters'](_[_0x73a6('0x46')](_0x571f14['query'],_0x117266[_0x73a6('0x42')]));if(_0x571f14[_0x73a6('0x26')][_0x73a6('0x48')]){_0x18b4ae[_0x73a6('0x45')]=_[_0x73a6('0x32')](_0x18b4ae[_0x73a6('0x45')],{'$or':_[_0x73a6('0x1f')](_0x18b4ae[_0x73a6('0x2e')],function(_0x5a9ca7){var _0x407f1c={};_0x407f1c[_0x5a9ca7]={'$like':'%'+_0x571f14[_0x73a6('0x26')]['filter']+'%'};return _0x407f1c;})});}_0x18b4ae=_[_0x73a6('0x32')]({},_0x18b4ae,_0x571f14[_0x73a6('0x33')]);return _0x2408ca[_0x73a6('0x7b')](_0x18b4ae);}})[_0x73a6('0x16')](function(_0x2aa3a9){if(_0x2aa3a9){_0x472b6b=_0x2aa3a9[_0x73a6('0x30')];if(!_0x571f14[_0x73a6('0x26')][_0x73a6('0x7c')](_0x73a6('0x43'))){_0x18b4ae[_0x73a6('0x10')]=qs['limit'](_0x571f14[_0x73a6('0x26')][_0x73a6('0x10')]);_0x18b4ae[_0x73a6('0xf')]=qs[_0x73a6('0xf')](_0x571f14[_0x73a6('0x26')][_0x73a6('0xf')]);}return _0x2408ca[_0x73a6('0x7b')](_0x18b4ae);}})[_0x73a6('0x16')](function(_0x188687){if(_0x188687){return _0x188687?{'count':_0x472b6b,'rows':_0x188687}:null;}})[_0x73a6('0x16')](respondWithResult(_0x11ab3f,null))[_0x73a6('0x29')](handleError(_0x11ab3f,null));};