2e76160774fed7feafa577cc5e00751b4e9fa4b0
[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 _0x5294=['User','findAndCountAll','updatedAt','createdAt','format','%s/%s','SIP','mailPause','getTeams','Team','nolimit','addTeams','voicePause','flatMap','Agents','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','select','field','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','push','sequelize','includes','all','union','compact','value','transaction','userMailQueue:remove','addAgents','omit','spread','removeAgents','getAgents','bluebird','util','lodash','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','status','end','json','offset','undefined','limit','count','set','Content-Range','update','destroy','then','get','MailQueues','UserProfileResource','error','stack','name','map','MailQueue','rawAttributes','type','getOptions','include','query','findAll','rows','show','params','model','keys','filters','attributes','intersection','fields','length','options','find','body','user','role','UserProfileSection','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','order','sort','where','pick','filter','merge'];(function(_0x2dafbe,_0x5d04de){var _0x58a45a=function(_0x50ac96){while(--_0x50ac96){_0x2dafbe['push'](_0x2dafbe['shift']());}};_0x58a45a(++_0x5d04de);}(_0x5294,0x117));var _0x4529=function(_0x55e08b,_0x421620){_0x55e08b=_0x55e08b-0x0;var _0xd1a7ff=_0x5294[_0x55e08b];return _0xd1a7ff;};'use strict';var BPromise=require(_0x4529('0x0'));var util=require(_0x4529('0x1'));var _=require(_0x4529('0x2'));var squel=require(_0x4529('0x3'));var Redis=require(_0x4529('0x4'));var qs=require(_0x4529('0x5'));var logger=require(_0x4529('0x6'))(_0x4529('0x7'));var config=require(_0x4529('0x8'));var db=require(_0x4529('0x9'))['db'];config[_0x4529('0xa')]=_[_0x4529('0xb')](config[_0x4529('0xa')],{'host':_0x4529('0xc'),'port':0x18eb});var socket=require(_0x4529('0xd'))(new Redis(config['redis']));require(_0x4529('0xe'))[_0x4529('0xf')](socket);function respondWithStatusCode(_0x4b716f,_0x42b894){_0x42b894=_0x42b894||0xcc;return function(_0x23e228){if(_0x23e228){return _0x4b716f['sendStatus'](_0x42b894);}return _0x4b716f[_0x4529('0x10')](_0x42b894)[_0x4529('0x11')]();};}function respondWithResult(_0x3ad2af,_0x2ce4ff){_0x2ce4ff=_0x2ce4ff||0xc8;return function(_0x2a0e21){if(_0x2a0e21){return _0x3ad2af[_0x4529('0x10')](_0x2ce4ff)[_0x4529('0x12')](_0x2a0e21);}};}function respondWithFilteredResult(_0x6e995,_0x3a6444){return function(_0x30d9c6){if(_0x30d9c6){var _0x1549a9=typeof _0x3a6444[_0x4529('0x13')]===_0x4529('0x14')&&typeof _0x3a6444[_0x4529('0x15')]===_0x4529('0x14');var _0x38b704=_0x30d9c6['count'];var _0x2ed3c0=_0x1549a9?0x0:_0x3a6444['offset'];var _0x56cc0c=_0x1549a9?_0x30d9c6[_0x4529('0x16')]:_0x3a6444[_0x4529('0x13')]+_0x3a6444[_0x4529('0x15')];var _0x1e9bc4;if(_0x56cc0c>=_0x38b704){_0x56cc0c=_0x38b704;_0x1e9bc4=0xc8;}else{_0x1e9bc4=0xce;}_0x6e995['status'](_0x1e9bc4);return _0x6e995[_0x4529('0x17')](_0x4529('0x18'),_0x2ed3c0+'-'+_0x56cc0c+'/'+_0x38b704)['json'](_0x30d9c6);}return null;};}function saveUpdates(_0x33c6a3){return function(_0x362d84){if(_0x362d84){return _0x362d84[_0x4529('0x19')](_0x33c6a3)['then'](function(_0x5d192e){return _0x5d192e;});}return null;};}function removeEntity(_0x51db50){return function(_0x2bb897){if(_0x2bb897){return _0x2bb897[_0x4529('0x1a')]()[_0x4529('0x1b')](function(){var _0xb67f69=_0x2bb897[_0x4529('0x1c')]({'plain':!![]});var _0x39253e=_0x4529('0x1d');return db[_0x4529('0x1e')][_0x4529('0x1a')]({'where':{'type':_0x39253e,'resourceId':_0xb67f69['id']}})['then'](function(){return _0x2bb897;});})[_0x4529('0x1b')](function(){_0x51db50[_0x4529('0x10')](0xcc)[_0x4529('0x11')]();});}};}function handleEntityNotFound(_0x1823ec){return function(_0x1da8a4){if(!_0x1da8a4){_0x1823ec['sendStatus'](0x194);}return _0x1da8a4;};}function handleError(_0xc63359,_0x37134e){_0x37134e=_0x37134e||0x1f4;return function(_0x15cda4){logger[_0x4529('0x1f')](_0x15cda4[_0x4529('0x20')]);if(_0x15cda4[_0x4529('0x21')]){delete _0x15cda4[_0x4529('0x21')];}_0xc63359[_0x4529('0x10')](_0x37134e)['send'](_0x15cda4);};}exports['index']=function(_0x42fa15,_0x1f025a){var _0x4effed={};var _0x309465={'count':0x0,'rows':[]};var _0x13883e=_[_0x4529('0x22')](db[_0x4529('0x23')][_0x4529('0x24')],function(_0x3afa91){return{'name':_0x3afa91['fieldName'],'type':_0x3afa91[_0x4529('0x25')]['key']};});_0x4effed=qs[_0x4529('0x26')](_0x13883e,_0x42fa15);var _0x5ec348={'where':_0x4effed['where']};return db[_0x4529('0x23')]['count'](_0x5ec348)[_0x4529('0x1b')](function(_0x236e6b){_0x309465['count']=_0x236e6b;_0x4effed[_0x4529('0x27')]=qs[_0x4529('0x27')](_0x42fa15[_0x4529('0x28')]);return db[_0x4529('0x23')][_0x4529('0x29')](_0x4effed);})[_0x4529('0x1b')](function(_0x20b419){_0x309465[_0x4529('0x2a')]=_0x20b419;return _0x309465;})['then'](respondWithFilteredResult(_0x1f025a,_0x4effed))['catch'](handleError(_0x1f025a,null));};exports[_0x4529('0x2b')]=function(_0x2e6878,_0x10104d){var _0x533022={'raw':!![],'where':{'id':_0x2e6878[_0x4529('0x2c')]['id']}},_0x3f15ea={};_0x3f15ea[_0x4529('0x2d')]=_[_0x4529('0x2e')](db[_0x4529('0x23')][_0x4529('0x24')]);_0x3f15ea[_0x4529('0x28')]=_[_0x4529('0x2e')](_0x2e6878[_0x4529('0x28')]);_0x3f15ea[_0x4529('0x2f')]=_['intersection'](_0x3f15ea[_0x4529('0x2d')],_0x3f15ea[_0x4529('0x28')]);_0x533022[_0x4529('0x30')]=_[_0x4529('0x31')](_0x3f15ea[_0x4529('0x2d')],qs[_0x4529('0x32')](_0x2e6878[_0x4529('0x28')][_0x4529('0x32')]));_0x533022[_0x4529('0x30')]=_0x533022['attributes'][_0x4529('0x33')]?_0x533022[_0x4529('0x30')]:_0x3f15ea[_0x4529('0x2d')];if(_0x2e6878[_0x4529('0x28')]['includeAll']){_0x533022[_0x4529('0x27')]=[{'all':!![]}];}_0x533022=_['merge']({},_0x533022,_0x2e6878[_0x4529('0x34')]);return db[_0x4529('0x23')][_0x4529('0x35')](_0x533022)[_0x4529('0x1b')](handleEntityNotFound(_0x10104d,null))[_0x4529('0x1b')](respondWithResult(_0x10104d,null))['catch'](handleError(_0x10104d,null));};exports['create']=function(_0x1c8584,_0xcfba96){return db[_0x4529('0x23')]['create'](_0x1c8584[_0x4529('0x36')],{})[_0x4529('0x1b')](function(_0x101761){var _0x1f142d=_0x1c8584[_0x4529('0x37')][_0x4529('0x1c')]({'plain':!![]});if(!_0x1f142d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1f142d[_0x4529('0x38')]===_0x4529('0x37')){var _0x4b3c64=_0x101761[_0x4529('0x1c')]({'plain':!![]});var _0x31e06d=_0x4529('0x1d');return db[_0x4529('0x39')][_0x4529('0x35')]({'where':{'name':_0x31e06d,'userProfileId':_0x1f142d['userProfileId']},'raw':!![]})[_0x4529('0x1b')](function(_0x47a134){if(_0x47a134&&_0x47a134[_0x4529('0x3a')]===0x0){return db[_0x4529('0x1e')]['create']({'name':_0x4b3c64[_0x4529('0x21')],'resourceId':_0x4b3c64['id'],'type':_0x47a134[_0x4529('0x21')],'sectionId':_0x47a134['id']},{})['then'](function(){return _0x101761;});}else{return _0x101761;}})[_0x4529('0x3b')](function(_0x3b88a9){logger[_0x4529('0x1f')](_0x4529('0x3c'),_0x3b88a9);throw _0x3b88a9;});}return _0x101761;})[_0x4529('0x1b')](respondWithResult(_0xcfba96,0xc9))[_0x4529('0x3b')](handleError(_0xcfba96,null));};exports[_0x4529('0x19')]=function(_0xb57137,_0x24ec4f){if(_0xb57137[_0x4529('0x36')]['id']){delete _0xb57137[_0x4529('0x36')]['id'];}return db['MailQueue']['find']({'where':{'id':_0xb57137[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](handleEntityNotFound(_0x24ec4f,null))[_0x4529('0x1b')](saveUpdates(_0xb57137['body'],null))[_0x4529('0x1b')](respondWithResult(_0x24ec4f,null))[_0x4529('0x3b')](handleError(_0x24ec4f,null));};exports[_0x4529('0x1a')]=function(_0x449c43,_0x1e95b7){return db[_0x4529('0x23')]['find']({'where':{'id':_0x449c43['params']['id']}})[_0x4529('0x1b')](handleEntityNotFound(_0x1e95b7,null))[_0x4529('0x1b')](removeEntity(_0x1e95b7,null))[_0x4529('0x3b')](handleError(_0x1e95b7,null));};exports[_0x4529('0x3d')]=function(_0x51a4be,_0x50de22){return db[_0x4529('0x23')][_0x4529('0x3d')]()['then'](respondWithResult(_0x50de22,null))[_0x4529('0x3b')](handleError(_0x50de22,null));};exports[_0x4529('0x3e')]=function(_0x15fc51,_0x438dc9){var _0x42676a={'raw':!![],'where':{}},_0x1929fb={},_0x886bf4;return db[_0x4529('0x23')][_0x4529('0x3f')]({'where':{'id':_0x15fc51[_0x4529('0x2c')]['id']}})['then'](handleEntityNotFound(_0x438dc9,null))['then'](function(_0x588666){if(_0x588666){_0x886bf4=_0x588666[_0x4529('0x1c')]({'plain':!![]});_0x1929fb[_0x4529('0x2d')]=_[_0x4529('0x2e')](db[_0x4529('0x40')][_0x4529('0x24')]);_0x1929fb[_0x4529('0x28')]=_[_0x4529('0x2e')](_0x15fc51['query']);_0x1929fb[_0x4529('0x2f')]=_[_0x4529('0x31')](_0x1929fb[_0x4529('0x2d')],_0x1929fb['query']);_0x42676a[_0x4529('0x30')]=_[_0x4529('0x31')](_0x1929fb[_0x4529('0x2d')],qs[_0x4529('0x32')](_0x15fc51[_0x4529('0x28')]['fields']));_0x42676a[_0x4529('0x30')]=_0x42676a[_0x4529('0x30')][_0x4529('0x33')]?_0x42676a[_0x4529('0x30')]:_0x1929fb[_0x4529('0x2d')];if(!_0x15fc51[_0x4529('0x28')][_0x4529('0x41')]('nolimit')){_0x42676a[_0x4529('0x15')]=qs[_0x4529('0x15')](_0x15fc51[_0x4529('0x28')][_0x4529('0x15')]);_0x42676a[_0x4529('0x13')]=qs[_0x4529('0x13')](_0x15fc51['query'][_0x4529('0x13')]);}_0x42676a[_0x4529('0x42')]=qs[_0x4529('0x43')](_0x15fc51[_0x4529('0x28')][_0x4529('0x43')]);_0x42676a[_0x4529('0x44')]=qs[_0x4529('0x2f')](_[_0x4529('0x45')](_0x15fc51['query'],_0x1929fb[_0x4529('0x2f')]));_0x42676a['where']['MailQueueId']=_0x588666['id'];if(_0x15fc51[_0x4529('0x28')][_0x4529('0x46')]){_0x42676a[_0x4529('0x44')]=_[_0x4529('0x47')](_0x42676a[_0x4529('0x44')],{'$or':_[_0x4529('0x22')](_0x42676a['attributes'],function(_0x15f62e){var _0x523189={};_0x523189[_0x15f62e]={'$like':'%'+_0x15fc51[_0x4529('0x28')][_0x4529('0x46')]+'%'};return _0x523189;})});}_0x42676a=_['merge']({},_0x42676a,_0x15fc51['options']);return db['UserMailQueue'][_0x4529('0x29')](_0x42676a);}})[_0x4529('0x1b')](function(_0x17a36d){if(_0x17a36d){return db[_0x4529('0x48')][_0x4529('0x49')]({'where':{'id':_[_0x4529('0x22')](_0x17a36d,'UserId'),'role':'agent'},'attributes':['id',_0x4529('0x21'),'mailPause',_0x4529('0x4a'),_0x4529('0x4b')]});}})[_0x4529('0x1b')](function(_0x41b61c){if(_0x41b61c){return{'count':_0x41b61c[_0x4529('0x16')],'rows':_[_0x4529('0x22')](_0x41b61c[_0x4529('0x2a')],function(_0x31ea37){return{'membername':_0x31ea37[_0x4529('0x21')],'UserId':_0x31ea37['id'],'queue_name':_0x886bf4[_0x4529('0x21')],'MailQueueId':_0x886bf4['id'],'interface':util[_0x4529('0x4c')](_0x4529('0x4d'),_0x4529('0x4e'),_0x31ea37['name']),'penalty':0x0,'paused':_0x31ea37[_0x4529('0x4f')],'createdAt':_0x31ea37[_0x4529('0x4b')],'updatedAt':_0x31ea37[_0x4529('0x4a')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x438dc9,_0x42676a))[_0x4529('0x3b')](handleError(_0x438dc9,null));};exports[_0x4529('0x50')]=function(_0x26e949,_0x118065){var _0x3889f3={};var _0x3c2b4b={};var _0x50c2f0;var _0x1a9fed;return db[_0x4529('0x23')][_0x4529('0x3f')]({'where':{'id':_0x26e949[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](handleEntityNotFound(_0x118065,null))[_0x4529('0x1b')](function(_0x1b2373){if(_0x1b2373){_0x50c2f0=_0x1b2373;_0x3c2b4b['model']=_[_0x4529('0x2e')](db[_0x4529('0x51')]['rawAttributes']);_0x3c2b4b[_0x4529('0x28')]=_[_0x4529('0x2e')](_0x26e949[_0x4529('0x28')]);_0x3c2b4b[_0x4529('0x2f')]=_[_0x4529('0x31')](_0x3c2b4b['model'],_0x3c2b4b[_0x4529('0x28')]);_0x3889f3[_0x4529('0x30')]=_[_0x4529('0x31')](_0x3c2b4b[_0x4529('0x2d')],qs[_0x4529('0x32')](_0x26e949[_0x4529('0x28')][_0x4529('0x32')]));_0x3889f3['attributes']=_0x3889f3['attributes'][_0x4529('0x33')]?_0x3889f3[_0x4529('0x30')]:_0x3c2b4b[_0x4529('0x2d')];_0x3889f3[_0x4529('0x42')]=qs['sort'](_0x26e949[_0x4529('0x28')][_0x4529('0x43')]);_0x3889f3[_0x4529('0x44')]=qs[_0x4529('0x2f')](_[_0x4529('0x45')](_0x26e949[_0x4529('0x28')],_0x3c2b4b[_0x4529('0x2f')]));if(_0x26e949[_0x4529('0x28')][_0x4529('0x46')]){_0x3889f3[_0x4529('0x44')]=_[_0x4529('0x47')](_0x3889f3[_0x4529('0x44')],{'$or':_[_0x4529('0x22')](_0x3889f3[_0x4529('0x30')],function(_0xceedf1){var _0x22c231={};_0x22c231[_0xceedf1]={'$like':'%'+_0x26e949[_0x4529('0x28')][_0x4529('0x46')]+'%'};return _0x22c231;})});}_0x3889f3=_[_0x4529('0x47')]({},_0x3889f3,_0x26e949[_0x4529('0x34')]);return _0x50c2f0[_0x4529('0x50')](_0x3889f3);}})['then'](function(_0x2e044e){if(_0x2e044e){_0x1a9fed=_0x2e044e[_0x4529('0x33')];if(!_0x26e949[_0x4529('0x28')][_0x4529('0x41')](_0x4529('0x52'))){_0x3889f3['limit']=qs[_0x4529('0x15')](_0x26e949['query'][_0x4529('0x15')]);_0x3889f3[_0x4529('0x13')]=qs['offset'](_0x26e949[_0x4529('0x28')][_0x4529('0x13')]);}return _0x50c2f0[_0x4529('0x50')](_0x3889f3);}})['then'](function(_0x30f40c){if(_0x30f40c){return _0x30f40c?{'count':_0x1a9fed,'rows':_0x30f40c}:null;}})[_0x4529('0x1b')](respondWithResult(_0x118065,null))['catch'](handleError(_0x118065,null));};exports[_0x4529('0x53')]=function(_0x51162d,_0x4d5095){var _0x2aa275=_0x51162d[_0x4529('0x36')]['ids'];return db[_0x4529('0x51')]['findAll']({'where':{'id':_0x2aa275},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x4529('0x21'),'online',_0x4529('0x54'),'interface'],'raw':!![]}]})[_0x4529('0x1b')](function(_0x362c4c){if(_0x362c4c){var _0x2b4035=_[_0x4529('0x55')](_0x362c4c,function(_0x29bd87){var _0x893e09=_0x29bd87[_0x4529('0x1c')]({'plain':!![]});return _0x893e09[_0x4529('0x56')];});return db['MailQueue']['find']({'where':{'id':_0x51162d[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](function(_0x3e76b8){return db['sequelize']['transaction'](function(_0x16d92b){return _0x3e76b8[_0x4529('0x53')](_0x2aa275,{'transaction':_0x16d92b})[_0x4529('0x1b')](function(){return BPromise[_0x4529('0x57')](_0x2b4035,function(_0x9602b1){return db[_0x4529('0x40')][_0x4529('0x58')]({'where':{'UserId':_0x9602b1['id'],'MailQueueId':_0x51162d[_0x4529('0x2c')]['id']},'transaction':_0x16d92b});});})[_0x4529('0x1b')](function(){_0x2b4035[_0x4529('0x59')](function(_0x3b82bf){socket[_0x4529('0x5a')](_0x4529('0x5b'),{'UserId':_0x3b82bf['id'],'MailQueueId':_0x3e76b8['id']});});});});});}})[_0x4529('0x1b')](respondWithStatusCode(_0x4d5095,null))[_0x4529('0x3b')](handleError(_0x4d5095,null));};exports[_0x4529('0x5c')]=function(_0x2c05db,_0x1aeef8){return db[_0x4529('0x51')][_0x4529('0x29')]({'where':{'id':_0x2c05db['query'][_0x4529('0x5d')]},'attributes':['id'],'include':[{'model':db[_0x4529('0x48')],'as':_0x4529('0x56'),'attributes':['id'],'raw':!![]}]})[_0x4529('0x1b')](handleEntityNotFound(_0x1aeef8,null))[_0x4529('0x1b')](function(_0x49b9bc){var _0xff59e8=_[_0x4529('0x22')](_0x49b9bc,'id');var _0x210939=[];var _0x5240b3=[];var _0x5ea07a=squel[_0x4529('0x5e')]();_0x5ea07a[_0x4529('0x5f')]('tq.TeamId')[_0x4529('0x60')](_0x4529('0x61'),'tq')[_0x4529('0x62')](_0x4529('0x63'),'ut',_0x4529('0x64'))[_0x4529('0x44')](_0x4529('0x65'),_0x2c05db['params']['id']);for(var _0x5e98ea=0x0;_0x5e98ea<_0x49b9bc[_0x4529('0x33')];_0x5e98ea+=0x1){let _0x45a790=_0x49b9bc[_0x5e98ea];for(var _0x16768a=0x0;_0x16768a<_0x45a790[_0x4529('0x56')]['length'];_0x16768a+=0x1){let _0xd70e68=_0x45a790[_0x4529('0x56')][_0x16768a];var _0x3f009b=_0x5ea07a[_0x4529('0x66')]();_0x3f009b['where']('ut.UserId\x20=\x20?',_0xd70e68['id']);_0x5240b3[_0x4529('0x67')](db[_0x4529('0x68')][_0x4529('0x28')](_0x3f009b['toString'](),{'type':db[_0x4529('0x68')]['QueryTypes']['SELECT']})[_0x4529('0x1b')](function(_0xb59fae){if(_0xb59fae[_0x4529('0x33')]===0x1){return _0xd70e68['id'];}else{var _0x15f458=_['every'](_[_0x4529('0x22')](_0xb59fae,'TeamId'),function(_0x4d9e98){return _[_0x4529('0x69')](_0xff59e8,_0x4d9e98);});if(_0x15f458){return _0xd70e68['id'];}}}));}}return BPromise[_0x4529('0x6a')](_0x5240b3)[_0x4529('0x1b')](function(_0x8ff72){_0x210939=_(_0x210939)[_0x4529('0x6b')](_0x8ff72)[_0x4529('0x6c')]()[_0x4529('0x6d')]();return db[_0x4529('0x23')]['find']({'where':{'id':_0x2c05db[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](function(_0x52526c){return db[_0x4529('0x68')][_0x4529('0x6e')](function(_0x73eb7d){return _0x52526c['removeTeams'](_0x2c05db[_0x4529('0x28')][_0x4529('0x5d')],{'transaction':_0x73eb7d})[_0x4529('0x1b')](function(){if(!_['isEmpty'](_0x210939)){return _0x52526c['removeAgents'](_0x210939,{'transaction':_0x73eb7d});}})[_0x4529('0x1b')](function(){_0x210939[_0x4529('0x59')](function(_0x57b3da){socket['emit'](_0x4529('0x6f'),{'UserId':_0x57b3da,'MailQueueId':_0x52526c['id']});});});});});});})['then'](respondWithStatusCode(_0x1aeef8,null))['catch'](handleError(_0x1aeef8,null));};exports[_0x4529('0x70')]=function(_0x13ddbc,_0x28d132){return db[_0x4529('0x23')]['find']({'where':{'id':_0x13ddbc[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](handleEntityNotFound(_0x28d132,null))[_0x4529('0x1b')](function(_0x4030d5){if(_0x4030d5){return _0x4030d5[_0x4529('0x70')](_0x13ddbc[_0x4529('0x36')]['ids'],_[_0x4529('0x71')](_0x13ddbc[_0x4529('0x36')],[_0x4529('0x5d'),'id'])||{})[_0x4529('0x72')](function(_0x2b0928){for(var _0x218ff2=0x0;_0x218ff2<_0x13ddbc[_0x4529('0x36')][_0x4529('0x5d')][_0x4529('0x33')];_0x218ff2+=0x1){socket[_0x4529('0x5a')]('userMailQueue:save',{'UserId':Number(_0x13ddbc['body'][_0x4529('0x5d')][_0x218ff2]),'MailQueueId':Number(_0x13ddbc[_0x4529('0x2c')]['id'])});}return _0x2b0928;});}})[_0x4529('0x1b')](respondWithResult(_0x28d132,null))[_0x4529('0x3b')](handleError(_0x28d132,null));};exports[_0x4529('0x73')]=function(_0x2ede0e,_0x1745eb){return db[_0x4529('0x23')][_0x4529('0x35')]({'where':{'id':_0x2ede0e[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](handleEntityNotFound(_0x1745eb,null))[_0x4529('0x1b')](function(_0x28fcf1){if(_0x28fcf1){return _0x28fcf1['removeAgents'](_0x2ede0e[_0x4529('0x28')]['ids'])[_0x4529('0x1b')](function(){if(_['isArray'](_0x2ede0e['query'][_0x4529('0x5d')])){for(var _0x4c9198=0x0;_0x4c9198<_0x2ede0e[_0x4529('0x28')]['ids']['length'];_0x4c9198+=0x1){socket[_0x4529('0x5a')](_0x4529('0x6f'),{'UserId':Number(_0x2ede0e[_0x4529('0x28')]['ids'][_0x4c9198]),'MailQueueId':Number(_0x2ede0e['params']['id'])});}}else{socket[_0x4529('0x5a')](_0x4529('0x6f'),{'UserId':Number(_0x2ede0e[_0x4529('0x28')]['ids']),'MailQueueId':Number(_0x2ede0e[_0x4529('0x2c')]['id'])});}});}})[_0x4529('0x1b')](respondWithStatusCode(_0x1745eb,null))['catch'](handleError(_0x1745eb,null));};exports[_0x4529('0x74')]=function(_0x22b196,_0x19dd5c){var _0x217772={};var _0x4fbf20={};var _0x182225;var _0x3fcbb1;return db[_0x4529('0x23')]['findOne']({'where':{'id':_0x22b196[_0x4529('0x2c')]['id']}})[_0x4529('0x1b')](handleEntityNotFound(_0x19dd5c,null))[_0x4529('0x1b')](function(_0x16cf6c){if(_0x16cf6c){_0x182225=_0x16cf6c;_0x4fbf20[_0x4529('0x2d')]=_[_0x4529('0x2e')](db[_0x4529('0x48')][_0x4529('0x24')]);_0x4fbf20[_0x4529('0x28')]=_[_0x4529('0x2e')](_0x22b196[_0x4529('0x28')]);_0x4fbf20[_0x4529('0x2f')]=_[_0x4529('0x31')](_0x4fbf20[_0x4529('0x2d')],_0x4fbf20[_0x4529('0x28')]);_0x217772[_0x4529('0x30')]=_['intersection'](_0x4fbf20[_0x4529('0x2d')],qs[_0x4529('0x32')](_0x22b196['query'][_0x4529('0x32')]));_0x217772[_0x4529('0x30')]=_0x217772['attributes']['length']?_0x217772[_0x4529('0x30')]:_0x4fbf20[_0x4529('0x2d')];_0x217772['order']=qs['sort'](_0x22b196[_0x4529('0x28')]['sort']);_0x217772[_0x4529('0x44')]=qs[_0x4529('0x2f')](_[_0x4529('0x45')](_0x22b196[_0x4529('0x28')],_0x4fbf20['filters']));if(_0x22b196['query'][_0x4529('0x46')]){_0x217772[_0x4529('0x44')]=_[_0x4529('0x47')](_0x217772[_0x4529('0x44')],{'$or':_['map'](_0x217772[_0x4529('0x30')],function(_0x380d41){var _0x32583a={};_0x32583a[_0x380d41]={'$like':'%'+_0x22b196[_0x4529('0x28')]['filter']+'%'};return _0x32583a;})});}_0x217772=_['merge']({},_0x217772,_0x22b196[_0x4529('0x34')]);return _0x182225['getAgents'](_0x217772);}})['then'](function(_0x49b662){if(_0x49b662){_0x3fcbb1=_0x49b662[_0x4529('0x33')];if(!_0x22b196['query'][_0x4529('0x41')](_0x4529('0x52'))){_0x217772[_0x4529('0x15')]=qs['limit'](_0x22b196[_0x4529('0x28')][_0x4529('0x15')]);_0x217772[_0x4529('0x13')]=qs[_0x4529('0x13')](_0x22b196[_0x4529('0x28')][_0x4529('0x13')]);}return _0x182225[_0x4529('0x74')](_0x217772);}})['then'](function(_0xd481e){if(_0xd481e){return _0xd481e?{'count':_0x3fcbb1,'rows':_0xd481e}:null;}})[_0x4529('0x1b')](respondWithResult(_0x19dd5c,null))[_0x4529('0x3b')](handleError(_0x19dd5c,null));};