2f5d044a72da57ce252a83cf764995a4f81ad726
[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 _0xd523=['pick','VIRTUAL','merge','options','MailQueue','rows','catch','show','params','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','nolimit','order','MailQueueId','filter','UserMailQueue','findAll','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','%s/%s','SIP','Team','getTeams','online','voicePause','interface','sequelize','transaction','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','Agents','field','tq.TeamId','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','push','QueryTypes','SELECT','every','TeamId','all','union','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','spread','getAgents','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','defaults','redis','./mailQueue.socket','register','sendStatus','status','end','json','count','offset','set','Content-Range','apply','save','update','then','destroy','get','UserProfileResource','error','name','send','map','rawAttributes','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','limit','sort','where'];(function(_0x5b8e05,_0x2d81fc){var _0x559d93=function(_0xc1447a){while(--_0xc1447a){_0x5b8e05['push'](_0x5b8e05['shift']());}};_0x559d93(++_0x2d81fc);}(_0xd523,0x153));var _0x3d52=function(_0x55c8f8,_0x1f42d2){_0x55c8f8=_0x55c8f8-0x0;var _0x2132f2=_0xd523[_0x55c8f8];return _0x2132f2;};'use strict';var pdf=require(_0x3d52('0x0'));var emlformat=require(_0x3d52('0x1'));var rimraf=require(_0x3d52('0x2'));var zipdir=require(_0x3d52('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3d52('0x4'));var moment=require(_0x3d52('0x5'));var BPromise=require(_0x3d52('0x6'));var Mustache=require('mustache');var util=require(_0x3d52('0x7'));var path=require(_0x3d52('0x8'));var sox=require(_0x3d52('0x9'));var csv=require(_0x3d52('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0x3d52('0xb'));var crypto=require(_0x3d52('0xc'));var jsforce=require(_0x3d52('0xd'));var deskjs=require(_0x3d52('0xe'));var toCsv=require(_0x3d52('0xa'));var querystring=require(_0x3d52('0xf'));var Papa=require(_0x3d52('0x10'));var Redis=require(_0x3d52('0x11'));var authService=require(_0x3d52('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x3d52('0x13'));var hardwareService=require(_0x3d52('0x14'));var logger=require(_0x3d52('0x15'))(_0x3d52('0x16'));var utils=require(_0x3d52('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x3d52('0x18'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x3d52('0x19')](config[_0x3d52('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x3d52('0x1b'))[_0x3d52('0x1c')](socket);function respondWithStatusCode(_0x1430c1,_0x2fd86e){_0x2fd86e=_0x2fd86e||0xcc;return function(_0x336261){if(_0x336261){return _0x1430c1[_0x3d52('0x1d')](_0x2fd86e);}return _0x1430c1[_0x3d52('0x1e')](_0x2fd86e)[_0x3d52('0x1f')]();};}function respondWithResult(_0x2e956d,_0x360659){_0x360659=_0x360659||0xc8;return function(_0x153c89){if(_0x153c89){return _0x2e956d[_0x3d52('0x1e')](_0x360659)[_0x3d52('0x20')](_0x153c89);}};}function respondWithFilteredResult(_0x10ec1e,_0x1dcea9){return function(_0x5bce9a){if(_0x5bce9a){var _0x163d88=_0x5bce9a[_0x3d52('0x21')],_0x3b3451=_0x1dcea9[_0x3d52('0x22')],_0x386cdb=_0x1dcea9[_0x3d52('0x22')]+_0x1dcea9['limit'],_0x54a514;if(_0x386cdb>=_0x163d88){_0x386cdb=_0x163d88;_0x54a514=0xc8;}else{_0x54a514=0xce;}_0x10ec1e[_0x3d52('0x1e')](_0x54a514);return _0x10ec1e[_0x3d52('0x23')](_0x3d52('0x24'),_0x3b3451+'-'+_0x386cdb+'/'+_0x163d88)[_0x3d52('0x20')](_0x5bce9a);}return null;};}function patchUpdates(_0x3bd95f){return function(_0xc0c16e){try{jsonpatch[_0x3d52('0x25')](_0xc0c16e,_0x3bd95f,!![]);}catch(_0x34b572){return BPromise['reject'](_0x34b572);}return _0xc0c16e[_0x3d52('0x26')]();};}function saveUpdates(_0x10f432,_0xd31ce4){return function(_0x5826c9){if(_0x5826c9){return _0x5826c9[_0x3d52('0x27')](_0x10f432)[_0x3d52('0x28')](function(_0x423d33){return _0x423d33;});}return null;};}function removeEntity(_0xc6c76,_0x3816bc){return function(_0x349b30){if(_0x349b30){return _0x349b30[_0x3d52('0x29')]()[_0x3d52('0x28')](function(){var _0x44ba59=_0x349b30[_0x3d52('0x2a')]({'plain':!![]});var _0x1ef6db='MailQueues';return db[_0x3d52('0x2b')][_0x3d52('0x29')]({'where':{'type':_0x1ef6db,'resourceId':_0x44ba59['id']}})[_0x3d52('0x28')](function(){return _0x349b30;});})[_0x3d52('0x28')](function(){_0xc6c76['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x473842,_0x11bf44){return function(_0x28e50d){if(!_0x28e50d){_0x473842['sendStatus'](0x194);}return _0x28e50d;};}function handleError(_0x209cca,_0x4312a7){_0x4312a7=_0x4312a7||0x1f4;return function(_0x2fd0ec){logger[_0x3d52('0x2c')](_0x2fd0ec['stack']);if(_0x2fd0ec[_0x3d52('0x2d')]){delete _0x2fd0ec[_0x3d52('0x2d')];}_0x209cca[_0x3d52('0x1e')](_0x4312a7)[_0x3d52('0x2e')](_0x2fd0ec);};}exports['index']=function(_0x12538a,_0x5a7455){var _0x5f006b={},_0x389582={},_0x45eabe={'count':0x0,'rows':[]};var _0x5e4e7b=_[_0x3d52('0x2f')](db['MailQueue'][_0x3d52('0x30')],function(_0x4c0273){return{'name':_0x4c0273['fieldName'],'type':_0x4c0273[_0x3d52('0x31')][_0x3d52('0x32')]};});_0x389582[_0x3d52('0x33')]=_[_0x3d52('0x2f')](_0x5e4e7b,_0x3d52('0x2d'));_0x389582[_0x3d52('0x34')]=_[_0x3d52('0x35')](_0x12538a[_0x3d52('0x34')]);_0x389582[_0x3d52('0x36')]=_['intersection'](_0x389582[_0x3d52('0x33')],_0x389582[_0x3d52('0x34')]);_0x5f006b[_0x3d52('0x37')]=_[_0x3d52('0x38')](_0x389582['model'],qs[_0x3d52('0x39')](_0x12538a[_0x3d52('0x34')]['fields']));_0x5f006b[_0x3d52('0x37')]=_0x5f006b['attributes'][_0x3d52('0x3a')]?_0x5f006b[_0x3d52('0x37')]:_0x389582[_0x3d52('0x33')];if(!_0x12538a['query'][_0x3d52('0x3b')]('nolimit')){_0x5f006b[_0x3d52('0x3c')]=qs[_0x3d52('0x3c')](_0x12538a[_0x3d52('0x34')]['limit']);_0x5f006b['offset']=qs[_0x3d52('0x22')](_0x12538a[_0x3d52('0x34')][_0x3d52('0x22')]);}_0x5f006b['order']=qs[_0x3d52('0x3d')](_0x12538a[_0x3d52('0x34')][_0x3d52('0x3d')]);_0x5f006b[_0x3d52('0x3e')]=qs['filters'](_[_0x3d52('0x3f')](_0x12538a['query'],_0x389582['filters']),_0x5e4e7b);if(_0x12538a[_0x3d52('0x34')]['filter']){_0x5f006b[_0x3d52('0x3e')]=_['merge'](_0x5f006b[_0x3d52('0x3e')],{'$or':_['map'](_0x5e4e7b,function(_0x576562){if(_0x576562[_0x3d52('0x31')]!==_0x3d52('0x40')){var _0x5cecb5={};_0x5cecb5[_0x576562[_0x3d52('0x2d')]]={'$like':'%'+_0x12538a[_0x3d52('0x34')]['filter']+'%'};return _0x5cecb5;}})});}_0x5f006b=_[_0x3d52('0x41')]({},_0x5f006b,_0x12538a[_0x3d52('0x42')]);var _0x25702d={'where':_0x5f006b[_0x3d52('0x3e')]};return db[_0x3d52('0x43')][_0x3d52('0x21')](_0x25702d)[_0x3d52('0x28')](function(_0x5cf4b9){_0x45eabe['count']=_0x5cf4b9;if(_0x12538a['query']['includeAll']){_0x5f006b['include']=[{'all':!![]}];}return db[_0x3d52('0x43')]['findAll'](_0x5f006b);})[_0x3d52('0x28')](function(_0x49064e){_0x45eabe[_0x3d52('0x44')]=_0x49064e;return _0x45eabe;})[_0x3d52('0x28')](respondWithFilteredResult(_0x5a7455,_0x5f006b))[_0x3d52('0x45')](handleError(_0x5a7455,null));};exports[_0x3d52('0x46')]=function(_0x5cdeb7,_0x394200){var _0x1e0487={'raw':!![],'where':{'id':_0x5cdeb7[_0x3d52('0x47')]['id']}},_0x5dd63c={};_0x5dd63c[_0x3d52('0x33')]=_[_0x3d52('0x35')](db['MailQueue'][_0x3d52('0x30')]);_0x5dd63c['query']=_['keys'](_0x5cdeb7['query']);_0x5dd63c['filters']=_[_0x3d52('0x38')](_0x5dd63c[_0x3d52('0x33')],_0x5dd63c[_0x3d52('0x34')]);_0x1e0487['attributes']=_[_0x3d52('0x38')](_0x5dd63c['model'],qs[_0x3d52('0x39')](_0x5cdeb7[_0x3d52('0x34')]['fields']));_0x1e0487[_0x3d52('0x37')]=_0x1e0487[_0x3d52('0x37')][_0x3d52('0x3a')]?_0x1e0487[_0x3d52('0x37')]:_0x5dd63c['model'];if(_0x5cdeb7['query'][_0x3d52('0x48')]){_0x1e0487['include']=[{'all':!![]}];}_0x1e0487=_[_0x3d52('0x41')]({},_0x1e0487,_0x5cdeb7[_0x3d52('0x42')]);return db[_0x3d52('0x43')][_0x3d52('0x49')](_0x1e0487)['then'](handleEntityNotFound(_0x394200,null))[_0x3d52('0x28')](respondWithResult(_0x394200,null))['catch'](handleError(_0x394200,null));};exports[_0x3d52('0x4a')]=function(_0x2911da,_0x524b9a){return db[_0x3d52('0x43')][_0x3d52('0x4a')](_0x2911da[_0x3d52('0x4b')],{})[_0x3d52('0x28')](function(_0x2b0c0e){var _0x3f4db8=_0x2911da[_0x3d52('0x4c')][_0x3d52('0x2a')]({'plain':!![]});if(!_0x3f4db8)throw new Error(_0x3d52('0x4d'));if(_0x3f4db8['role']===_0x3d52('0x4c')){var _0x380699=_0x2b0c0e['get']({'plain':!![]});var _0x237a6e='MailQueues';return db[_0x3d52('0x4e')][_0x3d52('0x49')]({'where':{'name':_0x237a6e,'userProfileId':_0x3f4db8[_0x3d52('0x4f')]},'raw':!![]})['then'](function(_0x2cb287){if(_0x2cb287&&_0x2cb287[_0x3d52('0x50')]===0x0){return db['UserProfileResource']['create']({'name':_0x380699[_0x3d52('0x2d')],'resourceId':_0x380699['id'],'type':_0x2cb287[_0x3d52('0x2d')],'sectionId':_0x2cb287['id']},{})['then'](function(){return _0x2b0c0e;});}else{return _0x2b0c0e;}})[_0x3d52('0x45')](function(_0x146a5b){logger[_0x3d52('0x2c')](_0x3d52('0x51'),_0x146a5b);throw _0x146a5b;});}return _0x2b0c0e;})[_0x3d52('0x28')](respondWithResult(_0x524b9a,0xc9))[_0x3d52('0x45')](handleError(_0x524b9a,null));};exports['update']=function(_0x2828d2,_0x1783d5){if(_0x2828d2[_0x3d52('0x4b')]['id']){delete _0x2828d2[_0x3d52('0x4b')]['id'];}return db[_0x3d52('0x43')][_0x3d52('0x49')]({'where':{'id':_0x2828d2[_0x3d52('0x47')]['id']}})[_0x3d52('0x28')](handleEntityNotFound(_0x1783d5,null))['then'](saveUpdates(_0x2828d2[_0x3d52('0x4b')],null))['then'](respondWithResult(_0x1783d5,null))[_0x3d52('0x45')](handleError(_0x1783d5,null));};exports[_0x3d52('0x29')]=function(_0x5434ee,_0x4e6d22){return db[_0x3d52('0x43')][_0x3d52('0x49')]({'where':{'id':_0x5434ee[_0x3d52('0x47')]['id']}})[_0x3d52('0x28')](handleEntityNotFound(_0x4e6d22,null))[_0x3d52('0x28')](removeEntity(_0x4e6d22,null))[_0x3d52('0x45')](handleError(_0x4e6d22,null));};exports[_0x3d52('0x52')]=function(_0x3e709b,_0x2f425f){return db['MailQueue'][_0x3d52('0x52')]()['then'](respondWithResult(_0x2f425f,null))[_0x3d52('0x45')](handleError(_0x2f425f,null));};exports[_0x3d52('0x53')]=function(_0x125807,_0x3b1d34,_0x1389c4){var _0x3ace61={'raw':!![],'where':{}},_0x4f4e15={},_0x444296;return db[_0x3d52('0x43')][_0x3d52('0x54')]({'where':{'id':_0x125807[_0x3d52('0x47')]['id']}})['then'](handleEntityNotFound(_0x3b1d34,null))[_0x3d52('0x28')](function(_0x327a3f){if(_0x327a3f){_0x444296=_0x327a3f[_0x3d52('0x2a')]({'plain':!![]});_0x4f4e15[_0x3d52('0x33')]=_[_0x3d52('0x35')](db['UserMailQueue'][_0x3d52('0x30')]);_0x4f4e15['query']=_[_0x3d52('0x35')](_0x125807['query']);_0x4f4e15[_0x3d52('0x36')]=_[_0x3d52('0x38')](_0x4f4e15['model'],_0x4f4e15['query']);_0x3ace61['attributes']=_[_0x3d52('0x38')](_0x4f4e15['model'],qs[_0x3d52('0x39')](_0x125807[_0x3d52('0x34')]['fields']));_0x3ace61[_0x3d52('0x37')]=_0x3ace61[_0x3d52('0x37')][_0x3d52('0x3a')]?_0x3ace61['attributes']:_0x4f4e15[_0x3d52('0x33')];if(!_0x125807[_0x3d52('0x34')][_0x3d52('0x3b')](_0x3d52('0x55'))){_0x3ace61[_0x3d52('0x3c')]=qs[_0x3d52('0x3c')](_0x125807[_0x3d52('0x34')][_0x3d52('0x3c')]);_0x3ace61[_0x3d52('0x22')]=qs[_0x3d52('0x22')](_0x125807[_0x3d52('0x34')][_0x3d52('0x22')]);}_0x3ace61[_0x3d52('0x56')]=qs[_0x3d52('0x3d')](_0x125807[_0x3d52('0x34')][_0x3d52('0x3d')]);_0x3ace61[_0x3d52('0x3e')]=qs[_0x3d52('0x36')](_[_0x3d52('0x3f')](_0x125807['query'],_0x4f4e15[_0x3d52('0x36')]));_0x3ace61['where'][_0x3d52('0x57')]=_0x327a3f['id'];if(_0x125807[_0x3d52('0x34')][_0x3d52('0x58')]){_0x3ace61[_0x3d52('0x3e')]=_['merge'](_0x3ace61[_0x3d52('0x3e')],{'$or':_[_0x3d52('0x2f')](_0x3ace61[_0x3d52('0x37')],function(_0x1d4cca){var _0x2425ae={};_0x2425ae[_0x1d4cca]={'$like':'%'+_0x125807[_0x3d52('0x34')][_0x3d52('0x58')]+'%'};return _0x2425ae;})});}_0x3ace61=_[_0x3d52('0x41')]({},_0x3ace61,_0x125807[_0x3d52('0x42')]);return db[_0x3d52('0x59')][_0x3d52('0x5a')](_0x3ace61);}})[_0x3d52('0x28')](function(_0x46274a){if(_0x46274a){return db[_0x3d52('0x5b')][_0x3d52('0x5c')]({'where':{'id':_[_0x3d52('0x2f')](_0x46274a,_0x3d52('0x5d')),'role':'agent'},'attributes':['id',_0x3d52('0x2d'),_0x3d52('0x5e'),_0x3d52('0x5f'),_0x3d52('0x60')]});}})[_0x3d52('0x28')](function(_0x479b36){if(_0x479b36){return{'count':_0x479b36[_0x3d52('0x21')],'rows':_[_0x3d52('0x2f')](_0x479b36[_0x3d52('0x44')],function(_0x3f8acf){return{'membername':_0x3f8acf[_0x3d52('0x2d')],'UserId':_0x3f8acf['id'],'queue_name':_0x444296[_0x3d52('0x2d')],'MailQueueId':_0x444296['id'],'interface':util['format'](_0x3d52('0x61'),_0x3d52('0x62'),_0x3f8acf['name']),'penalty':0x0,'paused':_0x3f8acf[_0x3d52('0x5e')],'createdAt':_0x3f8acf['createdAt'],'updatedAt':_0x3f8acf[_0x3d52('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x3d52('0x28')](respondWithFilteredResult(_0x3b1d34,_0x3ace61))[_0x3d52('0x45')](handleError(_0x3b1d34,null));};exports['getTeams']=function(_0x423e34,_0x5b6e78,_0x2a6ebe){var _0x56f690={};var _0x4120bc={};var _0x13b464;var _0x574f4e;return db[_0x3d52('0x43')][_0x3d52('0x54')]({'where':{'id':_0x423e34['params']['id']}})['then'](handleEntityNotFound(_0x5b6e78,null))[_0x3d52('0x28')](function(_0x3803cf){if(_0x3803cf){_0x13b464=_0x3803cf;_0x4120bc[_0x3d52('0x33')]=_[_0x3d52('0x35')](db[_0x3d52('0x63')]['rawAttributes']);_0x4120bc[_0x3d52('0x34')]=_[_0x3d52('0x35')](_0x423e34['query']);_0x4120bc[_0x3d52('0x36')]=_[_0x3d52('0x38')](_0x4120bc['model'],_0x4120bc[_0x3d52('0x34')]);_0x56f690[_0x3d52('0x37')]=_['intersection'](_0x4120bc[_0x3d52('0x33')],qs['fields'](_0x423e34['query'][_0x3d52('0x39')]));_0x56f690[_0x3d52('0x37')]=_0x56f690['attributes'][_0x3d52('0x3a')]?_0x56f690['attributes']:_0x4120bc['model'];_0x56f690[_0x3d52('0x56')]=qs['sort'](_0x423e34['query']['sort']);_0x56f690['where']=qs[_0x3d52('0x36')](_[_0x3d52('0x3f')](_0x423e34[_0x3d52('0x34')],_0x4120bc[_0x3d52('0x36')]));if(_0x423e34[_0x3d52('0x34')][_0x3d52('0x58')]){_0x56f690[_0x3d52('0x3e')]=_[_0x3d52('0x41')](_0x56f690[_0x3d52('0x3e')],{'$or':_[_0x3d52('0x2f')](_0x56f690['attributes'],function(_0x27ce20){var _0x4d74ef={};_0x4d74ef[_0x27ce20]={'$like':'%'+_0x423e34[_0x3d52('0x34')][_0x3d52('0x58')]+'%'};return _0x4d74ef;})});}_0x56f690=_[_0x3d52('0x41')]({},_0x56f690,_0x423e34[_0x3d52('0x42')]);return _0x13b464['getTeams'](_0x56f690);}})[_0x3d52('0x28')](function(_0x2c6c44){if(_0x2c6c44){_0x574f4e=_0x2c6c44['length'];if(!_0x423e34[_0x3d52('0x34')]['hasOwnProperty']('nolimit')){_0x56f690[_0x3d52('0x3c')]=qs[_0x3d52('0x3c')](_0x423e34['query'][_0x3d52('0x3c')]);_0x56f690[_0x3d52('0x22')]=qs[_0x3d52('0x22')](_0x423e34['query'][_0x3d52('0x22')]);}return _0x13b464[_0x3d52('0x64')](_0x56f690);}})[_0x3d52('0x28')](function(_0x56204f){if(_0x56204f){return _0x56204f?{'count':_0x574f4e,'rows':_0x56204f}:null;}})['then'](respondWithResult(_0x5b6e78,null))['catch'](handleError(_0x5b6e78,null));};exports['addTeams']=function(_0x1eeed3,_0x30b73a,_0x6901eb){var _0x481ada=_0x1eeed3[_0x3d52('0x4b')]['ids'];return db[_0x3d52('0x63')]['findAll']({'where':{'id':_0x481ada},'attributes':['id'],'include':[{'model':db[_0x3d52('0x5b')],'as':'Agents','attributes':['id',_0x3d52('0x2d'),_0x3d52('0x65'),_0x3d52('0x66'),_0x3d52('0x67')],'raw':!![]}]})[_0x3d52('0x28')](function(_0x2c7ad1){if(_0x2c7ad1){var _0x2d3189=_['flatMap'](_0x2c7ad1,function(_0x41bb03){var _0x27f7af=_0x41bb03[_0x3d52('0x2a')]({'plain':!![]});return _0x27f7af['Agents'];});return db[_0x3d52('0x43')][_0x3d52('0x49')]({'where':{'id':_0x1eeed3[_0x3d52('0x47')]['id']}})[_0x3d52('0x28')](function(_0x362d5a){return db[_0x3d52('0x68')][_0x3d52('0x69')](function(_0x10cb0e){return _0x362d5a['addTeams'](_0x481ada,{'transaction':_0x10cb0e})[_0x3d52('0x28')](function(){return BPromise['each'](_0x2d3189,function(_0x2be64e){return db[_0x3d52('0x59')][_0x3d52('0x6a')]({'where':{'UserId':_0x2be64e['id'],'MailQueueId':_0x1eeed3['params']['id']},'transaction':_0x10cb0e});});})['then'](function(){_0x2d3189[_0x3d52('0x6b')](function(_0x530b79){socket[_0x3d52('0x6c')](_0x3d52('0x6d'),{'UserId':_0x530b79['id'],'MailQueueId':_0x362d5a['id']});});});});});}})[_0x3d52('0x28')](respondWithStatusCode(_0x30b73a,null))['catch'](handleError(_0x30b73a,null));};exports[_0x3d52('0x6e')]=function(_0xc4eaad,_0x3dae37,_0x41d3e0){return db[_0x3d52('0x63')][_0x3d52('0x5a')]({'where':{'id':_0xc4eaad['query'][_0x3d52('0x6f')]},'attributes':['id'],'include':[{'model':db[_0x3d52('0x5b')],'as':_0x3d52('0x70'),'attributes':['id'],'raw':!![]}]})[_0x3d52('0x28')](handleEntityNotFound(_0x3dae37,null))[_0x3d52('0x28')](function(_0x5bd92b){var _0x300fab=_[_0x3d52('0x2f')](_0x5bd92b,'id');var _0x2f953d=[];var _0x598d4d=[];var _0x26a581=squel['select']();_0x26a581[_0x3d52('0x71')](_0x3d52('0x72'))['from'](_0x3d52('0x73'),'tq')[_0x3d52('0x74')](_0x3d52('0x75'),'ut',_0x3d52('0x76'))[_0x3d52('0x3e')]('MailQueueId\x20=\x20?',_0xc4eaad['params']['id']);for(var _0x33fc90=0x0;_0x33fc90<_0x5bd92b[_0x3d52('0x3a')];_0x33fc90+=0x1){let _0x19263b=_0x5bd92b[_0x33fc90];for(var _0x4baf8f=0x0;_0x4baf8f<_0x19263b[_0x3d52('0x70')]['length'];_0x4baf8f+=0x1){let _0x51f1ad=_0x19263b['Agents'][_0x4baf8f];var _0x1d91d3=_0x26a581[_0x3d52('0x77')]();_0x1d91d3[_0x3d52('0x3e')]('ut.UserId\x20=\x20?',_0x51f1ad['id']);_0x598d4d[_0x3d52('0x78')](db[_0x3d52('0x68')]['query'](_0x1d91d3['toString'](),{'type':db[_0x3d52('0x68')][_0x3d52('0x79')][_0x3d52('0x7a')]})[_0x3d52('0x28')](function(_0x3df7b5){if(_0x3df7b5[_0x3d52('0x3a')]===0x1){return _0x51f1ad['id'];}else{var _0x3223f7=_[_0x3d52('0x7b')](_[_0x3d52('0x2f')](_0x3df7b5,_0x3d52('0x7c')),function(_0x3f14ac){return _['includes'](_0x300fab,_0x3f14ac);});if(_0x3223f7){return _0x51f1ad['id'];}}}));}}return BPromise[_0x3d52('0x7d')](_0x598d4d)[_0x3d52('0x28')](function(_0x44b6a9){_0x2f953d=_(_0x2f953d)[_0x3d52('0x7e')](_0x44b6a9)['compact']()[_0x3d52('0x7f')]();return db[_0x3d52('0x43')][_0x3d52('0x49')]({'where':{'id':_0xc4eaad[_0x3d52('0x47')]['id']}})[_0x3d52('0x28')](function(_0x4a40c4){return db[_0x3d52('0x68')]['transaction'](function(_0x5d5d2a){return _0x4a40c4[_0x3d52('0x6e')](_0xc4eaad[_0x3d52('0x34')][_0x3d52('0x6f')],{'transaction':_0x5d5d2a})[_0x3d52('0x28')](function(){if(!_[_0x3d52('0x80')](_0x2f953d)){return _0x4a40c4[_0x3d52('0x81')](_0x2f953d,{'transaction':_0x5d5d2a});}})[_0x3d52('0x28')](function(){_0x2f953d[_0x3d52('0x6b')](function(_0x2e141d){socket['emit'](_0x3d52('0x82'),{'UserId':_0x2e141d,'MailQueueId':_0x4a40c4['id']});});});});});});})['then'](respondWithStatusCode(_0x3dae37,null))['catch'](handleError(_0x3dae37,null));};exports[_0x3d52('0x83')]=function(_0x20d53c,_0x18a525,_0x5bad9d){return db[_0x3d52('0x43')][_0x3d52('0x49')]({'where':{'id':_0x20d53c[_0x3d52('0x47')]['id']}})[_0x3d52('0x28')](handleEntityNotFound(_0x18a525,null))[_0x3d52('0x28')](function(_0x5d3e81){if(_0x5d3e81){return _0x5d3e81['addAgents'](_0x20d53c['body'][_0x3d52('0x6f')],_['omit'](_0x20d53c['body'],['ids','id'])||{})[_0x3d52('0x84')](function(_0x22d78e){for(var _0x3b95eb=0x0;_0x3b95eb<_0x20d53c[_0x3d52('0x4b')][_0x3d52('0x6f')][_0x3d52('0x3a')];_0x3b95eb+=0x1){socket[_0x3d52('0x6c')](_0x3d52('0x6d'),{'UserId':_0x20d53c[_0x3d52('0x4b')][_0x3d52('0x6f')][_0x3b95eb],'MailQueueId':_0x20d53c[_0x3d52('0x47')]['id']});}return _0x22d78e;});}})[_0x3d52('0x28')](respondWithResult(_0x18a525,null))['catch'](handleError(_0x18a525,null));};exports['removeAgents']=function(_0x2b1df2,_0x53c3ad,_0x4f06d3){return db[_0x3d52('0x43')]['find']({'where':{'id':_0x2b1df2['params']['id']}})[_0x3d52('0x28')](handleEntityNotFound(_0x53c3ad,null))[_0x3d52('0x28')](function(_0x241836){if(_0x241836){return _0x241836[_0x3d52('0x81')](_0x2b1df2[_0x3d52('0x34')]['ids'])[_0x3d52('0x28')](function(){if(_['isArray'](_0x2b1df2[_0x3d52('0x34')]['ids'])){for(var _0x3d32a3=0x0;_0x3d32a3<_0x2b1df2[_0x3d52('0x34')]['ids'][_0x3d52('0x3a')];_0x3d32a3+=0x1){socket['emit'](_0x3d52('0x82'),{'UserId':Number(_0x2b1df2[_0x3d52('0x34')][_0x3d52('0x6f')][_0x3d32a3]),'MailQueueId':Number(_0x2b1df2[_0x3d52('0x47')]['id'])});}}else{socket[_0x3d52('0x6c')](_0x3d52('0x82'),{'UserId':Number(_0x2b1df2[_0x3d52('0x34')][_0x3d52('0x6f')]),'MailQueueId':Number(_0x2b1df2[_0x3d52('0x47')]['id'])});}});}})[_0x3d52('0x28')](respondWithStatusCode(_0x53c3ad,null))[_0x3d52('0x45')](handleError(_0x53c3ad,null));};exports[_0x3d52('0x85')]=function(_0x53cedc,_0x6140d2,_0xf10bc){var _0x3aaf66={};var _0x153865={};var _0x4fc680;var _0xf59ee;return db[_0x3d52('0x43')][_0x3d52('0x54')]({'where':{'id':_0x53cedc[_0x3d52('0x47')]['id']}})['then'](handleEntityNotFound(_0x6140d2,null))[_0x3d52('0x28')](function(_0x52722c){if(_0x52722c){_0x4fc680=_0x52722c;_0x153865[_0x3d52('0x33')]=_['keys'](db[_0x3d52('0x5b')]['rawAttributes']);_0x153865[_0x3d52('0x34')]=_[_0x3d52('0x35')](_0x53cedc[_0x3d52('0x34')]);_0x153865['filters']=_[_0x3d52('0x38')](_0x153865[_0x3d52('0x33')],_0x153865['query']);_0x3aaf66[_0x3d52('0x37')]=_[_0x3d52('0x38')](_0x153865[_0x3d52('0x33')],qs[_0x3d52('0x39')](_0x53cedc[_0x3d52('0x34')][_0x3d52('0x39')]));_0x3aaf66[_0x3d52('0x37')]=_0x3aaf66[_0x3d52('0x37')]['length']?_0x3aaf66[_0x3d52('0x37')]:_0x153865[_0x3d52('0x33')];_0x3aaf66['order']=qs[_0x3d52('0x3d')](_0x53cedc[_0x3d52('0x34')][_0x3d52('0x3d')]);_0x3aaf66[_0x3d52('0x3e')]=qs[_0x3d52('0x36')](_[_0x3d52('0x3f')](_0x53cedc[_0x3d52('0x34')],_0x153865[_0x3d52('0x36')]));if(_0x53cedc[_0x3d52('0x34')][_0x3d52('0x58')]){_0x3aaf66[_0x3d52('0x3e')]=_['merge'](_0x3aaf66[_0x3d52('0x3e')],{'$or':_[_0x3d52('0x2f')](_0x3aaf66[_0x3d52('0x37')],function(_0xafba2b){var _0x33e299={};_0x33e299[_0xafba2b]={'$like':'%'+_0x53cedc[_0x3d52('0x34')]['filter']+'%'};return _0x33e299;})});}_0x3aaf66=_[_0x3d52('0x41')]({},_0x3aaf66,_0x53cedc['options']);return _0x4fc680[_0x3d52('0x85')](_0x3aaf66);}})[_0x3d52('0x28')](function(_0x361b34){if(_0x361b34){_0xf59ee=_0x361b34['length'];if(!_0x53cedc[_0x3d52('0x34')][_0x3d52('0x3b')](_0x3d52('0x55'))){_0x3aaf66[_0x3d52('0x3c')]=qs['limit'](_0x53cedc['query']['limit']);_0x3aaf66[_0x3d52('0x22')]=qs[_0x3d52('0x22')](_0x53cedc[_0x3d52('0x34')][_0x3d52('0x22')]);}return _0x4fc680['getAgents'](_0x3aaf66);}})['then'](function(_0x4c34e8){if(_0x4c34e8){return _0x4c34e8?{'count':_0xf59ee,'rows':_0x4c34e8}:null;}})[_0x3d52('0x28')](respondWithResult(_0x6140d2,null))['catch'](handleError(_0x6140d2,null));};