03e78f435d99d34d549f4a94d3ca16142d26af5e
[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 _0x76e5=['includes','all','value','transaction','isEmpty','forEach','userMailQueue:remove','addAgents','omit','spread','userMailQueue:save','removeAgents','isArray','getAgents','bluebird','squel','ioredis','../../components/parsers/qs','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','end','json','offset','undefined','limit','count','status','set','Content-Range','update','then','UserProfileResource','destroy','error','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','key','getOptions','where','include','query','findAll','rows','catch','params','model','keys','filters','intersection','fields','attributes','length','includeAll','merge','options','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','MailQueues','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','hasOwnProperty','nolimit','order','sort','pick','filter','User','findAndCountAll','UserId','mailPause','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','Agents','online','voicePause','interface','flatMap','sequelize','UserMailQueue','emit','removeTeams','ids','select','tq.TeamId','from','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT'];(function(_0x524b4d,_0x141f95){var _0x44500d=function(_0x48a2be){while(--_0x48a2be){_0x524b4d['push'](_0x524b4d['shift']());}};_0x44500d(++_0x141f95);}(_0x76e5,0x106));var _0x576e=function(_0x4068ac,_0x4cfdab){_0x4068ac=_0x4068ac-0x0;var _0x28e371=_0x76e5[_0x4068ac];return _0x28e371;};'use strict';var BPromise=require(_0x576e('0x0'));var util=require('util');var _=require('lodash');var squel=require(_0x576e('0x1'));var Redis=require(_0x576e('0x2'));var qs=require(_0x576e('0x3'));var logger=require(_0x576e('0x4'))(_0x576e('0x5'));var config=require('../../config/environment');var db=require(_0x576e('0x6'))['db'];config[_0x576e('0x7')]=_[_0x576e('0x8')](config['redis'],{'host':_0x576e('0x9'),'port':0x18eb});var socket=require(_0x576e('0xa'))(new Redis(config[_0x576e('0x7')]));require(_0x576e('0xb'))[_0x576e('0xc')](socket);function respondWithStatusCode(_0x47a7f8,_0x13e38f){_0x13e38f=_0x13e38f||0xcc;return function(_0x41581d){if(_0x41581d){return _0x47a7f8[_0x576e('0xd')](_0x13e38f);}return _0x47a7f8['status'](_0x13e38f)[_0x576e('0xe')]();};}function respondWithResult(_0x3bbe4c,_0x3a4f67){_0x3a4f67=_0x3a4f67||0xc8;return function(_0x4350fb){if(_0x4350fb){return _0x3bbe4c['status'](_0x3a4f67)[_0x576e('0xf')](_0x4350fb);}};}function respondWithFilteredResult(_0x5d2427,_0x241fbc){return function(_0x39dd2f){if(_0x39dd2f){var _0x53d750=typeof _0x241fbc[_0x576e('0x10')]===_0x576e('0x11')&&typeof _0x241fbc[_0x576e('0x12')]==='undefined';var _0x5ba501=_0x39dd2f['count'];var _0xe7e02c=_0x53d750?0x0:_0x241fbc[_0x576e('0x10')];var _0x3b0b72=_0x53d750?_0x39dd2f[_0x576e('0x13')]:_0x241fbc['offset']+_0x241fbc[_0x576e('0x12')];var _0x1c89de;if(_0x3b0b72>=_0x5ba501){_0x3b0b72=_0x5ba501;_0x1c89de=0xc8;}else{_0x1c89de=0xce;}_0x5d2427[_0x576e('0x14')](_0x1c89de);return _0x5d2427[_0x576e('0x15')](_0x576e('0x16'),_0xe7e02c+'-'+_0x3b0b72+'/'+_0x5ba501)['json'](_0x39dd2f);}return null;};}function saveUpdates(_0x47ef60){return function(_0x4af0c0){if(_0x4af0c0){return _0x4af0c0[_0x576e('0x17')](_0x47ef60)[_0x576e('0x18')](function(_0xc27e4b){return _0xc27e4b;});}return null;};}function removeEntity(_0x40f85d){return function(_0x555c8f){if(_0x555c8f){return _0x555c8f['destroy']()[_0x576e('0x18')](function(){var _0x5e7d11=_0x555c8f['get']({'plain':!![]});var _0x48c296='MailQueues';return db[_0x576e('0x19')][_0x576e('0x1a')]({'where':{'type':_0x48c296,'resourceId':_0x5e7d11['id']}})['then'](function(){return _0x555c8f;});})[_0x576e('0x18')](function(){_0x40f85d[_0x576e('0x14')](0xcc)[_0x576e('0xe')]();});}};}function handleEntityNotFound(_0x259587){return function(_0x12b538){if(!_0x12b538){_0x259587[_0x576e('0xd')](0x194);}return _0x12b538;};}function handleError(_0x303cae,_0x35decf){_0x35decf=_0x35decf||0x1f4;return function(_0x3c6238){logger[_0x576e('0x1b')](_0x3c6238[_0x576e('0x1c')]);if(_0x3c6238[_0x576e('0x1d')]){delete _0x3c6238[_0x576e('0x1d')];}_0x303cae[_0x576e('0x14')](_0x35decf)[_0x576e('0x1e')](_0x3c6238);};}exports[_0x576e('0x1f')]=function(_0x1f07a1,_0x43a4c8){var _0x4b7e53={};var _0x457e2a={'count':0x0,'rows':[]};var _0xa698fb=_[_0x576e('0x20')](db[_0x576e('0x21')][_0x576e('0x22')],function(_0x19b506){return{'name':_0x19b506[_0x576e('0x23')],'type':_0x19b506['type'][_0x576e('0x24')]};});_0x4b7e53=qs[_0x576e('0x25')](_0xa698fb,_0x1f07a1);var _0x172def={'where':_0x4b7e53[_0x576e('0x26')]};return db['MailQueue'][_0x576e('0x13')](_0x172def)[_0x576e('0x18')](function(_0x5276cb){_0x457e2a[_0x576e('0x13')]=_0x5276cb;_0x4b7e53[_0x576e('0x27')]=qs[_0x576e('0x27')](_0x1f07a1[_0x576e('0x28')]);return db[_0x576e('0x21')][_0x576e('0x29')](_0x4b7e53);})['then'](function(_0x1b15d8){_0x457e2a[_0x576e('0x2a')]=_0x1b15d8;return _0x457e2a;})[_0x576e('0x18')](respondWithFilteredResult(_0x43a4c8,_0x4b7e53))[_0x576e('0x2b')](handleError(_0x43a4c8,null));};exports['show']=function(_0x3df0f1,_0x7bf1f2){var _0x1b70fd={'raw':!![],'where':{'id':_0x3df0f1[_0x576e('0x2c')]['id']}},_0x585224={};_0x585224[_0x576e('0x2d')]=_[_0x576e('0x2e')](db['MailQueue'][_0x576e('0x22')]);_0x585224[_0x576e('0x28')]=_[_0x576e('0x2e')](_0x3df0f1['query']);_0x585224[_0x576e('0x2f')]=_[_0x576e('0x30')](_0x585224['model'],_0x585224[_0x576e('0x28')]);_0x1b70fd['attributes']=_[_0x576e('0x30')](_0x585224['model'],qs[_0x576e('0x31')](_0x3df0f1[_0x576e('0x28')]['fields']));_0x1b70fd[_0x576e('0x32')]=_0x1b70fd[_0x576e('0x32')][_0x576e('0x33')]?_0x1b70fd[_0x576e('0x32')]:_0x585224[_0x576e('0x2d')];if(_0x3df0f1[_0x576e('0x28')][_0x576e('0x34')]){_0x1b70fd[_0x576e('0x27')]=[{'all':!![]}];}_0x1b70fd=_[_0x576e('0x35')]({},_0x1b70fd,_0x3df0f1[_0x576e('0x36')]);return db[_0x576e('0x21')][_0x576e('0x37')](_0x1b70fd)[_0x576e('0x18')](handleEntityNotFound(_0x7bf1f2,null))[_0x576e('0x18')](respondWithResult(_0x7bf1f2,null))[_0x576e('0x2b')](handleError(_0x7bf1f2,null));};exports[_0x576e('0x38')]=function(_0x5a3dd6,_0x51d7a7){return db['MailQueue'][_0x576e('0x38')](_0x5a3dd6[_0x576e('0x39')],{})[_0x576e('0x18')](function(_0x5ab60d){var _0x3d689c=_0x5a3dd6['user'][_0x576e('0x3a')]({'plain':!![]});if(!_0x3d689c)throw new Error(_0x576e('0x3b'));if(_0x3d689c[_0x576e('0x3c')]===_0x576e('0x3d')){var _0x2baaeb=_0x5ab60d['get']({'plain':!![]});var _0x441a86=_0x576e('0x3e');return db[_0x576e('0x3f')][_0x576e('0x37')]({'where':{'name':_0x441a86,'userProfileId':_0x3d689c[_0x576e('0x40')]},'raw':!![]})[_0x576e('0x18')](function(_0xba8bc5){if(_0xba8bc5&&_0xba8bc5[_0x576e('0x41')]===0x0){return db[_0x576e('0x19')][_0x576e('0x38')]({'name':_0x2baaeb['name'],'resourceId':_0x2baaeb['id'],'type':_0xba8bc5['name'],'sectionId':_0xba8bc5['id']},{})['then'](function(){return _0x5ab60d;});}else{return _0x5ab60d;}})[_0x576e('0x2b')](function(_0x13eafd){logger['error'](_0x576e('0x42'),_0x13eafd);throw _0x13eafd;});}return _0x5ab60d;})[_0x576e('0x18')](respondWithResult(_0x51d7a7,0xc9))[_0x576e('0x2b')](handleError(_0x51d7a7,null));};exports[_0x576e('0x17')]=function(_0x52aa68,_0x47ebbc){if(_0x52aa68[_0x576e('0x39')]['id']){delete _0x52aa68[_0x576e('0x39')]['id'];}return db[_0x576e('0x21')]['find']({'where':{'id':_0x52aa68[_0x576e('0x2c')]['id']}})[_0x576e('0x18')](handleEntityNotFound(_0x47ebbc,null))[_0x576e('0x18')](saveUpdates(_0x52aa68[_0x576e('0x39')],null))['then'](respondWithResult(_0x47ebbc,null))['catch'](handleError(_0x47ebbc,null));};exports[_0x576e('0x1a')]=function(_0x477c24,_0x382bec){return db[_0x576e('0x21')]['find']({'where':{'id':_0x477c24['params']['id']}})['then'](handleEntityNotFound(_0x382bec,null))[_0x576e('0x18')](removeEntity(_0x382bec,null))['catch'](handleError(_0x382bec,null));};exports[_0x576e('0x43')]=function(_0x402f02,_0x425320){return db[_0x576e('0x21')][_0x576e('0x43')]()[_0x576e('0x18')](respondWithResult(_0x425320,null))['catch'](handleError(_0x425320,null));};exports[_0x576e('0x44')]=function(_0x1abeca,_0x4ac331){var _0x286d51={'raw':!![],'where':{}},_0x27f686={},_0x3eb255;return db[_0x576e('0x21')][_0x576e('0x45')]({'where':{'id':_0x1abeca[_0x576e('0x2c')]['id']}})[_0x576e('0x18')](handleEntityNotFound(_0x4ac331,null))[_0x576e('0x18')](function(_0x37db8b){if(_0x37db8b){_0x3eb255=_0x37db8b[_0x576e('0x3a')]({'plain':!![]});_0x27f686[_0x576e('0x2d')]=_['keys'](db['UserMailQueue']['rawAttributes']);_0x27f686[_0x576e('0x28')]=_[_0x576e('0x2e')](_0x1abeca[_0x576e('0x28')]);_0x27f686[_0x576e('0x2f')]=_[_0x576e('0x30')](_0x27f686['model'],_0x27f686['query']);_0x286d51[_0x576e('0x32')]=_[_0x576e('0x30')](_0x27f686['model'],qs['fields'](_0x1abeca['query'][_0x576e('0x31')]));_0x286d51[_0x576e('0x32')]=_0x286d51['attributes']['length']?_0x286d51[_0x576e('0x32')]:_0x27f686[_0x576e('0x2d')];if(!_0x1abeca[_0x576e('0x28')][_0x576e('0x46')](_0x576e('0x47'))){_0x286d51[_0x576e('0x12')]=qs[_0x576e('0x12')](_0x1abeca[_0x576e('0x28')]['limit']);_0x286d51[_0x576e('0x10')]=qs[_0x576e('0x10')](_0x1abeca[_0x576e('0x28')][_0x576e('0x10')]);}_0x286d51[_0x576e('0x48')]=qs[_0x576e('0x49')](_0x1abeca[_0x576e('0x28')][_0x576e('0x49')]);_0x286d51[_0x576e('0x26')]=qs[_0x576e('0x2f')](_[_0x576e('0x4a')](_0x1abeca[_0x576e('0x28')],_0x27f686[_0x576e('0x2f')]));_0x286d51[_0x576e('0x26')]['MailQueueId']=_0x37db8b['id'];if(_0x1abeca['query'][_0x576e('0x4b')]){_0x286d51[_0x576e('0x26')]=_[_0x576e('0x35')](_0x286d51['where'],{'$or':_['map'](_0x286d51['attributes'],function(_0x26afdd){var _0x500230={};_0x500230[_0x26afdd]={'$like':'%'+_0x1abeca[_0x576e('0x28')][_0x576e('0x4b')]+'%'};return _0x500230;})});}_0x286d51=_[_0x576e('0x35')]({},_0x286d51,_0x1abeca['options']);return db['UserMailQueue'][_0x576e('0x29')](_0x286d51);}})[_0x576e('0x18')](function(_0x1d0d4c){if(_0x1d0d4c){return db[_0x576e('0x4c')][_0x576e('0x4d')]({'where':{'id':_[_0x576e('0x20')](_0x1d0d4c,_0x576e('0x4e')),'role':'agent'},'attributes':['id',_0x576e('0x1d'),_0x576e('0x4f'),'updatedAt',_0x576e('0x50')]});}})[_0x576e('0x18')](function(_0x51bb55){if(_0x51bb55){return{'count':_0x51bb55[_0x576e('0x13')],'rows':_['map'](_0x51bb55[_0x576e('0x2a')],function(_0x4aa4a5){return{'membername':_0x4aa4a5['name'],'UserId':_0x4aa4a5['id'],'queue_name':_0x3eb255[_0x576e('0x1d')],'MailQueueId':_0x3eb255['id'],'interface':util[_0x576e('0x51')](_0x576e('0x52'),_0x576e('0x53'),_0x4aa4a5['name']),'penalty':0x0,'paused':_0x4aa4a5[_0x576e('0x4f')],'createdAt':_0x4aa4a5[_0x576e('0x50')],'updatedAt':_0x4aa4a5['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x576e('0x18')](respondWithFilteredResult(_0x4ac331,_0x286d51))[_0x576e('0x2b')](handleError(_0x4ac331,null));};exports[_0x576e('0x54')]=function(_0x2994b1,_0x195979){var _0x301aa5={};var _0x506b61={};var _0x5632f4;var _0x4e7f33;return db[_0x576e('0x21')][_0x576e('0x45')]({'where':{'id':_0x2994b1[_0x576e('0x2c')]['id']}})[_0x576e('0x18')](handleEntityNotFound(_0x195979,null))[_0x576e('0x18')](function(_0x597383){if(_0x597383){_0x5632f4=_0x597383;_0x506b61[_0x576e('0x2d')]=_[_0x576e('0x2e')](db[_0x576e('0x55')][_0x576e('0x22')]);_0x506b61['query']=_[_0x576e('0x2e')](_0x2994b1['query']);_0x506b61['filters']=_[_0x576e('0x30')](_0x506b61[_0x576e('0x2d')],_0x506b61[_0x576e('0x28')]);_0x301aa5[_0x576e('0x32')]=_['intersection'](_0x506b61[_0x576e('0x2d')],qs[_0x576e('0x31')](_0x2994b1['query'][_0x576e('0x31')]));_0x301aa5['attributes']=_0x301aa5['attributes'][_0x576e('0x33')]?_0x301aa5[_0x576e('0x32')]:_0x506b61[_0x576e('0x2d')];_0x301aa5[_0x576e('0x48')]=qs[_0x576e('0x49')](_0x2994b1['query'][_0x576e('0x49')]);_0x301aa5[_0x576e('0x26')]=qs[_0x576e('0x2f')](_[_0x576e('0x4a')](_0x2994b1['query'],_0x506b61[_0x576e('0x2f')]));if(_0x2994b1['query'][_0x576e('0x4b')]){_0x301aa5[_0x576e('0x26')]=_[_0x576e('0x35')](_0x301aa5[_0x576e('0x26')],{'$or':_[_0x576e('0x20')](_0x301aa5['attributes'],function(_0x593845){var _0x48663e={};_0x48663e[_0x593845]={'$like':'%'+_0x2994b1[_0x576e('0x28')][_0x576e('0x4b')]+'%'};return _0x48663e;})});}_0x301aa5=_['merge']({},_0x301aa5,_0x2994b1['options']);return _0x5632f4[_0x576e('0x54')](_0x301aa5);}})[_0x576e('0x18')](function(_0x15deff){if(_0x15deff){_0x4e7f33=_0x15deff[_0x576e('0x33')];if(!_0x2994b1[_0x576e('0x28')][_0x576e('0x46')](_0x576e('0x47'))){_0x301aa5[_0x576e('0x12')]=qs[_0x576e('0x12')](_0x2994b1['query']['limit']);_0x301aa5[_0x576e('0x10')]=qs['offset'](_0x2994b1[_0x576e('0x28')][_0x576e('0x10')]);}return _0x5632f4[_0x576e('0x54')](_0x301aa5);}})[_0x576e('0x18')](function(_0x54e035){if(_0x54e035){return _0x54e035?{'count':_0x4e7f33,'rows':_0x54e035}:null;}})[_0x576e('0x18')](respondWithResult(_0x195979,null))[_0x576e('0x2b')](handleError(_0x195979,null));};exports[_0x576e('0x56')]=function(_0x5e051f,_0x284523){var _0x37f25b=_0x5e051f['body']['ids'];return db[_0x576e('0x55')]['findAll']({'where':{'id':_0x37f25b},'attributes':['id'],'include':[{'model':db[_0x576e('0x4c')],'as':_0x576e('0x57'),'attributes':['id',_0x576e('0x1d'),_0x576e('0x58'),_0x576e('0x59'),_0x576e('0x5a')],'raw':!![]}]})[_0x576e('0x18')](function(_0x4e4c16){if(_0x4e4c16){var _0x234f79=_[_0x576e('0x5b')](_0x4e4c16,function(_0x2d7c1c){var _0x41a50f=_0x2d7c1c[_0x576e('0x3a')]({'plain':!![]});return _0x41a50f[_0x576e('0x57')];});return db[_0x576e('0x21')][_0x576e('0x37')]({'where':{'id':_0x5e051f[_0x576e('0x2c')]['id']}})[_0x576e('0x18')](function(_0x3fa1e4){return db[_0x576e('0x5c')]['transaction'](function(_0x34680b){return _0x3fa1e4[_0x576e('0x56')](_0x37f25b,{'transaction':_0x34680b})[_0x576e('0x18')](function(){return BPromise['each'](_0x234f79,function(_0x2e6526){return db[_0x576e('0x5d')]['findOrCreate']({'where':{'UserId':_0x2e6526['id'],'MailQueueId':_0x5e051f['params']['id']},'transaction':_0x34680b});});})[_0x576e('0x18')](function(){_0x234f79['forEach'](function(_0x366fab){socket[_0x576e('0x5e')]('userMailQueue:save',{'UserId':_0x366fab['id'],'MailQueueId':_0x3fa1e4['id']});});});});});}})[_0x576e('0x18')](respondWithStatusCode(_0x284523,null))[_0x576e('0x2b')](handleError(_0x284523,null));};exports[_0x576e('0x5f')]=function(_0x1ac0b6,_0x1f0cdf){return db[_0x576e('0x55')][_0x576e('0x29')]({'where':{'id':_0x1ac0b6[_0x576e('0x28')][_0x576e('0x60')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x576e('0x57'),'attributes':['id'],'raw':!![]}]})[_0x576e('0x18')](handleEntityNotFound(_0x1f0cdf,null))[_0x576e('0x18')](function(_0x9ad36d){var _0x3b91f1=_[_0x576e('0x20')](_0x9ad36d,'id');var _0x339440=[];var _0x235d0a=[];var _0x159a6c=squel[_0x576e('0x61')]();_0x159a6c['field'](_0x576e('0x62'))[_0x576e('0x63')](_0x576e('0x64'),'tq')[_0x576e('0x65')]('user_has_teams','ut',_0x576e('0x66'))[_0x576e('0x26')](_0x576e('0x67'),_0x1ac0b6[_0x576e('0x2c')]['id']);for(var _0x5808c2=0x0;_0x5808c2<_0x9ad36d[_0x576e('0x33')];_0x5808c2+=0x1){let _0x381574=_0x9ad36d[_0x5808c2];for(var _0x83173=0x0;_0x83173<_0x381574[_0x576e('0x57')][_0x576e('0x33')];_0x83173+=0x1){let _0x3f045b=_0x381574['Agents'][_0x83173];var _0x49ab8f=_0x159a6c[_0x576e('0x68')]();_0x49ab8f[_0x576e('0x26')](_0x576e('0x69'),_0x3f045b['id']);_0x235d0a[_0x576e('0x6a')](db[_0x576e('0x5c')]['query'](_0x49ab8f[_0x576e('0x6b')](),{'type':db[_0x576e('0x5c')][_0x576e('0x6c')][_0x576e('0x6d')]})[_0x576e('0x18')](function(_0x56270b){if(_0x56270b[_0x576e('0x33')]===0x1){return _0x3f045b['id'];}else{var _0x55b711=_['every'](_['map'](_0x56270b,'TeamId'),function(_0x28e0a6){return _[_0x576e('0x6e')](_0x3b91f1,_0x28e0a6);});if(_0x55b711){return _0x3f045b['id'];}}}));}}return BPromise[_0x576e('0x6f')](_0x235d0a)[_0x576e('0x18')](function(_0x32867e){_0x339440=_(_0x339440)['union'](_0x32867e)['compact']()[_0x576e('0x70')]();return db[_0x576e('0x21')][_0x576e('0x37')]({'where':{'id':_0x1ac0b6[_0x576e('0x2c')]['id']}})[_0x576e('0x18')](function(_0x11a930){return db[_0x576e('0x5c')][_0x576e('0x71')](function(_0x4a7f98){return _0x11a930[_0x576e('0x5f')](_0x1ac0b6[_0x576e('0x28')][_0x576e('0x60')],{'transaction':_0x4a7f98})[_0x576e('0x18')](function(){if(!_[_0x576e('0x72')](_0x339440)){return _0x11a930['removeAgents'](_0x339440,{'transaction':_0x4a7f98});}})[_0x576e('0x18')](function(){_0x339440[_0x576e('0x73')](function(_0x282f8e){socket[_0x576e('0x5e')](_0x576e('0x74'),{'UserId':_0x282f8e,'MailQueueId':_0x11a930['id']});});});});});});})[_0x576e('0x18')](respondWithStatusCode(_0x1f0cdf,null))['catch'](handleError(_0x1f0cdf,null));};exports[_0x576e('0x75')]=function(_0x2ac20a,_0xe7cd79){return db[_0x576e('0x21')][_0x576e('0x37')]({'where':{'id':_0x2ac20a[_0x576e('0x2c')]['id']}})['then'](handleEntityNotFound(_0xe7cd79,null))[_0x576e('0x18')](function(_0x3a7b7b){if(_0x3a7b7b){return _0x3a7b7b['addAgents'](_0x2ac20a[_0x576e('0x39')][_0x576e('0x60')],_[_0x576e('0x76')](_0x2ac20a['body'],[_0x576e('0x60'),'id'])||{})[_0x576e('0x77')](function(_0x4991a2){for(var _0x306355=0x0;_0x306355<_0x2ac20a[_0x576e('0x39')][_0x576e('0x60')][_0x576e('0x33')];_0x306355+=0x1){socket[_0x576e('0x5e')](_0x576e('0x78'),{'UserId':Number(_0x2ac20a[_0x576e('0x39')][_0x576e('0x60')][_0x306355]),'MailQueueId':Number(_0x2ac20a[_0x576e('0x2c')]['id'])});}return _0x4991a2;});}})[_0x576e('0x18')](respondWithResult(_0xe7cd79,null))[_0x576e('0x2b')](handleError(_0xe7cd79,null));};exports[_0x576e('0x79')]=function(_0x568578,_0x496023){return db[_0x576e('0x21')][_0x576e('0x37')]({'where':{'id':_0x568578[_0x576e('0x2c')]['id']}})[_0x576e('0x18')](handleEntityNotFound(_0x496023,null))[_0x576e('0x18')](function(_0x5934e5){if(_0x5934e5){return _0x5934e5[_0x576e('0x79')](_0x568578[_0x576e('0x28')][_0x576e('0x60')])[_0x576e('0x18')](function(){if(_[_0x576e('0x7a')](_0x568578[_0x576e('0x28')][_0x576e('0x60')])){for(var _0x217479=0x0;_0x217479<_0x568578[_0x576e('0x28')]['ids'][_0x576e('0x33')];_0x217479+=0x1){socket[_0x576e('0x5e')]('userMailQueue:remove',{'UserId':Number(_0x568578[_0x576e('0x28')][_0x576e('0x60')][_0x217479]),'MailQueueId':Number(_0x568578[_0x576e('0x2c')]['id'])});}}else{socket[_0x576e('0x5e')]('userMailQueue:remove',{'UserId':Number(_0x568578[_0x576e('0x28')][_0x576e('0x60')]),'MailQueueId':Number(_0x568578[_0x576e('0x2c')]['id'])});}});}})[_0x576e('0x18')](respondWithStatusCode(_0x496023,null))[_0x576e('0x2b')](handleError(_0x496023,null));};exports[_0x576e('0x7b')]=function(_0x32f147,_0x28242c){var _0x39ccd4={};var _0x5b1cac={};var _0x2eda06;var _0x12f4db;return db[_0x576e('0x21')]['findOne']({'where':{'id':_0x32f147[_0x576e('0x2c')]['id']}})['then'](handleEntityNotFound(_0x28242c,null))[_0x576e('0x18')](function(_0x130a7d){if(_0x130a7d){_0x2eda06=_0x130a7d;_0x5b1cac['model']=_[_0x576e('0x2e')](db[_0x576e('0x4c')][_0x576e('0x22')]);_0x5b1cac[_0x576e('0x28')]=_[_0x576e('0x2e')](_0x32f147[_0x576e('0x28')]);_0x5b1cac[_0x576e('0x2f')]=_[_0x576e('0x30')](_0x5b1cac['model'],_0x5b1cac[_0x576e('0x28')]);_0x39ccd4[_0x576e('0x32')]=_[_0x576e('0x30')](_0x5b1cac['model'],qs['fields'](_0x32f147[_0x576e('0x28')][_0x576e('0x31')]));_0x39ccd4[_0x576e('0x32')]=_0x39ccd4[_0x576e('0x32')][_0x576e('0x33')]?_0x39ccd4[_0x576e('0x32')]:_0x5b1cac[_0x576e('0x2d')];_0x39ccd4[_0x576e('0x48')]=qs[_0x576e('0x49')](_0x32f147[_0x576e('0x28')][_0x576e('0x49')]);_0x39ccd4[_0x576e('0x26')]=qs[_0x576e('0x2f')](_['pick'](_0x32f147['query'],_0x5b1cac[_0x576e('0x2f')]));if(_0x32f147['query']['filter']){_0x39ccd4['where']=_[_0x576e('0x35')](_0x39ccd4[_0x576e('0x26')],{'$or':_['map'](_0x39ccd4[_0x576e('0x32')],function(_0x5eaa9a){var _0x23b476={};_0x23b476[_0x5eaa9a]={'$like':'%'+_0x32f147[_0x576e('0x28')]['filter']+'%'};return _0x23b476;})});}_0x39ccd4=_[_0x576e('0x35')]({},_0x39ccd4,_0x32f147[_0x576e('0x36')]);return _0x2eda06[_0x576e('0x7b')](_0x39ccd4);}})[_0x576e('0x18')](function(_0x187dcd){if(_0x187dcd){_0x12f4db=_0x187dcd[_0x576e('0x33')];if(!_0x32f147[_0x576e('0x28')][_0x576e('0x46')](_0x576e('0x47'))){_0x39ccd4['limit']=qs['limit'](_0x32f147[_0x576e('0x28')]['limit']);_0x39ccd4[_0x576e('0x10')]=qs['offset'](_0x32f147[_0x576e('0x28')][_0x576e('0x10')]);}return _0x2eda06[_0x576e('0x7b')](_0x39ccd4);}})[_0x576e('0x18')](function(_0x38cc8c){if(_0x38cc8c){return _0x38cc8c?{'count':_0x12f4db,'rows':_0x38cc8c}:null;}})[_0x576e('0x18')](respondWithResult(_0x28242c,null))[_0x576e('0x2b')](handleError(_0x28242c,null));};