9ecf8a99eb2d73e1413b028e4d7e6ab2983bb861
[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 _0x0460=['name','send','index','map','MailQueue','fieldName','type','where','include','query','findAll','rows','catch','show','params','keys','rawAttributes','filters','model','attributes','intersection','fields','includeAll','merge','options','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','error','describe','UserMailQueue','length','nolimit','order','sort','pick','filter','User','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','forEach','userMailQueue:save','field','tq.TeamId','team_has_mail_queues','MailQueueId\x20=\x20?','clone','push','toString','QueryTypes','every','includes','all','union','compact','value','removeTeams','ids','isEmpty','removeAgents','emit','userMailQueue:remove','addAgents','spread','isArray','getAgents','findOne','hasOwnProperty','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','redis','defaults','./mailQueue.socket','register','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','update','then','destroy','get','MailQueues','UserProfileResource'];(function(_0x4e9628,_0x250573){var _0x27bc8c=function(_0xb3b7ae){while(--_0xb3b7ae){_0x4e9628['push'](_0x4e9628['shift']());}};_0x27bc8c(++_0x250573);}(_0x0460,0xd2));var _0x0046=function(_0x218819,_0x4b151a){_0x218819=_0x218819-0x0;var _0x5d3a33=_0x0460[_0x218819];return _0x5d3a33;};'use strict';var BPromise=require(_0x0046('0x0'));var util=require(_0x0046('0x1'));var _=require(_0x0046('0x2'));var squel=require(_0x0046('0x3'));var Redis=require(_0x0046('0x4'));var qs=require(_0x0046('0x5'));var logger=require(_0x0046('0x6'))(_0x0046('0x7'));var config=require(_0x0046('0x8'));var db=require('../../mysqldb')['db'];config[_0x0046('0x9')]=_[_0x0046('0xa')](config[_0x0046('0x9')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0046('0x9')]));require(_0x0046('0xb'))[_0x0046('0xc')](socket);function respondWithStatusCode(_0x9024af,_0x3dbdef){_0x3dbdef=_0x3dbdef||0xcc;return function(_0x2b861f){if(_0x2b861f){return _0x9024af[_0x0046('0xd')](_0x3dbdef);}return _0x9024af[_0x0046('0xe')](_0x3dbdef)[_0x0046('0xf')]();};}function respondWithResult(_0x355afa,_0x1dae7f){_0x1dae7f=_0x1dae7f||0xc8;return function(_0x1c97bd){if(_0x1c97bd){return _0x355afa[_0x0046('0xe')](_0x1dae7f)['json'](_0x1c97bd);}};}function respondWithFilteredResult(_0x6d760b,_0xdac84){return function(_0x4b5678){if(_0x4b5678){var _0x31b69b=typeof _0xdac84[_0x0046('0x10')]===_0x0046('0x11')&&typeof _0xdac84[_0x0046('0x12')]===_0x0046('0x11');var _0x292401=_0x4b5678[_0x0046('0x13')];var _0x269c57=_0x31b69b?0x0:_0xdac84[_0x0046('0x10')];var _0x4170d4=_0x31b69b?_0x4b5678[_0x0046('0x13')]:_0xdac84[_0x0046('0x10')]+_0xdac84[_0x0046('0x12')];var _0x1f9619;if(_0x4170d4>=_0x292401){_0x4170d4=_0x292401;_0x1f9619=0xc8;}else{_0x1f9619=0xce;}_0x6d760b[_0x0046('0xe')](_0x1f9619);return _0x6d760b['set'](_0x0046('0x14'),_0x269c57+'-'+_0x4170d4+'/'+_0x292401)[_0x0046('0x15')](_0x4b5678);}return null;};}function saveUpdates(_0x43d9a9){return function(_0x1b48c4){if(_0x1b48c4){return _0x1b48c4[_0x0046('0x16')](_0x43d9a9)[_0x0046('0x17')](function(_0x837b3b){return _0x837b3b;});}return null;};}function removeEntity(_0x1d3714){return function(_0x173263){if(_0x173263){return _0x173263[_0x0046('0x18')]()[_0x0046('0x17')](function(){var _0x33c47d=_0x173263[_0x0046('0x19')]({'plain':!![]});var _0xb53582=_0x0046('0x1a');return db[_0x0046('0x1b')][_0x0046('0x18')]({'where':{'type':_0xb53582,'resourceId':_0x33c47d['id']}})[_0x0046('0x17')](function(){return _0x173263;});})[_0x0046('0x17')](function(){_0x1d3714[_0x0046('0xe')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2ae3ad){return function(_0xfb3177){if(!_0xfb3177){_0x2ae3ad[_0x0046('0xd')](0x194);}return _0xfb3177;};}function handleError(_0x2eb0bd,_0xf88f82){_0xf88f82=_0xf88f82||0x1f4;return function(_0x146f84){logger['error'](_0x146f84['stack']);if(_0x146f84[_0x0046('0x1c')]){delete _0x146f84[_0x0046('0x1c')];}_0x2eb0bd[_0x0046('0xe')](_0xf88f82)[_0x0046('0x1d')](_0x146f84);};}exports[_0x0046('0x1e')]=function(_0x36a2ff,_0x9e9a96){var _0x851755={};var _0x81cd5f={'count':0x0,'rows':[]};var _0x43fcae=_[_0x0046('0x1f')](db[_0x0046('0x20')]['rawAttributes'],function(_0x2607e6){return{'name':_0x2607e6[_0x0046('0x21')],'type':_0x2607e6[_0x0046('0x22')]['key']};});_0x851755=qs['getOptions'](_0x43fcae,_0x36a2ff);var _0x428d43={'where':_0x851755[_0x0046('0x23')]};return db[_0x0046('0x20')][_0x0046('0x13')](_0x428d43)[_0x0046('0x17')](function(_0xd003fb){_0x81cd5f[_0x0046('0x13')]=_0xd003fb;_0x851755[_0x0046('0x24')]=qs[_0x0046('0x24')](_0x36a2ff[_0x0046('0x25')]);return db['MailQueue'][_0x0046('0x26')](_0x851755);})[_0x0046('0x17')](function(_0x1a3275){_0x81cd5f[_0x0046('0x27')]=_0x1a3275;return _0x81cd5f;})[_0x0046('0x17')](respondWithFilteredResult(_0x9e9a96,_0x851755))[_0x0046('0x28')](handleError(_0x9e9a96,null));};exports[_0x0046('0x29')]=function(_0x22197a,_0x1535d1){var _0x1d1dfe={'raw':!![],'where':{'id':_0x22197a[_0x0046('0x2a')]['id']}},_0x5184d0={};_0x5184d0['model']=_[_0x0046('0x2b')](db[_0x0046('0x20')][_0x0046('0x2c')]);_0x5184d0[_0x0046('0x25')]=_[_0x0046('0x2b')](_0x22197a[_0x0046('0x25')]);_0x5184d0[_0x0046('0x2d')]=_['intersection'](_0x5184d0[_0x0046('0x2e')],_0x5184d0['query']);_0x1d1dfe[_0x0046('0x2f')]=_[_0x0046('0x30')](_0x5184d0[_0x0046('0x2e')],qs[_0x0046('0x31')](_0x22197a[_0x0046('0x25')]['fields']));_0x1d1dfe[_0x0046('0x2f')]=_0x1d1dfe[_0x0046('0x2f')]['length']?_0x1d1dfe[_0x0046('0x2f')]:_0x5184d0['model'];if(_0x22197a[_0x0046('0x25')][_0x0046('0x32')]){_0x1d1dfe[_0x0046('0x24')]=[{'all':!![]}];}_0x1d1dfe=_[_0x0046('0x33')]({},_0x1d1dfe,_0x22197a[_0x0046('0x34')]);return db[_0x0046('0x20')][_0x0046('0x35')](_0x1d1dfe)['then'](handleEntityNotFound(_0x1535d1,null))[_0x0046('0x17')](respondWithResult(_0x1535d1,null))[_0x0046('0x28')](handleError(_0x1535d1,null));};exports[_0x0046('0x36')]=function(_0x3eaf76,_0x1c4e81){return db[_0x0046('0x20')]['create'](_0x3eaf76[_0x0046('0x37')],{})['then'](function(_0x7a9eb4){var _0xfec577=_0x3eaf76[_0x0046('0x38')][_0x0046('0x19')]({'plain':!![]});if(!_0xfec577)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xfec577[_0x0046('0x39')]===_0x0046('0x38')){var _0x3c786f=_0x7a9eb4['get']({'plain':!![]});var _0x40dddd=_0x0046('0x1a');return db[_0x0046('0x3a')][_0x0046('0x35')]({'where':{'name':_0x40dddd,'userProfileId':_0xfec577[_0x0046('0x3b')]},'raw':!![]})[_0x0046('0x17')](function(_0x59cfc4){if(_0x59cfc4&&_0x59cfc4[_0x0046('0x3c')]===0x0){return db[_0x0046('0x1b')]['create']({'name':_0x3c786f['name'],'resourceId':_0x3c786f['id'],'type':_0x59cfc4[_0x0046('0x1c')],'sectionId':_0x59cfc4['id']},{})['then'](function(){return _0x7a9eb4;});}else{return _0x7a9eb4;}})[_0x0046('0x28')](function(_0x4f5d97){logger[_0x0046('0x3d')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x4f5d97);throw _0x4f5d97;});}return _0x7a9eb4;})['then'](respondWithResult(_0x1c4e81,0xc9))[_0x0046('0x28')](handleError(_0x1c4e81,null));};exports[_0x0046('0x16')]=function(_0x1c20de,_0x119080){if(_0x1c20de[_0x0046('0x37')]['id']){delete _0x1c20de[_0x0046('0x37')]['id'];}return db['MailQueue'][_0x0046('0x35')]({'where':{'id':_0x1c20de[_0x0046('0x2a')]['id']}})['then'](handleEntityNotFound(_0x119080,null))[_0x0046('0x17')](saveUpdates(_0x1c20de[_0x0046('0x37')],null))[_0x0046('0x17')](respondWithResult(_0x119080,null))[_0x0046('0x28')](handleError(_0x119080,null));};exports[_0x0046('0x18')]=function(_0x4c1464,_0x5a0bff){return db[_0x0046('0x20')][_0x0046('0x35')]({'where':{'id':_0x4c1464[_0x0046('0x2a')]['id']}})['then'](handleEntityNotFound(_0x5a0bff,null))[_0x0046('0x17')](removeEntity(_0x5a0bff,null))[_0x0046('0x28')](handleError(_0x5a0bff,null));};exports[_0x0046('0x3e')]=function(_0xbf4fe1,_0x147b28){return db[_0x0046('0x20')][_0x0046('0x3e')]()[_0x0046('0x17')](respondWithResult(_0x147b28,null))[_0x0046('0x28')](handleError(_0x147b28,null));};exports['getMembers']=function(_0x470168,_0xd8ed82){var _0x45e6ba={'raw':!![],'where':{}},_0x31f759={},_0x2d17e7;return db[_0x0046('0x20')]['findOne']({'where':{'id':_0x470168['params']['id']}})[_0x0046('0x17')](handleEntityNotFound(_0xd8ed82,null))[_0x0046('0x17')](function(_0x32948b){if(_0x32948b){_0x2d17e7=_0x32948b[_0x0046('0x19')]({'plain':!![]});_0x31f759['model']=_[_0x0046('0x2b')](db[_0x0046('0x3f')][_0x0046('0x2c')]);_0x31f759['query']=_['keys'](_0x470168['query']);_0x31f759['filters']=_[_0x0046('0x30')](_0x31f759[_0x0046('0x2e')],_0x31f759['query']);_0x45e6ba[_0x0046('0x2f')]=_[_0x0046('0x30')](_0x31f759['model'],qs[_0x0046('0x31')](_0x470168[_0x0046('0x25')]['fields']));_0x45e6ba['attributes']=_0x45e6ba[_0x0046('0x2f')][_0x0046('0x40')]?_0x45e6ba[_0x0046('0x2f')]:_0x31f759[_0x0046('0x2e')];if(!_0x470168[_0x0046('0x25')]['hasOwnProperty'](_0x0046('0x41'))){_0x45e6ba['limit']=qs[_0x0046('0x12')](_0x470168[_0x0046('0x25')][_0x0046('0x12')]);_0x45e6ba[_0x0046('0x10')]=qs['offset'](_0x470168[_0x0046('0x25')]['offset']);}_0x45e6ba[_0x0046('0x42')]=qs['sort'](_0x470168['query'][_0x0046('0x43')]);_0x45e6ba[_0x0046('0x23')]=qs[_0x0046('0x2d')](_[_0x0046('0x44')](_0x470168[_0x0046('0x25')],_0x31f759[_0x0046('0x2d')]));_0x45e6ba[_0x0046('0x23')]['MailQueueId']=_0x32948b['id'];if(_0x470168[_0x0046('0x25')][_0x0046('0x45')]){_0x45e6ba[_0x0046('0x23')]=_[_0x0046('0x33')](_0x45e6ba['where'],{'$or':_[_0x0046('0x1f')](_0x45e6ba[_0x0046('0x2f')],function(_0x525f58){var _0x1ffcad={};_0x1ffcad[_0x525f58]={'$like':'%'+_0x470168[_0x0046('0x25')][_0x0046('0x45')]+'%'};return _0x1ffcad;})});}_0x45e6ba=_['merge']({},_0x45e6ba,_0x470168['options']);return db[_0x0046('0x3f')][_0x0046('0x26')](_0x45e6ba);}})[_0x0046('0x17')](function(_0x7f1283){if(_0x7f1283){return db[_0x0046('0x46')][_0x0046('0x47')]({'where':{'id':_[_0x0046('0x1f')](_0x7f1283,_0x0046('0x48')),'role':_0x0046('0x49')},'attributes':['id','name',_0x0046('0x4a'),_0x0046('0x4b'),_0x0046('0x4c')]});}})['then'](function(_0x3923fc){if(_0x3923fc){return{'count':_0x3923fc[_0x0046('0x13')],'rows':_[_0x0046('0x1f')](_0x3923fc['rows'],function(_0x482e00){return{'membername':_0x482e00[_0x0046('0x1c')],'UserId':_0x482e00['id'],'queue_name':_0x2d17e7[_0x0046('0x1c')],'MailQueueId':_0x2d17e7['id'],'interface':util[_0x0046('0x4d')](_0x0046('0x4e'),_0x0046('0x4f'),_0x482e00[_0x0046('0x1c')]),'penalty':0x0,'paused':_0x482e00[_0x0046('0x4a')],'createdAt':_0x482e00[_0x0046('0x4c')],'updatedAt':_0x482e00['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x0046('0x17')](respondWithFilteredResult(_0xd8ed82,_0x45e6ba))[_0x0046('0x28')](handleError(_0xd8ed82,null));};exports[_0x0046('0x50')]=function(_0x20f672,_0xf7428b){var _0x3b7b53={};var _0x5c0a1d={};var _0x3b4fc1;var _0x2dc831;return db[_0x0046('0x20')]['findOne']({'where':{'id':_0x20f672[_0x0046('0x2a')]['id']}})['then'](handleEntityNotFound(_0xf7428b,null))[_0x0046('0x17')](function(_0x4cc9c2){if(_0x4cc9c2){_0x3b4fc1=_0x4cc9c2;_0x5c0a1d[_0x0046('0x2e')]=_[_0x0046('0x2b')](db[_0x0046('0x51')][_0x0046('0x2c')]);_0x5c0a1d['query']=_[_0x0046('0x2b')](_0x20f672[_0x0046('0x25')]);_0x5c0a1d[_0x0046('0x2d')]=_['intersection'](_0x5c0a1d[_0x0046('0x2e')],_0x5c0a1d['query']);_0x3b7b53['attributes']=_[_0x0046('0x30')](_0x5c0a1d[_0x0046('0x2e')],qs[_0x0046('0x31')](_0x20f672['query']['fields']));_0x3b7b53[_0x0046('0x2f')]=_0x3b7b53['attributes'][_0x0046('0x40')]?_0x3b7b53[_0x0046('0x2f')]:_0x5c0a1d['model'];_0x3b7b53[_0x0046('0x42')]=qs[_0x0046('0x43')](_0x20f672[_0x0046('0x25')][_0x0046('0x43')]);_0x3b7b53[_0x0046('0x23')]=qs[_0x0046('0x2d')](_[_0x0046('0x44')](_0x20f672['query'],_0x5c0a1d[_0x0046('0x2d')]));if(_0x20f672[_0x0046('0x25')][_0x0046('0x45')]){_0x3b7b53[_0x0046('0x23')]=_[_0x0046('0x33')](_0x3b7b53[_0x0046('0x23')],{'$or':_[_0x0046('0x1f')](_0x3b7b53[_0x0046('0x2f')],function(_0xdeaa30){var _0x19ff59={};_0x19ff59[_0xdeaa30]={'$like':'%'+_0x20f672[_0x0046('0x25')][_0x0046('0x45')]+'%'};return _0x19ff59;})});}_0x3b7b53=_['merge']({},_0x3b7b53,_0x20f672[_0x0046('0x34')]);return _0x3b4fc1[_0x0046('0x50')](_0x3b7b53);}})[_0x0046('0x17')](function(_0x5139c5){if(_0x5139c5){_0x2dc831=_0x5139c5[_0x0046('0x40')];if(!_0x20f672['query']['hasOwnProperty'](_0x0046('0x41'))){_0x3b7b53[_0x0046('0x12')]=qs[_0x0046('0x12')](_0x20f672[_0x0046('0x25')][_0x0046('0x12')]);_0x3b7b53[_0x0046('0x10')]=qs[_0x0046('0x10')](_0x20f672[_0x0046('0x25')]['offset']);}return _0x3b4fc1[_0x0046('0x50')](_0x3b7b53);}})[_0x0046('0x17')](function(_0x4d1f2b){if(_0x4d1f2b){return _0x4d1f2b?{'count':_0x2dc831,'rows':_0x4d1f2b}:null;}})[_0x0046('0x17')](respondWithResult(_0xf7428b,null))['catch'](handleError(_0xf7428b,null));};exports[_0x0046('0x52')]=function(_0x5502ac,_0x202c70){var _0x52766c=_0x5502ac[_0x0046('0x37')]['ids'];return db[_0x0046('0x51')][_0x0046('0x26')]({'where':{'id':_0x52766c},'attributes':['id'],'include':[{'model':db[_0x0046('0x46')],'as':_0x0046('0x53'),'attributes':['id','name',_0x0046('0x54'),_0x0046('0x55'),_0x0046('0x56')],'raw':!![]}]})['then'](function(_0x259a96){if(_0x259a96){var _0x278c93=_[_0x0046('0x57')](_0x259a96,function(_0x3e14f8){var _0x2f10dc=_0x3e14f8['get']({'plain':!![]});return _0x2f10dc[_0x0046('0x53')];});return db[_0x0046('0x20')][_0x0046('0x35')]({'where':{'id':_0x5502ac['params']['id']}})[_0x0046('0x17')](function(_0xc4e699){return db[_0x0046('0x58')][_0x0046('0x59')](function(_0x2a42d4){return _0xc4e699[_0x0046('0x52')](_0x52766c,{'transaction':_0x2a42d4})['then'](function(){return BPromise[_0x0046('0x5a')](_0x278c93,function(_0x9255a6){return db[_0x0046('0x3f')]['findOrCreate']({'where':{'UserId':_0x9255a6['id'],'MailQueueId':_0x5502ac['params']['id']},'transaction':_0x2a42d4});});})[_0x0046('0x17')](function(){_0x278c93[_0x0046('0x5b')](function(_0x44a4a8){socket['emit'](_0x0046('0x5c'),{'UserId':_0x44a4a8['id'],'MailQueueId':_0xc4e699['id']});});});});});}})[_0x0046('0x17')](respondWithStatusCode(_0x202c70,null))['catch'](handleError(_0x202c70,null));};exports['removeTeams']=function(_0x304fcd,_0x5817f8){return db['Team'][_0x0046('0x26')]({'where':{'id':_0x304fcd['query']['ids']},'attributes':['id'],'include':[{'model':db[_0x0046('0x46')],'as':_0x0046('0x53'),'attributes':['id'],'raw':!![]}]})[_0x0046('0x17')](handleEntityNotFound(_0x5817f8,null))[_0x0046('0x17')](function(_0x3784a3){var _0x1f808d=_[_0x0046('0x1f')](_0x3784a3,'id');var _0xac0bc=[];var _0x3bff14=[];var _0x9eb055=squel['select']();_0x9eb055[_0x0046('0x5d')](_0x0046('0x5e'))['from'](_0x0046('0x5f'),'tq')['join']('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0x0046('0x23')](_0x0046('0x60'),_0x304fcd['params']['id']);for(var _0x482846=0x0;_0x482846<_0x3784a3[_0x0046('0x40')];_0x482846+=0x1){let _0x3516ff=_0x3784a3[_0x482846];for(var _0x456f43=0x0;_0x456f43<_0x3516ff[_0x0046('0x53')]['length'];_0x456f43+=0x1){let _0x4da10d=_0x3516ff[_0x0046('0x53')][_0x456f43];var _0x19ea54=_0x9eb055[_0x0046('0x61')]();_0x19ea54[_0x0046('0x23')]('ut.UserId\x20=\x20?',_0x4da10d['id']);_0x3bff14[_0x0046('0x62')](db[_0x0046('0x58')][_0x0046('0x25')](_0x19ea54[_0x0046('0x63')](),{'type':db[_0x0046('0x58')][_0x0046('0x64')]['SELECT']})['then'](function(_0x709237){if(_0x709237[_0x0046('0x40')]===0x1){return _0x4da10d['id'];}else{var _0x2fed10=_[_0x0046('0x65')](_[_0x0046('0x1f')](_0x709237,'TeamId'),function(_0x304dbb){return _[_0x0046('0x66')](_0x1f808d,_0x304dbb);});if(_0x2fed10){return _0x4da10d['id'];}}}));}}return BPromise[_0x0046('0x67')](_0x3bff14)[_0x0046('0x17')](function(_0x15608d){_0xac0bc=_(_0xac0bc)[_0x0046('0x68')](_0x15608d)[_0x0046('0x69')]()[_0x0046('0x6a')]();return db[_0x0046('0x20')][_0x0046('0x35')]({'where':{'id':_0x304fcd[_0x0046('0x2a')]['id']}})[_0x0046('0x17')](function(_0x1f84c7){return db['sequelize'][_0x0046('0x59')](function(_0x5ed78d){return _0x1f84c7[_0x0046('0x6b')](_0x304fcd[_0x0046('0x25')][_0x0046('0x6c')],{'transaction':_0x5ed78d})[_0x0046('0x17')](function(){if(!_[_0x0046('0x6d')](_0xac0bc)){return _0x1f84c7[_0x0046('0x6e')](_0xac0bc,{'transaction':_0x5ed78d});}})[_0x0046('0x17')](function(){_0xac0bc['forEach'](function(_0x95f35c){socket[_0x0046('0x6f')](_0x0046('0x70'),{'UserId':_0x95f35c,'MailQueueId':_0x1f84c7['id']});});});});});});})[_0x0046('0x17')](respondWithStatusCode(_0x5817f8,null))[_0x0046('0x28')](handleError(_0x5817f8,null));};exports[_0x0046('0x71')]=function(_0x1ef6d6,_0x165cb8){return db[_0x0046('0x20')][_0x0046('0x35')]({'where':{'id':_0x1ef6d6[_0x0046('0x2a')]['id']}})[_0x0046('0x17')](handleEntityNotFound(_0x165cb8,null))[_0x0046('0x17')](function(_0x10295c){if(_0x10295c){return _0x10295c[_0x0046('0x71')](_0x1ef6d6[_0x0046('0x37')][_0x0046('0x6c')],_['omit'](_0x1ef6d6[_0x0046('0x37')],[_0x0046('0x6c'),'id'])||{})[_0x0046('0x72')](function(_0xdc396){for(var _0x105522=0x0;_0x105522<_0x1ef6d6['body'][_0x0046('0x6c')][_0x0046('0x40')];_0x105522+=0x1){socket[_0x0046('0x6f')](_0x0046('0x5c'),{'UserId':Number(_0x1ef6d6[_0x0046('0x37')]['ids'][_0x105522]),'MailQueueId':Number(_0x1ef6d6[_0x0046('0x2a')]['id'])});}return _0xdc396;});}})[_0x0046('0x17')](respondWithResult(_0x165cb8,null))['catch'](handleError(_0x165cb8,null));};exports[_0x0046('0x6e')]=function(_0x2ac4a6,_0x6335b1){return db[_0x0046('0x20')][_0x0046('0x35')]({'where':{'id':_0x2ac4a6[_0x0046('0x2a')]['id']}})[_0x0046('0x17')](handleEntityNotFound(_0x6335b1,null))['then'](function(_0x2a3534){if(_0x2a3534){return _0x2a3534[_0x0046('0x6e')](_0x2ac4a6['query'][_0x0046('0x6c')])[_0x0046('0x17')](function(){if(_[_0x0046('0x73')](_0x2ac4a6[_0x0046('0x25')]['ids'])){for(var _0x8466c=0x0;_0x8466c<_0x2ac4a6[_0x0046('0x25')][_0x0046('0x6c')]['length'];_0x8466c+=0x1){socket['emit'](_0x0046('0x70'),{'UserId':Number(_0x2ac4a6['query']['ids'][_0x8466c]),'MailQueueId':Number(_0x2ac4a6['params']['id'])});}}else{socket[_0x0046('0x6f')](_0x0046('0x70'),{'UserId':Number(_0x2ac4a6[_0x0046('0x25')][_0x0046('0x6c')]),'MailQueueId':Number(_0x2ac4a6[_0x0046('0x2a')]['id'])});}});}})[_0x0046('0x17')](respondWithStatusCode(_0x6335b1,null))[_0x0046('0x28')](handleError(_0x6335b1,null));};exports[_0x0046('0x74')]=function(_0x56b1d6,_0x5708bc){var _0x44ed3a={};var _0x4e2a98={};var _0x43c175;var _0x48d973;return db[_0x0046('0x20')][_0x0046('0x75')]({'where':{'id':_0x56b1d6[_0x0046('0x2a')]['id']}})[_0x0046('0x17')](handleEntityNotFound(_0x5708bc,null))[_0x0046('0x17')](function(_0xea0b70){if(_0xea0b70){_0x43c175=_0xea0b70;_0x4e2a98['model']=_[_0x0046('0x2b')](db[_0x0046('0x46')][_0x0046('0x2c')]);_0x4e2a98[_0x0046('0x25')]=_['keys'](_0x56b1d6[_0x0046('0x25')]);_0x4e2a98['filters']=_[_0x0046('0x30')](_0x4e2a98[_0x0046('0x2e')],_0x4e2a98[_0x0046('0x25')]);_0x44ed3a[_0x0046('0x2f')]=_[_0x0046('0x30')](_0x4e2a98[_0x0046('0x2e')],qs['fields'](_0x56b1d6[_0x0046('0x25')][_0x0046('0x31')]));_0x44ed3a[_0x0046('0x2f')]=_0x44ed3a['attributes'][_0x0046('0x40')]?_0x44ed3a['attributes']:_0x4e2a98[_0x0046('0x2e')];_0x44ed3a['order']=qs['sort'](_0x56b1d6['query'][_0x0046('0x43')]);_0x44ed3a[_0x0046('0x23')]=qs[_0x0046('0x2d')](_[_0x0046('0x44')](_0x56b1d6[_0x0046('0x25')],_0x4e2a98[_0x0046('0x2d')]));if(_0x56b1d6[_0x0046('0x25')][_0x0046('0x45')]){_0x44ed3a[_0x0046('0x23')]=_[_0x0046('0x33')](_0x44ed3a[_0x0046('0x23')],{'$or':_['map'](_0x44ed3a['attributes'],function(_0x31fbe0){var _0x5e6ab4={};_0x5e6ab4[_0x31fbe0]={'$like':'%'+_0x56b1d6[_0x0046('0x25')]['filter']+'%'};return _0x5e6ab4;})});}_0x44ed3a=_['merge']({},_0x44ed3a,_0x56b1d6[_0x0046('0x34')]);return _0x43c175[_0x0046('0x74')](_0x44ed3a);}})['then'](function(_0x30e540){if(_0x30e540){_0x48d973=_0x30e540[_0x0046('0x40')];if(!_0x56b1d6[_0x0046('0x25')][_0x0046('0x76')](_0x0046('0x41'))){_0x44ed3a[_0x0046('0x12')]=qs['limit'](_0x56b1d6['query'][_0x0046('0x12')]);_0x44ed3a[_0x0046('0x10')]=qs[_0x0046('0x10')](_0x56b1d6['query'][_0x0046('0x10')]);}return _0x43c175[_0x0046('0x74')](_0x44ed3a);}})[_0x0046('0x17')](function(_0x2020ae){if(_0x2020ae){return _0x2020ae?{'count':_0x48d973,'rows':_0x2020ae}:null;}})['then'](respondWithResult(_0x5708bc,null))[_0x0046('0x28')](handleError(_0x5708bc,null));};