ad059fe8368f84ad92a5d4fa654dcf8360594791
[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 _0xd4ce=['voicePause','interface','flatMap','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','all','union','compact','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','spread','isArray','getAgents','bluebird','lodash','squel','ioredis','api','../../config/environment','../../mysqldb','redis','localhost','sendStatus','end','status','json','offset','limit','count','Content-Range','update','then','MailQueues','UserProfileResource','destroy','error','stack','name','send','MailQueue','rawAttributes','type','key','where','include','query','findAll','rows','show','params','model','keys','attributes','intersection','fields','length','includeAll','merge','options','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','nolimit','order','sort','filters','MailQueueId','filter','map','UserId','agent','mailPause','updatedAt','SIP','createdAt','getTeams','Team','pick','User','Agents'];(function(_0xd82305,_0x2ca38a){var _0x6f5b12=function(_0x4270f5){while(--_0x4270f5){_0xd82305['push'](_0xd82305['shift']());}};_0x6f5b12(++_0x2ca38a);}(_0xd4ce,0x9a));var _0xed4c=function(_0x21aec3,_0x5c97e9){_0x21aec3=_0x21aec3-0x0;var _0x288bbc=_0xd4ce[_0x21aec3];return _0x288bbc;};'use strict';var BPromise=require(_0xed4c('0x0'));var util=require('util');var _=require(_0xed4c('0x1'));var squel=require(_0xed4c('0x2'));var Redis=require(_0xed4c('0x3'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0xed4c('0x4'));var config=require(_0xed4c('0x5'));var db=require(_0xed4c('0x6'))['db'];config[_0xed4c('0x7')]=_['defaults'](config['redis'],{'host':_0xed4c('0x8'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xed4c('0x7')]));require('./mailQueue.socket')['register'](socket);function respondWithStatusCode(_0xe19bf6,_0x29201f){_0x29201f=_0x29201f||0xcc;return function(_0x4b13fe){if(_0x4b13fe){return _0xe19bf6[_0xed4c('0x9')](_0x29201f);}return _0xe19bf6['status'](_0x29201f)[_0xed4c('0xa')]();};}function respondWithResult(_0x5ef48b,_0x2d14ef){_0x2d14ef=_0x2d14ef||0xc8;return function(_0xf876b7){if(_0xf876b7){return _0x5ef48b[_0xed4c('0xb')](_0x2d14ef)[_0xed4c('0xc')](_0xf876b7);}};}function respondWithFilteredResult(_0x53fac9,_0x36f5df){return function(_0x482cd8){if(_0x482cd8){var _0x10793c=typeof _0x36f5df[_0xed4c('0xd')]==='undefined'&&typeof _0x36f5df[_0xed4c('0xe')]==='undefined';var _0x35a5a6=_0x482cd8[_0xed4c('0xf')];var _0xa90550=_0x10793c?0x0:_0x36f5df[_0xed4c('0xd')];var _0x54dfd0=_0x10793c?_0x482cd8[_0xed4c('0xf')]:_0x36f5df['offset']+_0x36f5df[_0xed4c('0xe')];var _0x445e13;if(_0x54dfd0>=_0x35a5a6){_0x54dfd0=_0x35a5a6;_0x445e13=0xc8;}else{_0x445e13=0xce;}_0x53fac9['status'](_0x445e13);return _0x53fac9['set'](_0xed4c('0x10'),_0xa90550+'-'+_0x54dfd0+'/'+_0x35a5a6)[_0xed4c('0xc')](_0x482cd8);}return null;};}function saveUpdates(_0x368c78){return function(_0x21cd4d){if(_0x21cd4d){return _0x21cd4d[_0xed4c('0x11')](_0x368c78)[_0xed4c('0x12')](function(_0xdb1260){return _0xdb1260;});}return null;};}function removeEntity(_0x13e605){return function(_0x36bf3a){if(_0x36bf3a){return _0x36bf3a['destroy']()['then'](function(){var _0x1238f1=_0x36bf3a['get']({'plain':!![]});var _0x143eaf=_0xed4c('0x13');return db[_0xed4c('0x14')][_0xed4c('0x15')]({'where':{'type':_0x143eaf,'resourceId':_0x1238f1['id']}})[_0xed4c('0x12')](function(){return _0x36bf3a;});})['then'](function(){_0x13e605[_0xed4c('0xb')](0xcc)[_0xed4c('0xa')]();});}};}function handleEntityNotFound(_0x3d2f9b){return function(_0xc8988a){if(!_0xc8988a){_0x3d2f9b['sendStatus'](0x194);}return _0xc8988a;};}function handleError(_0x505860,_0x19bb58){_0x19bb58=_0x19bb58||0x1f4;return function(_0x277485){logger[_0xed4c('0x16')](_0x277485[_0xed4c('0x17')]);if(_0x277485[_0xed4c('0x18')]){delete _0x277485[_0xed4c('0x18')];}_0x505860[_0xed4c('0xb')](_0x19bb58)[_0xed4c('0x19')](_0x277485);};}exports['index']=function(_0x4cdf00,_0x148236){var _0x156adc={};var _0x4bbf61={'count':0x0,'rows':[]};var _0x2922af=_['map'](db[_0xed4c('0x1a')][_0xed4c('0x1b')],function(_0x5ce525){return{'name':_0x5ce525['fieldName'],'type':_0x5ce525[_0xed4c('0x1c')][_0xed4c('0x1d')]};});_0x156adc=qs['getOptions'](_0x2922af,_0x4cdf00);var _0xa3324={'where':_0x156adc[_0xed4c('0x1e')]};return db[_0xed4c('0x1a')]['count'](_0xa3324)['then'](function(_0x310576){_0x4bbf61['count']=_0x310576;_0x156adc[_0xed4c('0x1f')]=qs[_0xed4c('0x1f')](_0x4cdf00[_0xed4c('0x20')]);return db['MailQueue'][_0xed4c('0x21')](_0x156adc);})[_0xed4c('0x12')](function(_0x3eadf1){_0x4bbf61[_0xed4c('0x22')]=_0x3eadf1;return _0x4bbf61;})['then'](respondWithFilteredResult(_0x148236,_0x156adc))['catch'](handleError(_0x148236,null));};exports[_0xed4c('0x23')]=function(_0x386817,_0x26ff53){var _0x50414d={'raw':!![],'where':{'id':_0x386817[_0xed4c('0x24')]['id']}},_0x432e9e={};_0x432e9e[_0xed4c('0x25')]=_[_0xed4c('0x26')](db['MailQueue'][_0xed4c('0x1b')]);_0x432e9e[_0xed4c('0x20')]=_[_0xed4c('0x26')](_0x386817[_0xed4c('0x20')]);_0x432e9e['filters']=_['intersection'](_0x432e9e[_0xed4c('0x25')],_0x432e9e['query']);_0x50414d[_0xed4c('0x27')]=_[_0xed4c('0x28')](_0x432e9e[_0xed4c('0x25')],qs['fields'](_0x386817[_0xed4c('0x20')][_0xed4c('0x29')]));_0x50414d[_0xed4c('0x27')]=_0x50414d[_0xed4c('0x27')][_0xed4c('0x2a')]?_0x50414d[_0xed4c('0x27')]:_0x432e9e['model'];if(_0x386817[_0xed4c('0x20')][_0xed4c('0x2b')]){_0x50414d[_0xed4c('0x1f')]=[{'all':!![]}];}_0x50414d=_[_0xed4c('0x2c')]({},_0x50414d,_0x386817[_0xed4c('0x2d')]);return db['MailQueue']['find'](_0x50414d)['then'](handleEntityNotFound(_0x26ff53,null))[_0xed4c('0x12')](respondWithResult(_0x26ff53,null))['catch'](handleError(_0x26ff53,null));};exports[_0xed4c('0x2e')]=function(_0x288e74,_0x42ca0f){return db[_0xed4c('0x1a')]['create'](_0x288e74[_0xed4c('0x2f')],{})['then'](function(_0x474f5a){var _0xcb09ef=_0x288e74[_0xed4c('0x30')][_0xed4c('0x31')]({'plain':!![]});if(!_0xcb09ef)throw new Error(_0xed4c('0x32'));if(_0xcb09ef[_0xed4c('0x33')]===_0xed4c('0x30')){var _0x5bb8ea=_0x474f5a[_0xed4c('0x31')]({'plain':!![]});var _0x10471e=_0xed4c('0x13');return db[_0xed4c('0x34')][_0xed4c('0x35')]({'where':{'name':_0x10471e,'userProfileId':_0xcb09ef['userProfileId']},'raw':!![]})[_0xed4c('0x12')](function(_0x17e37a){if(_0x17e37a&&_0x17e37a[_0xed4c('0x36')]===0x0){return db['UserProfileResource'][_0xed4c('0x2e')]({'name':_0x5bb8ea['name'],'resourceId':_0x5bb8ea['id'],'type':_0x17e37a['name'],'sectionId':_0x17e37a['id']},{})[_0xed4c('0x12')](function(){return _0x474f5a;});}else{return _0x474f5a;}})[_0xed4c('0x37')](function(_0xce0d0e){logger[_0xed4c('0x16')](_0xed4c('0x38'),_0xce0d0e);throw _0xce0d0e;});}return _0x474f5a;})[_0xed4c('0x12')](respondWithResult(_0x42ca0f,0xc9))[_0xed4c('0x37')](handleError(_0x42ca0f,null));};exports[_0xed4c('0x11')]=function(_0x7f04e2,_0x90ca1f){if(_0x7f04e2['body']['id']){delete _0x7f04e2[_0xed4c('0x2f')]['id'];}return db['MailQueue'][_0xed4c('0x35')]({'where':{'id':_0x7f04e2[_0xed4c('0x24')]['id']}})[_0xed4c('0x12')](handleEntityNotFound(_0x90ca1f,null))[_0xed4c('0x12')](saveUpdates(_0x7f04e2[_0xed4c('0x2f')],null))[_0xed4c('0x12')](respondWithResult(_0x90ca1f,null))[_0xed4c('0x37')](handleError(_0x90ca1f,null));};exports[_0xed4c('0x15')]=function(_0x5d685c,_0xda18c7){return db[_0xed4c('0x1a')][_0xed4c('0x35')]({'where':{'id':_0x5d685c[_0xed4c('0x24')]['id']}})['then'](handleEntityNotFound(_0xda18c7,null))['then'](removeEntity(_0xda18c7,null))['catch'](handleError(_0xda18c7,null));};exports[_0xed4c('0x39')]=function(_0x412348,_0x35a052){return db[_0xed4c('0x1a')][_0xed4c('0x39')]()[_0xed4c('0x12')](respondWithResult(_0x35a052,null))['catch'](handleError(_0x35a052,null));};exports[_0xed4c('0x3a')]=function(_0x5024d4,_0x1a0f31){var _0x234720={'raw':!![],'where':{}},_0x231284={},_0x500788;return db[_0xed4c('0x1a')][_0xed4c('0x3b')]({'where':{'id':_0x5024d4['params']['id']}})['then'](handleEntityNotFound(_0x1a0f31,null))[_0xed4c('0x12')](function(_0x156a07){if(_0x156a07){_0x500788=_0x156a07['get']({'plain':!![]});_0x231284[_0xed4c('0x25')]=_[_0xed4c('0x26')](db[_0xed4c('0x3c')][_0xed4c('0x1b')]);_0x231284[_0xed4c('0x20')]=_[_0xed4c('0x26')](_0x5024d4[_0xed4c('0x20')]);_0x231284['filters']=_['intersection'](_0x231284[_0xed4c('0x25')],_0x231284[_0xed4c('0x20')]);_0x234720[_0xed4c('0x27')]=_[_0xed4c('0x28')](_0x231284[_0xed4c('0x25')],qs[_0xed4c('0x29')](_0x5024d4['query'][_0xed4c('0x29')]));_0x234720[_0xed4c('0x27')]=_0x234720['attributes'][_0xed4c('0x2a')]?_0x234720[_0xed4c('0x27')]:_0x231284['model'];if(!_0x5024d4[_0xed4c('0x20')][_0xed4c('0x3d')](_0xed4c('0x3e'))){_0x234720[_0xed4c('0xe')]=qs[_0xed4c('0xe')](_0x5024d4[_0xed4c('0x20')][_0xed4c('0xe')]);_0x234720[_0xed4c('0xd')]=qs['offset'](_0x5024d4['query'][_0xed4c('0xd')]);}_0x234720[_0xed4c('0x3f')]=qs[_0xed4c('0x40')](_0x5024d4['query'][_0xed4c('0x40')]);_0x234720[_0xed4c('0x1e')]=qs[_0xed4c('0x41')](_['pick'](_0x5024d4[_0xed4c('0x20')],_0x231284['filters']));_0x234720['where'][_0xed4c('0x42')]=_0x156a07['id'];if(_0x5024d4['query'][_0xed4c('0x43')]){_0x234720[_0xed4c('0x1e')]=_['merge'](_0x234720[_0xed4c('0x1e')],{'$or':_[_0xed4c('0x44')](_0x234720[_0xed4c('0x27')],function(_0xf68074){var _0x57dc44={};_0x57dc44[_0xf68074]={'$like':'%'+_0x5024d4[_0xed4c('0x20')][_0xed4c('0x43')]+'%'};return _0x57dc44;})});}_0x234720=_[_0xed4c('0x2c')]({},_0x234720,_0x5024d4[_0xed4c('0x2d')]);return db['UserMailQueue'][_0xed4c('0x21')](_0x234720);}})[_0xed4c('0x12')](function(_0x9c7c8d){if(_0x9c7c8d){return db['User']['findAndCountAll']({'where':{'id':_['map'](_0x9c7c8d,_0xed4c('0x45')),'role':_0xed4c('0x46')},'attributes':['id',_0xed4c('0x18'),_0xed4c('0x47'),_0xed4c('0x48'),'createdAt']});}})[_0xed4c('0x12')](function(_0x30a82b){if(_0x30a82b){return{'count':_0x30a82b['count'],'rows':_[_0xed4c('0x44')](_0x30a82b['rows'],function(_0x2a1e03){return{'membername':_0x2a1e03[_0xed4c('0x18')],'UserId':_0x2a1e03['id'],'queue_name':_0x500788[_0xed4c('0x18')],'MailQueueId':_0x500788['id'],'interface':util['format']('%s/%s',_0xed4c('0x49'),_0x2a1e03[_0xed4c('0x18')]),'penalty':0x0,'paused':_0x2a1e03[_0xed4c('0x47')],'createdAt':_0x2a1e03[_0xed4c('0x4a')],'updatedAt':_0x2a1e03[_0xed4c('0x48')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xed4c('0x12')](respondWithFilteredResult(_0x1a0f31,_0x234720))[_0xed4c('0x37')](handleError(_0x1a0f31,null));};exports[_0xed4c('0x4b')]=function(_0x2ae4c8,_0x493969){var _0x1905d0={};var _0x47fffd={};var _0x223f65;var _0x429e14;return db[_0xed4c('0x1a')][_0xed4c('0x3b')]({'where':{'id':_0x2ae4c8[_0xed4c('0x24')]['id']}})[_0xed4c('0x12')](handleEntityNotFound(_0x493969,null))[_0xed4c('0x12')](function(_0xd12b05){if(_0xd12b05){_0x223f65=_0xd12b05;_0x47fffd[_0xed4c('0x25')]=_[_0xed4c('0x26')](db[_0xed4c('0x4c')][_0xed4c('0x1b')]);_0x47fffd['query']=_[_0xed4c('0x26')](_0x2ae4c8[_0xed4c('0x20')]);_0x47fffd['filters']=_[_0xed4c('0x28')](_0x47fffd[_0xed4c('0x25')],_0x47fffd[_0xed4c('0x20')]);_0x1905d0[_0xed4c('0x27')]=_[_0xed4c('0x28')](_0x47fffd[_0xed4c('0x25')],qs[_0xed4c('0x29')](_0x2ae4c8[_0xed4c('0x20')][_0xed4c('0x29')]));_0x1905d0[_0xed4c('0x27')]=_0x1905d0[_0xed4c('0x27')][_0xed4c('0x2a')]?_0x1905d0[_0xed4c('0x27')]:_0x47fffd[_0xed4c('0x25')];_0x1905d0[_0xed4c('0x3f')]=qs[_0xed4c('0x40')](_0x2ae4c8['query']['sort']);_0x1905d0[_0xed4c('0x1e')]=qs[_0xed4c('0x41')](_[_0xed4c('0x4d')](_0x2ae4c8['query'],_0x47fffd[_0xed4c('0x41')]));if(_0x2ae4c8[_0xed4c('0x20')][_0xed4c('0x43')]){_0x1905d0[_0xed4c('0x1e')]=_['merge'](_0x1905d0[_0xed4c('0x1e')],{'$or':_[_0xed4c('0x44')](_0x1905d0[_0xed4c('0x27')],function(_0x6b2556){var _0x5a698f={};_0x5a698f[_0x6b2556]={'$like':'%'+_0x2ae4c8[_0xed4c('0x20')][_0xed4c('0x43')]+'%'};return _0x5a698f;})});}_0x1905d0=_['merge']({},_0x1905d0,_0x2ae4c8[_0xed4c('0x2d')]);return _0x223f65[_0xed4c('0x4b')](_0x1905d0);}})[_0xed4c('0x12')](function(_0x259ff7){if(_0x259ff7){_0x429e14=_0x259ff7[_0xed4c('0x2a')];if(!_0x2ae4c8[_0xed4c('0x20')][_0xed4c('0x3d')](_0xed4c('0x3e'))){_0x1905d0[_0xed4c('0xe')]=qs['limit'](_0x2ae4c8[_0xed4c('0x20')][_0xed4c('0xe')]);_0x1905d0[_0xed4c('0xd')]=qs[_0xed4c('0xd')](_0x2ae4c8['query'][_0xed4c('0xd')]);}return _0x223f65[_0xed4c('0x4b')](_0x1905d0);}})['then'](function(_0x2cea74){if(_0x2cea74){return _0x2cea74?{'count':_0x429e14,'rows':_0x2cea74}:null;}})[_0xed4c('0x12')](respondWithResult(_0x493969,null))[_0xed4c('0x37')](handleError(_0x493969,null));};exports['addTeams']=function(_0x488ac4,_0x5d85f1){var _0x268752=_0x488ac4[_0xed4c('0x2f')]['ids'];return db[_0xed4c('0x4c')]['findAll']({'where':{'id':_0x268752},'attributes':['id'],'include':[{'model':db[_0xed4c('0x4e')],'as':_0xed4c('0x4f'),'attributes':['id','name','online',_0xed4c('0x50'),_0xed4c('0x51')],'raw':!![]}]})[_0xed4c('0x12')](function(_0x2602bc){if(_0x2602bc){var _0x4330ca=_[_0xed4c('0x52')](_0x2602bc,function(_0x4d3fa2){var _0x110cb3=_0x4d3fa2[_0xed4c('0x31')]({'plain':!![]});return _0x110cb3[_0xed4c('0x4f')];});return db[_0xed4c('0x1a')][_0xed4c('0x35')]({'where':{'id':_0x488ac4[_0xed4c('0x24')]['id']}})[_0xed4c('0x12')](function(_0x54aad2){return db[_0xed4c('0x53')][_0xed4c('0x54')](function(_0x185b69){return _0x54aad2[_0xed4c('0x55')](_0x268752,{'transaction':_0x185b69})['then'](function(){return BPromise[_0xed4c('0x56')](_0x4330ca,function(_0x465ebf){return db['UserMailQueue'][_0xed4c('0x57')]({'where':{'UserId':_0x465ebf['id'],'MailQueueId':_0x488ac4[_0xed4c('0x24')]['id']},'transaction':_0x185b69});});})[_0xed4c('0x12')](function(){_0x4330ca[_0xed4c('0x58')](function(_0x239f0f){socket[_0xed4c('0x59')](_0xed4c('0x5a'),{'UserId':_0x239f0f['id'],'MailQueueId':_0x54aad2['id']});});});});});}})[_0xed4c('0x12')](respondWithStatusCode(_0x5d85f1,null))[_0xed4c('0x37')](handleError(_0x5d85f1,null));};exports[_0xed4c('0x5b')]=function(_0x490e23,_0x4a0254){return db['Team'][_0xed4c('0x21')]({'where':{'id':_0x490e23[_0xed4c('0x20')][_0xed4c('0x5c')]},'attributes':['id'],'include':[{'model':db[_0xed4c('0x4e')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xed4c('0x12')](handleEntityNotFound(_0x4a0254,null))['then'](function(_0x554061){var _0x48bfc1=_[_0xed4c('0x44')](_0x554061,'id');var _0x27c80b=[];var _0x2a0519=[];var _0x50b909=squel[_0xed4c('0x5d')]();_0x50b909[_0xed4c('0x5e')](_0xed4c('0x5f'))[_0xed4c('0x60')](_0xed4c('0x61'),'tq')[_0xed4c('0x62')]('user_has_teams','ut',_0xed4c('0x63'))[_0xed4c('0x1e')]('MailQueueId\x20=\x20?',_0x490e23['params']['id']);for(var _0x5cba51=0x0;_0x5cba51<_0x554061[_0xed4c('0x2a')];_0x5cba51+=0x1){let _0x18577c=_0x554061[_0x5cba51];for(var _0x2949c0=0x0;_0x2949c0<_0x18577c[_0xed4c('0x4f')][_0xed4c('0x2a')];_0x2949c0+=0x1){let _0x499829=_0x18577c[_0xed4c('0x4f')][_0x2949c0];var _0x2d2bf3=_0x50b909[_0xed4c('0x64')]();_0x2d2bf3[_0xed4c('0x1e')](_0xed4c('0x65'),_0x499829['id']);_0x2a0519[_0xed4c('0x66')](db[_0xed4c('0x53')][_0xed4c('0x20')](_0x2d2bf3[_0xed4c('0x67')](),{'type':db[_0xed4c('0x53')]['QueryTypes'][_0xed4c('0x68')]})[_0xed4c('0x12')](function(_0x20ff55){if(_0x20ff55[_0xed4c('0x2a')]===0x1){return _0x499829['id'];}else{var _0x1b7997=_[_0xed4c('0x69')](_[_0xed4c('0x44')](_0x20ff55,'TeamId'),function(_0x569318){return _['includes'](_0x48bfc1,_0x569318);});if(_0x1b7997){return _0x499829['id'];}}}));}}return BPromise[_0xed4c('0x6a')](_0x2a0519)[_0xed4c('0x12')](function(_0x4cb98e){_0x27c80b=_(_0x27c80b)[_0xed4c('0x6b')](_0x4cb98e)[_0xed4c('0x6c')]()[_0xed4c('0x6d')]();return db['MailQueue'][_0xed4c('0x35')]({'where':{'id':_0x490e23['params']['id']}})[_0xed4c('0x12')](function(_0x4f427b){return db['sequelize'][_0xed4c('0x54')](function(_0x2e12ed){return _0x4f427b[_0xed4c('0x5b')](_0x490e23['query'][_0xed4c('0x5c')],{'transaction':_0x2e12ed})[_0xed4c('0x12')](function(){if(!_[_0xed4c('0x6e')](_0x27c80b)){return _0x4f427b[_0xed4c('0x6f')](_0x27c80b,{'transaction':_0x2e12ed});}})[_0xed4c('0x12')](function(){_0x27c80b[_0xed4c('0x58')](function(_0x15a2c0){socket[_0xed4c('0x59')](_0xed4c('0x70'),{'UserId':_0x15a2c0,'MailQueueId':_0x4f427b['id']});});});});});});})[_0xed4c('0x12')](respondWithStatusCode(_0x4a0254,null))[_0xed4c('0x37')](handleError(_0x4a0254,null));};exports[_0xed4c('0x71')]=function(_0x5c205a,_0x33e711){return db[_0xed4c('0x1a')][_0xed4c('0x35')]({'where':{'id':_0x5c205a[_0xed4c('0x24')]['id']}})[_0xed4c('0x12')](handleEntityNotFound(_0x33e711,null))[_0xed4c('0x12')](function(_0x3c9a27){if(_0x3c9a27){return _0x3c9a27['addAgents'](_0x5c205a[_0xed4c('0x2f')][_0xed4c('0x5c')],_['omit'](_0x5c205a[_0xed4c('0x2f')],[_0xed4c('0x5c'),'id'])||{})[_0xed4c('0x72')](function(_0x343ffb){for(var _0x4e8547=0x0;_0x4e8547<_0x5c205a[_0xed4c('0x2f')][_0xed4c('0x5c')][_0xed4c('0x2a')];_0x4e8547+=0x1){socket[_0xed4c('0x59')](_0xed4c('0x5a'),{'UserId':Number(_0x5c205a[_0xed4c('0x2f')][_0xed4c('0x5c')][_0x4e8547]),'MailQueueId':Number(_0x5c205a['params']['id'])});}return _0x343ffb;});}})[_0xed4c('0x12')](respondWithResult(_0x33e711,null))[_0xed4c('0x37')](handleError(_0x33e711,null));};exports[_0xed4c('0x6f')]=function(_0x57b275,_0xccdca5){return db[_0xed4c('0x1a')][_0xed4c('0x35')]({'where':{'id':_0x57b275['params']['id']}})['then'](handleEntityNotFound(_0xccdca5,null))['then'](function(_0xd36a4d){if(_0xd36a4d){return _0xd36a4d['removeAgents'](_0x57b275['query'][_0xed4c('0x5c')])['then'](function(){if(_[_0xed4c('0x73')](_0x57b275[_0xed4c('0x20')][_0xed4c('0x5c')])){for(var _0x101ab1=0x0;_0x101ab1<_0x57b275[_0xed4c('0x20')][_0xed4c('0x5c')]['length'];_0x101ab1+=0x1){socket[_0xed4c('0x59')](_0xed4c('0x70'),{'UserId':Number(_0x57b275[_0xed4c('0x20')][_0xed4c('0x5c')][_0x101ab1]),'MailQueueId':Number(_0x57b275[_0xed4c('0x24')]['id'])});}}else{socket[_0xed4c('0x59')](_0xed4c('0x70'),{'UserId':Number(_0x57b275[_0xed4c('0x20')]['ids']),'MailQueueId':Number(_0x57b275[_0xed4c('0x24')]['id'])});}});}})[_0xed4c('0x12')](respondWithStatusCode(_0xccdca5,null))[_0xed4c('0x37')](handleError(_0xccdca5,null));};exports[_0xed4c('0x74')]=function(_0x3931c6,_0x27f150){var _0x53e36e={};var _0x1509b9={};var _0x42d7c0;var _0x53e758;return db[_0xed4c('0x1a')]['findOne']({'where':{'id':_0x3931c6[_0xed4c('0x24')]['id']}})[_0xed4c('0x12')](handleEntityNotFound(_0x27f150,null))[_0xed4c('0x12')](function(_0xca321d){if(_0xca321d){_0x42d7c0=_0xca321d;_0x1509b9[_0xed4c('0x25')]=_['keys'](db[_0xed4c('0x4e')][_0xed4c('0x1b')]);_0x1509b9['query']=_['keys'](_0x3931c6[_0xed4c('0x20')]);_0x1509b9[_0xed4c('0x41')]=_['intersection'](_0x1509b9[_0xed4c('0x25')],_0x1509b9[_0xed4c('0x20')]);_0x53e36e[_0xed4c('0x27')]=_[_0xed4c('0x28')](_0x1509b9[_0xed4c('0x25')],qs[_0xed4c('0x29')](_0x3931c6['query']['fields']));_0x53e36e['attributes']=_0x53e36e[_0xed4c('0x27')][_0xed4c('0x2a')]?_0x53e36e[_0xed4c('0x27')]:_0x1509b9[_0xed4c('0x25')];_0x53e36e[_0xed4c('0x3f')]=qs['sort'](_0x3931c6[_0xed4c('0x20')]['sort']);_0x53e36e[_0xed4c('0x1e')]=qs[_0xed4c('0x41')](_[_0xed4c('0x4d')](_0x3931c6[_0xed4c('0x20')],_0x1509b9[_0xed4c('0x41')]));if(_0x3931c6[_0xed4c('0x20')][_0xed4c('0x43')]){_0x53e36e[_0xed4c('0x1e')]=_['merge'](_0x53e36e['where'],{'$or':_['map'](_0x53e36e[_0xed4c('0x27')],function(_0x3c708b){var _0x461b87={};_0x461b87[_0x3c708b]={'$like':'%'+_0x3931c6[_0xed4c('0x20')][_0xed4c('0x43')]+'%'};return _0x461b87;})});}_0x53e36e=_[_0xed4c('0x2c')]({},_0x53e36e,_0x3931c6[_0xed4c('0x2d')]);return _0x42d7c0[_0xed4c('0x74')](_0x53e36e);}})[_0xed4c('0x12')](function(_0x37134c){if(_0x37134c){_0x53e758=_0x37134c[_0xed4c('0x2a')];if(!_0x3931c6[_0xed4c('0x20')][_0xed4c('0x3d')]('nolimit')){_0x53e36e[_0xed4c('0xe')]=qs['limit'](_0x3931c6[_0xed4c('0x20')][_0xed4c('0xe')]);_0x53e36e[_0xed4c('0xd')]=qs[_0xed4c('0xd')](_0x3931c6[_0xed4c('0x20')][_0xed4c('0xd')]);}return _0x42d7c0[_0xed4c('0x74')](_0x53e36e);}})[_0xed4c('0x12')](function(_0x313d72){if(_0x313d72){return _0x313d72?{'count':_0x53e758,'rows':_0x313d72}:null;}})[_0xed4c('0x12')](respondWithResult(_0x27f150,null))[_0xed4c('0x37')](handleError(_0x27f150,null));};