2b86cb7cfab1a4c666fc45ec9bcd8d1a7d54e7db
[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 _0x07e6=['rows','show','model','keys','filters','intersection','fields','attributes','length','includeAll','options','find','catch','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','params','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','nolimit','sort','pick','MailQueueId','filter','map','merge','agent','updatedAt','format','%s/%s','SIP','mailPause','createdAt','Team','order','getTeams','addTeams','body','ids','User','Agents','online','flatMap','transaction','each','findOrCreate','forEach','emit','select','field','from','team_has_mail_queues','join','user_has_teams','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','QueryTypes','SELECT','every','TeamId','includes','all','compact','value','removeTeams','isEmpty','removeAgents','addAgents','omit','isArray','userMailQueue:remove','getAgents','bluebird','squel','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','defaults','redis','localhost','status','offset','limit','undefined','count','Content-Range','json','update','then','destroy','MailQueues','UserProfileResource','end','sendStatus','error','stack','name','send','index','MailQueue','rawAttributes','type','key','where','include','query','findAll'];(function(_0x2c2422,_0x4d6b42){var _0x3859d3=function(_0x599646){while(--_0x599646){_0x2c2422['push'](_0x2c2422['shift']());}};_0x3859d3(++_0x4d6b42);}(_0x07e6,0x1bb));var _0x607e=function(_0x4fa018,_0x25f0f9){_0x4fa018=_0x4fa018-0x0;var _0x10dc44=_0x07e6[_0x4fa018];return _0x10dc44;};'use strict';var BPromise=require(_0x607e('0x0'));var util=require('util');var _=require('lodash');var squel=require(_0x607e('0x1'));var Redis=require('ioredis');var qs=require(_0x607e('0x2'));var logger=require(_0x607e('0x3'))(_0x607e('0x4'));var config=require(_0x607e('0x5'));var db=require(_0x607e('0x6'))['db'];config['redis']=_[_0x607e('0x7')](config[_0x607e('0x8')],{'host':_0x607e('0x9'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x607e('0x8')]));require('./mailQueue.socket')['register'](socket);function respondWithStatusCode(_0x408e7f,_0x7ae5c){_0x7ae5c=_0x7ae5c||0xcc;return function(_0x3ff811){if(_0x3ff811){return _0x408e7f['sendStatus'](_0x7ae5c);}return _0x408e7f['status'](_0x7ae5c)['end']();};}function respondWithResult(_0x364350,_0x348906){_0x348906=_0x348906||0xc8;return function(_0x4d67e7){if(_0x4d67e7){return _0x364350[_0x607e('0xa')](_0x348906)['json'](_0x4d67e7);}};}function respondWithFilteredResult(_0x44a9eb,_0x4b65dd){return function(_0x14d9c9){if(_0x14d9c9){var _0x2e1ad4=typeof _0x4b65dd[_0x607e('0xb')]==='undefined'&&typeof _0x4b65dd[_0x607e('0xc')]===_0x607e('0xd');var _0x1af3c5=_0x14d9c9[_0x607e('0xe')];var _0x39c77e=_0x2e1ad4?0x0:_0x4b65dd[_0x607e('0xb')];var _0x2d1fc0=_0x2e1ad4?_0x14d9c9['count']:_0x4b65dd['offset']+_0x4b65dd[_0x607e('0xc')];var _0x5abae0;if(_0x2d1fc0>=_0x1af3c5){_0x2d1fc0=_0x1af3c5;_0x5abae0=0xc8;}else{_0x5abae0=0xce;}_0x44a9eb[_0x607e('0xa')](_0x5abae0);return _0x44a9eb['set'](_0x607e('0xf'),_0x39c77e+'-'+_0x2d1fc0+'/'+_0x1af3c5)[_0x607e('0x10')](_0x14d9c9);}return null;};}function saveUpdates(_0x258271){return function(_0x25ad12){if(_0x25ad12){return _0x25ad12[_0x607e('0x11')](_0x258271)[_0x607e('0x12')](function(_0x1331cb){return _0x1331cb;});}return null;};}function removeEntity(_0x48ef98){return function(_0x4e8840){if(_0x4e8840){return _0x4e8840[_0x607e('0x13')]()['then'](function(){var _0x3d3167=_0x4e8840['get']({'plain':!![]});var _0x21d693=_0x607e('0x14');return db[_0x607e('0x15')][_0x607e('0x13')]({'where':{'type':_0x21d693,'resourceId':_0x3d3167['id']}})[_0x607e('0x12')](function(){return _0x4e8840;});})[_0x607e('0x12')](function(){_0x48ef98[_0x607e('0xa')](0xcc)[_0x607e('0x16')]();});}};}function handleEntityNotFound(_0x457462){return function(_0x40406c){if(!_0x40406c){_0x457462[_0x607e('0x17')](0x194);}return _0x40406c;};}function handleError(_0x2ea8da,_0x15368e){_0x15368e=_0x15368e||0x1f4;return function(_0x2a6a27){logger[_0x607e('0x18')](_0x2a6a27[_0x607e('0x19')]);if(_0x2a6a27[_0x607e('0x1a')]){delete _0x2a6a27[_0x607e('0x1a')];}_0x2ea8da['status'](_0x15368e)[_0x607e('0x1b')](_0x2a6a27);};}exports[_0x607e('0x1c')]=function(_0xf45f03,_0x1f39d1){var _0x136eac={};var _0x2578f9={'count':0x0,'rows':[]};var _0x18a5d1=_['map'](db[_0x607e('0x1d')][_0x607e('0x1e')],function(_0x45be02){return{'name':_0x45be02['fieldName'],'type':_0x45be02[_0x607e('0x1f')][_0x607e('0x20')]};});_0x136eac=qs['getOptions'](_0x18a5d1,_0xf45f03);var _0x76a7b1={'where':_0x136eac[_0x607e('0x21')]};return db[_0x607e('0x1d')][_0x607e('0xe')](_0x76a7b1)[_0x607e('0x12')](function(_0x5d933d){_0x2578f9[_0x607e('0xe')]=_0x5d933d;_0x136eac['include']=qs[_0x607e('0x22')](_0xf45f03[_0x607e('0x23')]);return db['MailQueue'][_0x607e('0x24')](_0x136eac);})['then'](function(_0x33b672){_0x2578f9[_0x607e('0x25')]=_0x33b672;return _0x2578f9;})[_0x607e('0x12')](respondWithFilteredResult(_0x1f39d1,_0x136eac))['catch'](handleError(_0x1f39d1,null));};exports[_0x607e('0x26')]=function(_0x2124c0,_0x55f8d2){var _0x26f7d6={'raw':!![],'where':{'id':_0x2124c0['params']['id']}},_0x3bb9fa={};_0x3bb9fa[_0x607e('0x27')]=_[_0x607e('0x28')](db[_0x607e('0x1d')][_0x607e('0x1e')]);_0x3bb9fa[_0x607e('0x23')]=_[_0x607e('0x28')](_0x2124c0[_0x607e('0x23')]);_0x3bb9fa[_0x607e('0x29')]=_['intersection'](_0x3bb9fa[_0x607e('0x27')],_0x3bb9fa[_0x607e('0x23')]);_0x26f7d6['attributes']=_[_0x607e('0x2a')](_0x3bb9fa[_0x607e('0x27')],qs[_0x607e('0x2b')](_0x2124c0[_0x607e('0x23')][_0x607e('0x2b')]));_0x26f7d6['attributes']=_0x26f7d6[_0x607e('0x2c')][_0x607e('0x2d')]?_0x26f7d6[_0x607e('0x2c')]:_0x3bb9fa[_0x607e('0x27')];if(_0x2124c0[_0x607e('0x23')][_0x607e('0x2e')]){_0x26f7d6[_0x607e('0x22')]=[{'all':!![]}];}_0x26f7d6=_['merge']({},_0x26f7d6,_0x2124c0[_0x607e('0x2f')]);return db[_0x607e('0x1d')][_0x607e('0x30')](_0x26f7d6)['then'](handleEntityNotFound(_0x55f8d2,null))['then'](respondWithResult(_0x55f8d2,null))[_0x607e('0x31')](handleError(_0x55f8d2,null));};exports[_0x607e('0x32')]=function(_0x1d29e2,_0x15149b){return db[_0x607e('0x1d')]['create'](_0x1d29e2['body'],{})[_0x607e('0x12')](function(_0x24de1f){var _0x5e45f2=_0x1d29e2[_0x607e('0x33')][_0x607e('0x34')]({'plain':!![]});if(!_0x5e45f2)throw new Error(_0x607e('0x35'));if(_0x5e45f2[_0x607e('0x36')]===_0x607e('0x33')){var _0x19e28d=_0x24de1f[_0x607e('0x34')]({'plain':!![]});var _0x9dff0b=_0x607e('0x14');return db[_0x607e('0x37')][_0x607e('0x30')]({'where':{'name':_0x9dff0b,'userProfileId':_0x5e45f2[_0x607e('0x38')]},'raw':!![]})['then'](function(_0x51feb8){if(_0x51feb8&&_0x51feb8[_0x607e('0x39')]===0x0){return db['UserProfileResource'][_0x607e('0x32')]({'name':_0x19e28d[_0x607e('0x1a')],'resourceId':_0x19e28d['id'],'type':_0x51feb8['name'],'sectionId':_0x51feb8['id']},{})['then'](function(){return _0x24de1f;});}else{return _0x24de1f;}})[_0x607e('0x31')](function(_0x3e5a43){logger[_0x607e('0x18')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3e5a43);throw _0x3e5a43;});}return _0x24de1f;})[_0x607e('0x12')](respondWithResult(_0x15149b,0xc9))['catch'](handleError(_0x15149b,null));};exports[_0x607e('0x11')]=function(_0x35dfcf,_0x5608ef){if(_0x35dfcf['body']['id']){delete _0x35dfcf['body']['id'];}return db['MailQueue']['find']({'where':{'id':_0x35dfcf[_0x607e('0x3a')]['id']}})['then'](handleEntityNotFound(_0x5608ef,null))[_0x607e('0x12')](saveUpdates(_0x35dfcf['body'],null))['then'](respondWithResult(_0x5608ef,null))[_0x607e('0x31')](handleError(_0x5608ef,null));};exports[_0x607e('0x13')]=function(_0xa116bb,_0x2b9efd){return db[_0x607e('0x1d')]['find']({'where':{'id':_0xa116bb[_0x607e('0x3a')]['id']}})[_0x607e('0x12')](handleEntityNotFound(_0x2b9efd,null))[_0x607e('0x12')](removeEntity(_0x2b9efd,null))['catch'](handleError(_0x2b9efd,null));};exports['describe']=function(_0x387d4b,_0x529d80){return db[_0x607e('0x1d')][_0x607e('0x3b')]()[_0x607e('0x12')](respondWithResult(_0x529d80,null))[_0x607e('0x31')](handleError(_0x529d80,null));};exports[_0x607e('0x3c')]=function(_0x24c700,_0x56a3db){var _0x3625cb={'raw':!![],'where':{}},_0x4399fd={},_0x58e310;return db[_0x607e('0x1d')][_0x607e('0x3d')]({'where':{'id':_0x24c700[_0x607e('0x3a')]['id']}})[_0x607e('0x12')](handleEntityNotFound(_0x56a3db,null))[_0x607e('0x12')](function(_0x1a0c35){if(_0x1a0c35){_0x58e310=_0x1a0c35['get']({'plain':!![]});_0x4399fd[_0x607e('0x27')]=_[_0x607e('0x28')](db[_0x607e('0x3e')][_0x607e('0x1e')]);_0x4399fd[_0x607e('0x23')]=_[_0x607e('0x28')](_0x24c700[_0x607e('0x23')]);_0x4399fd[_0x607e('0x29')]=_[_0x607e('0x2a')](_0x4399fd[_0x607e('0x27')],_0x4399fd['query']);_0x3625cb[_0x607e('0x2c')]=_['intersection'](_0x4399fd['model'],qs[_0x607e('0x2b')](_0x24c700[_0x607e('0x23')]['fields']));_0x3625cb[_0x607e('0x2c')]=_0x3625cb['attributes']['length']?_0x3625cb[_0x607e('0x2c')]:_0x4399fd[_0x607e('0x27')];if(!_0x24c700['query'][_0x607e('0x3f')](_0x607e('0x40'))){_0x3625cb['limit']=qs[_0x607e('0xc')](_0x24c700[_0x607e('0x23')]['limit']);_0x3625cb['offset']=qs[_0x607e('0xb')](_0x24c700[_0x607e('0x23')][_0x607e('0xb')]);}_0x3625cb['order']=qs[_0x607e('0x41')](_0x24c700[_0x607e('0x23')][_0x607e('0x41')]);_0x3625cb['where']=qs[_0x607e('0x29')](_[_0x607e('0x42')](_0x24c700['query'],_0x4399fd['filters']));_0x3625cb['where'][_0x607e('0x43')]=_0x1a0c35['id'];if(_0x24c700[_0x607e('0x23')][_0x607e('0x44')]){_0x3625cb[_0x607e('0x21')]=_['merge'](_0x3625cb[_0x607e('0x21')],{'$or':_[_0x607e('0x45')](_0x3625cb[_0x607e('0x2c')],function(_0x216a73){var _0xc18ad1={};_0xc18ad1[_0x216a73]={'$like':'%'+_0x24c700[_0x607e('0x23')]['filter']+'%'};return _0xc18ad1;})});}_0x3625cb=_[_0x607e('0x46')]({},_0x3625cb,_0x24c700[_0x607e('0x2f')]);return db['UserMailQueue'][_0x607e('0x24')](_0x3625cb);}})[_0x607e('0x12')](function(_0x4ace6e){if(_0x4ace6e){return db['User']['findAndCountAll']({'where':{'id':_[_0x607e('0x45')](_0x4ace6e,'UserId'),'role':_0x607e('0x47')},'attributes':['id',_0x607e('0x1a'),'mailPause',_0x607e('0x48'),'createdAt']});}})[_0x607e('0x12')](function(_0x34e2a7){if(_0x34e2a7){return{'count':_0x34e2a7[_0x607e('0xe')],'rows':_['map'](_0x34e2a7[_0x607e('0x25')],function(_0x53916f){return{'membername':_0x53916f[_0x607e('0x1a')],'UserId':_0x53916f['id'],'queue_name':_0x58e310['name'],'MailQueueId':_0x58e310['id'],'interface':util[_0x607e('0x49')](_0x607e('0x4a'),_0x607e('0x4b'),_0x53916f[_0x607e('0x1a')]),'penalty':0x0,'paused':_0x53916f[_0x607e('0x4c')],'createdAt':_0x53916f[_0x607e('0x4d')],'updatedAt':_0x53916f[_0x607e('0x48')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x607e('0x12')](respondWithFilteredResult(_0x56a3db,_0x3625cb))[_0x607e('0x31')](handleError(_0x56a3db,null));};exports['getTeams']=function(_0x443cde,_0x524142){var _0x8dc6a3={};var _0x37a6ba={};var _0x52f81c;var _0x5542fa;return db[_0x607e('0x1d')][_0x607e('0x3d')]({'where':{'id':_0x443cde['params']['id']}})[_0x607e('0x12')](handleEntityNotFound(_0x524142,null))['then'](function(_0x1267f2){if(_0x1267f2){_0x52f81c=_0x1267f2;_0x37a6ba[_0x607e('0x27')]=_[_0x607e('0x28')](db[_0x607e('0x4e')][_0x607e('0x1e')]);_0x37a6ba['query']=_['keys'](_0x443cde['query']);_0x37a6ba[_0x607e('0x29')]=_[_0x607e('0x2a')](_0x37a6ba['model'],_0x37a6ba[_0x607e('0x23')]);_0x8dc6a3['attributes']=_[_0x607e('0x2a')](_0x37a6ba['model'],qs['fields'](_0x443cde[_0x607e('0x23')]['fields']));_0x8dc6a3[_0x607e('0x2c')]=_0x8dc6a3[_0x607e('0x2c')]['length']?_0x8dc6a3[_0x607e('0x2c')]:_0x37a6ba[_0x607e('0x27')];_0x8dc6a3[_0x607e('0x4f')]=qs[_0x607e('0x41')](_0x443cde[_0x607e('0x23')][_0x607e('0x41')]);_0x8dc6a3[_0x607e('0x21')]=qs[_0x607e('0x29')](_[_0x607e('0x42')](_0x443cde[_0x607e('0x23')],_0x37a6ba[_0x607e('0x29')]));if(_0x443cde[_0x607e('0x23')]['filter']){_0x8dc6a3['where']=_[_0x607e('0x46')](_0x8dc6a3[_0x607e('0x21')],{'$or':_[_0x607e('0x45')](_0x8dc6a3[_0x607e('0x2c')],function(_0x383d4a){var _0x41ec16={};_0x41ec16[_0x383d4a]={'$like':'%'+_0x443cde['query']['filter']+'%'};return _0x41ec16;})});}_0x8dc6a3=_[_0x607e('0x46')]({},_0x8dc6a3,_0x443cde['options']);return _0x52f81c[_0x607e('0x50')](_0x8dc6a3);}})[_0x607e('0x12')](function(_0x968c10){if(_0x968c10){_0x5542fa=_0x968c10[_0x607e('0x2d')];if(!_0x443cde[_0x607e('0x23')]['hasOwnProperty'](_0x607e('0x40'))){_0x8dc6a3[_0x607e('0xc')]=qs['limit'](_0x443cde[_0x607e('0x23')]['limit']);_0x8dc6a3[_0x607e('0xb')]=qs['offset'](_0x443cde[_0x607e('0x23')]['offset']);}return _0x52f81c[_0x607e('0x50')](_0x8dc6a3);}})[_0x607e('0x12')](function(_0x230906){if(_0x230906){return _0x230906?{'count':_0x5542fa,'rows':_0x230906}:null;}})[_0x607e('0x12')](respondWithResult(_0x524142,null))[_0x607e('0x31')](handleError(_0x524142,null));};exports[_0x607e('0x51')]=function(_0x27e3c3,_0x3b7e87){var _0x116085=_0x27e3c3[_0x607e('0x52')][_0x607e('0x53')];return db[_0x607e('0x4e')][_0x607e('0x24')]({'where':{'id':_0x116085},'attributes':['id'],'include':[{'model':db[_0x607e('0x54')],'as':_0x607e('0x55'),'attributes':['id',_0x607e('0x1a'),_0x607e('0x56'),'voicePause','interface'],'raw':!![]}]})[_0x607e('0x12')](function(_0x5277ca){if(_0x5277ca){var _0x28fc19=_[_0x607e('0x57')](_0x5277ca,function(_0x5d4b4f){var _0x34229c=_0x5d4b4f[_0x607e('0x34')]({'plain':!![]});return _0x34229c[_0x607e('0x55')];});return db[_0x607e('0x1d')][_0x607e('0x30')]({'where':{'id':_0x27e3c3[_0x607e('0x3a')]['id']}})['then'](function(_0x127df0){return db['sequelize'][_0x607e('0x58')](function(_0x30d26b){return _0x127df0[_0x607e('0x51')](_0x116085,{'transaction':_0x30d26b})[_0x607e('0x12')](function(){return BPromise[_0x607e('0x59')](_0x28fc19,function(_0x454260){return db[_0x607e('0x3e')][_0x607e('0x5a')]({'where':{'UserId':_0x454260['id'],'MailQueueId':_0x27e3c3['params']['id']},'transaction':_0x30d26b});});})[_0x607e('0x12')](function(){_0x28fc19[_0x607e('0x5b')](function(_0x37cf5e){socket[_0x607e('0x5c')]('userMailQueue:save',{'UserId':_0x37cf5e['id'],'MailQueueId':_0x127df0['id']});});});});});}})[_0x607e('0x12')](respondWithStatusCode(_0x3b7e87,null))[_0x607e('0x31')](handleError(_0x3b7e87,null));};exports['removeTeams']=function(_0x17cc23,_0x131da1){return db[_0x607e('0x4e')]['findAll']({'where':{'id':_0x17cc23[_0x607e('0x23')][_0x607e('0x53')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x607e('0x55'),'attributes':['id'],'raw':!![]}]})[_0x607e('0x12')](handleEntityNotFound(_0x131da1,null))[_0x607e('0x12')](function(_0x8ec246){var _0x2c878e=_[_0x607e('0x45')](_0x8ec246,'id');var _0x15d38c=[];var _0x62c049=[];var _0x13ecce=squel[_0x607e('0x5d')]();_0x13ecce[_0x607e('0x5e')]('tq.TeamId')[_0x607e('0x5f')](_0x607e('0x60'),'tq')[_0x607e('0x61')](_0x607e('0x62'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x607e('0x21')](_0x607e('0x63'),_0x17cc23[_0x607e('0x3a')]['id']);for(var _0x1fcc62=0x0;_0x1fcc62<_0x8ec246[_0x607e('0x2d')];_0x1fcc62+=0x1){let _0x567764=_0x8ec246[_0x1fcc62];for(var _0x5e8d99=0x0;_0x5e8d99<_0x567764['Agents']['length'];_0x5e8d99+=0x1){let _0x5b374d=_0x567764['Agents'][_0x5e8d99];var _0x37745e=_0x13ecce[_0x607e('0x64')]();_0x37745e[_0x607e('0x21')](_0x607e('0x65'),_0x5b374d['id']);_0x62c049[_0x607e('0x66')](db[_0x607e('0x67')]['query'](_0x37745e['toString'](),{'type':db[_0x607e('0x67')][_0x607e('0x68')][_0x607e('0x69')]})[_0x607e('0x12')](function(_0x1142a2){if(_0x1142a2[_0x607e('0x2d')]===0x1){return _0x5b374d['id'];}else{var _0x2e57ce=_[_0x607e('0x6a')](_[_0x607e('0x45')](_0x1142a2,_0x607e('0x6b')),function(_0x55cf4a){return _[_0x607e('0x6c')](_0x2c878e,_0x55cf4a);});if(_0x2e57ce){return _0x5b374d['id'];}}}));}}return BPromise[_0x607e('0x6d')](_0x62c049)[_0x607e('0x12')](function(_0x59ce60){_0x15d38c=_(_0x15d38c)['union'](_0x59ce60)[_0x607e('0x6e')]()[_0x607e('0x6f')]();return db['MailQueue'][_0x607e('0x30')]({'where':{'id':_0x17cc23[_0x607e('0x3a')]['id']}})[_0x607e('0x12')](function(_0x49980d){return db[_0x607e('0x67')][_0x607e('0x58')](function(_0x19d81b){return _0x49980d[_0x607e('0x70')](_0x17cc23[_0x607e('0x23')][_0x607e('0x53')],{'transaction':_0x19d81b})[_0x607e('0x12')](function(){if(!_[_0x607e('0x71')](_0x15d38c)){return _0x49980d[_0x607e('0x72')](_0x15d38c,{'transaction':_0x19d81b});}})[_0x607e('0x12')](function(){_0x15d38c[_0x607e('0x5b')](function(_0x53c13e){socket[_0x607e('0x5c')]('userMailQueue:remove',{'UserId':_0x53c13e,'MailQueueId':_0x49980d['id']});});});});});});})['then'](respondWithStatusCode(_0x131da1,null))[_0x607e('0x31')](handleError(_0x131da1,null));};exports[_0x607e('0x73')]=function(_0x335a4c,_0xc93231){return db[_0x607e('0x1d')]['find']({'where':{'id':_0x335a4c[_0x607e('0x3a')]['id']}})[_0x607e('0x12')](handleEntityNotFound(_0xc93231,null))['then'](function(_0x1b2989){if(_0x1b2989){return _0x1b2989['addAgents'](_0x335a4c[_0x607e('0x52')]['ids'],_[_0x607e('0x74')](_0x335a4c[_0x607e('0x52')],[_0x607e('0x53'),'id'])||{})['spread'](function(_0xdce6dd){for(var _0x3d14a3=0x0;_0x3d14a3<_0x335a4c['body'][_0x607e('0x53')][_0x607e('0x2d')];_0x3d14a3+=0x1){socket[_0x607e('0x5c')]('userMailQueue:save',{'UserId':Number(_0x335a4c[_0x607e('0x52')][_0x607e('0x53')][_0x3d14a3]),'MailQueueId':Number(_0x335a4c[_0x607e('0x3a')]['id'])});}return _0xdce6dd;});}})[_0x607e('0x12')](respondWithResult(_0xc93231,null))[_0x607e('0x31')](handleError(_0xc93231,null));};exports[_0x607e('0x72')]=function(_0x2ad6dd,_0x13ee84){return db[_0x607e('0x1d')][_0x607e('0x30')]({'where':{'id':_0x2ad6dd[_0x607e('0x3a')]['id']}})[_0x607e('0x12')](handleEntityNotFound(_0x13ee84,null))[_0x607e('0x12')](function(_0x33f7c4){if(_0x33f7c4){return _0x33f7c4['removeAgents'](_0x2ad6dd[_0x607e('0x23')][_0x607e('0x53')])[_0x607e('0x12')](function(){if(_[_0x607e('0x75')](_0x2ad6dd['query']['ids'])){for(var _0x30a39c=0x0;_0x30a39c<_0x2ad6dd[_0x607e('0x23')][_0x607e('0x53')][_0x607e('0x2d')];_0x30a39c+=0x1){socket[_0x607e('0x5c')](_0x607e('0x76'),{'UserId':Number(_0x2ad6dd[_0x607e('0x23')][_0x607e('0x53')][_0x30a39c]),'MailQueueId':Number(_0x2ad6dd[_0x607e('0x3a')]['id'])});}}else{socket[_0x607e('0x5c')](_0x607e('0x76'),{'UserId':Number(_0x2ad6dd['query'][_0x607e('0x53')]),'MailQueueId':Number(_0x2ad6dd[_0x607e('0x3a')]['id'])});}});}})[_0x607e('0x12')](respondWithStatusCode(_0x13ee84,null))['catch'](handleError(_0x13ee84,null));};exports[_0x607e('0x77')]=function(_0x57d9cb,_0x396e63){var _0x39388f={};var _0x38fc56={};var _0x599f75;var _0x3844e6;return db[_0x607e('0x1d')][_0x607e('0x3d')]({'where':{'id':_0x57d9cb[_0x607e('0x3a')]['id']}})[_0x607e('0x12')](handleEntityNotFound(_0x396e63,null))['then'](function(_0x37d3ed){if(_0x37d3ed){_0x599f75=_0x37d3ed;_0x38fc56[_0x607e('0x27')]=_[_0x607e('0x28')](db['User'][_0x607e('0x1e')]);_0x38fc56[_0x607e('0x23')]=_['keys'](_0x57d9cb[_0x607e('0x23')]);_0x38fc56[_0x607e('0x29')]=_[_0x607e('0x2a')](_0x38fc56[_0x607e('0x27')],_0x38fc56[_0x607e('0x23')]);_0x39388f['attributes']=_[_0x607e('0x2a')](_0x38fc56[_0x607e('0x27')],qs[_0x607e('0x2b')](_0x57d9cb[_0x607e('0x23')][_0x607e('0x2b')]));_0x39388f['attributes']=_0x39388f[_0x607e('0x2c')]['length']?_0x39388f[_0x607e('0x2c')]:_0x38fc56[_0x607e('0x27')];_0x39388f[_0x607e('0x4f')]=qs[_0x607e('0x41')](_0x57d9cb['query'][_0x607e('0x41')]);_0x39388f[_0x607e('0x21')]=qs[_0x607e('0x29')](_[_0x607e('0x42')](_0x57d9cb[_0x607e('0x23')],_0x38fc56['filters']));if(_0x57d9cb['query'][_0x607e('0x44')]){_0x39388f[_0x607e('0x21')]=_[_0x607e('0x46')](_0x39388f[_0x607e('0x21')],{'$or':_[_0x607e('0x45')](_0x39388f[_0x607e('0x2c')],function(_0x240341){var _0x55913b={};_0x55913b[_0x240341]={'$like':'%'+_0x57d9cb[_0x607e('0x23')][_0x607e('0x44')]+'%'};return _0x55913b;})});}_0x39388f=_[_0x607e('0x46')]({},_0x39388f,_0x57d9cb['options']);return _0x599f75[_0x607e('0x77')](_0x39388f);}})['then'](function(_0x3e7ea7){if(_0x3e7ea7){_0x3844e6=_0x3e7ea7[_0x607e('0x2d')];if(!_0x57d9cb['query']['hasOwnProperty'](_0x607e('0x40'))){_0x39388f[_0x607e('0xc')]=qs['limit'](_0x57d9cb[_0x607e('0x23')]['limit']);_0x39388f[_0x607e('0xb')]=qs['offset'](_0x57d9cb['query'][_0x607e('0xb')]);}return _0x599f75[_0x607e('0x77')](_0x39388f);}})['then'](function(_0x18f8dd){if(_0x18f8dd){return _0x18f8dd?{'count':_0x3844e6,'rows':_0x18f8dd}:null;}})[_0x607e('0x12')](respondWithResult(_0x396e63,null))[_0x607e('0x31')](handleError(_0x396e63,null));};