Built motion from commit 753c950e.|2.5.42
[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 _0xa854=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./mailQueue.socket','register','sendStatus','status','end','json','undefined','limit','offset','count','apply','save','update','destroy','then','get','MailQueues','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','show','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','order','MailQueueId','UserMailQueue','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','format','%s/%s','SIP','Team','getTeams','addTeams','online','voicePause','interface','sequelize','transaction','findOrCreate','forEach','userMailQueue:save','removeTeams','Agents','select','field','tq.TeamId','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','toString','SELECT','TeamId','includes','union','compact','value','ids','emit','addAgents','omit','removeAgents','userMailQueue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api'];(function(_0x1f2422,_0x125fd2){var _0x4fb420=function(_0x1b8cc6){while(--_0x1b8cc6){_0x1f2422['push'](_0x1f2422['shift']());}};_0x4fb420(++_0x125fd2);}(_0xa854,0x103));var _0x4a85=function(_0x2ed866,_0x177791){_0x2ed866=_0x2ed866-0x0;var _0x34dc2b=_0xa854[_0x2ed866];return _0x34dc2b;};'use strict';var emlformat=require(_0x4a85('0x0'));var rimraf=require(_0x4a85('0x1'));var zipdir=require(_0x4a85('0x2'));var jsonpatch=require(_0x4a85('0x3'));var rp=require(_0x4a85('0x4'));var moment=require('moment');var BPromise=require(_0x4a85('0x5'));var Mustache=require('mustache');var util=require(_0x4a85('0x6'));var path=require('path');var sox=require(_0x4a85('0x7'));var csv=require(_0x4a85('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4a85('0x9'));var _=require(_0x4a85('0xa'));var squel=require('squel');var crypto=require(_0x4a85('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4a85('0xc'));var toCsv=require(_0x4a85('0x8'));var querystring=require(_0x4a85('0xd'));var Papa=require(_0x4a85('0xe'));var Redis=require(_0x4a85('0xf'));var authService=require(_0x4a85('0x10'));var qs=require(_0x4a85('0x11'));var as=require(_0x4a85('0x12'));var hardwareService=require(_0x4a85('0x13'));var logger=require('../../config/logger')(_0x4a85('0x14'));var utils=require(_0x4a85('0x15'));var config=require(_0x4a85('0x16'));var licenseUtil=require(_0x4a85('0x17'));var db=require(_0x4a85('0x18'))['db'];config[_0x4a85('0x19')]=_[_0x4a85('0x1a')](config[_0x4a85('0x19')],{'host':_0x4a85('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x4a85('0x19')]));require(_0x4a85('0x1c'))[_0x4a85('0x1d')](socket);function respondWithStatusCode(_0x153d39,_0x1d5e1d){_0x1d5e1d=_0x1d5e1d||0xcc;return function(_0x1249d2){if(_0x1249d2){return _0x153d39[_0x4a85('0x1e')](_0x1d5e1d);}return _0x153d39[_0x4a85('0x1f')](_0x1d5e1d)[_0x4a85('0x20')]();};}function respondWithResult(_0x397f4a,_0x6f362b){_0x6f362b=_0x6f362b||0xc8;return function(_0x52504e){if(_0x52504e){return _0x397f4a[_0x4a85('0x1f')](_0x6f362b)[_0x4a85('0x21')](_0x52504e);}};}function respondWithFilteredResult(_0x5c9b9f,_0x20701f){return function(_0x159ed0){if(_0x159ed0){var _0x4435db=typeof _0x20701f['offset']===_0x4a85('0x22')&&typeof _0x20701f[_0x4a85('0x23')]===_0x4a85('0x22');var _0x496b8a=_0x159ed0['count'];var _0x171629=_0x4435db?0x0:_0x20701f[_0x4a85('0x24')];var _0x31e1e4=_0x4435db?_0x159ed0[_0x4a85('0x25')]:_0x20701f[_0x4a85('0x24')]+_0x20701f[_0x4a85('0x23')];var _0x382af0;if(_0x31e1e4>=_0x496b8a){_0x31e1e4=_0x496b8a;_0x382af0=0xc8;}else{_0x382af0=0xce;}_0x5c9b9f[_0x4a85('0x1f')](_0x382af0);return _0x5c9b9f['set']('Content-Range',_0x171629+'-'+_0x31e1e4+'/'+_0x496b8a)['json'](_0x159ed0);}return null;};}function patchUpdates(_0x4219a7){return function(_0x83fd88){try{jsonpatch[_0x4a85('0x26')](_0x83fd88,_0x4219a7,!![]);}catch(_0x408581){return BPromise['reject'](_0x408581);}return _0x83fd88[_0x4a85('0x27')]();};}function saveUpdates(_0x27f9c1,_0x2a3d14){return function(_0x3f3894){if(_0x3f3894){return _0x3f3894[_0x4a85('0x28')](_0x27f9c1)['then'](function(_0x1075e2){return _0x1075e2;});}return null;};}function removeEntity(_0x1a9a8c,_0x1b3f6b){return function(_0x3a640c){if(_0x3a640c){return _0x3a640c[_0x4a85('0x29')]()[_0x4a85('0x2a')](function(){var _0x4a34d5=_0x3a640c[_0x4a85('0x2b')]({'plain':!![]});var _0x343dfe=_0x4a85('0x2c');return db['UserProfileResource'][_0x4a85('0x29')]({'where':{'type':_0x343dfe,'resourceId':_0x4a34d5['id']}})['then'](function(){return _0x3a640c;});})[_0x4a85('0x2a')](function(){_0x1a9a8c[_0x4a85('0x1f')](0xcc)[_0x4a85('0x20')]();});}};}function handleEntityNotFound(_0x3ade10,_0x4596c6){return function(_0x37095a){if(!_0x37095a){_0x3ade10[_0x4a85('0x1e')](0x194);}return _0x37095a;};}function handleError(_0x131eb8,_0x563393){_0x563393=_0x563393||0x1f4;return function(_0x45ec8f){logger['error'](_0x45ec8f[_0x4a85('0x2d')]);if(_0x45ec8f[_0x4a85('0x2e')]){delete _0x45ec8f['name'];}_0x131eb8[_0x4a85('0x1f')](_0x563393)[_0x4a85('0x2f')](_0x45ec8f);};}exports[_0x4a85('0x30')]=function(_0x290ced,_0x9b33c6){var _0x181dfa={},_0x16a1b5={},_0x3af5e7={'count':0x0,'rows':[]};var _0x609f0a=_[_0x4a85('0x31')](db[_0x4a85('0x32')][_0x4a85('0x33')],function(_0x5326a8){return{'name':_0x5326a8[_0x4a85('0x34')],'type':_0x5326a8[_0x4a85('0x35')][_0x4a85('0x36')]};});_0x16a1b5[_0x4a85('0x37')]=_['map'](_0x609f0a,_0x4a85('0x2e'));_0x16a1b5[_0x4a85('0x38')]=_[_0x4a85('0x39')](_0x290ced[_0x4a85('0x38')]);_0x16a1b5[_0x4a85('0x3a')]=_[_0x4a85('0x3b')](_0x16a1b5[_0x4a85('0x37')],_0x16a1b5['query']);_0x181dfa[_0x4a85('0x3c')]=_[_0x4a85('0x3b')](_0x16a1b5['model'],qs[_0x4a85('0x3d')](_0x290ced[_0x4a85('0x38')][_0x4a85('0x3d')]));_0x181dfa['attributes']=_0x181dfa[_0x4a85('0x3c')][_0x4a85('0x3e')]?_0x181dfa[_0x4a85('0x3c')]:_0x16a1b5[_0x4a85('0x37')];if(!_0x290ced[_0x4a85('0x38')][_0x4a85('0x3f')](_0x4a85('0x40'))){_0x181dfa[_0x4a85('0x23')]=qs[_0x4a85('0x23')](_0x290ced['query'][_0x4a85('0x23')]);_0x181dfa[_0x4a85('0x24')]=qs[_0x4a85('0x24')](_0x290ced['query'][_0x4a85('0x24')]);}_0x181dfa['order']=qs[_0x4a85('0x41')](_0x290ced[_0x4a85('0x38')]['sort']);_0x181dfa[_0x4a85('0x42')]=qs[_0x4a85('0x3a')](_[_0x4a85('0x43')](_0x290ced['query'],_0x16a1b5['filters']),_0x609f0a);if(_0x290ced[_0x4a85('0x38')][_0x4a85('0x44')]){_0x181dfa['where']=_['merge'](_0x181dfa['where'],{'$or':_[_0x4a85('0x31')](_0x609f0a,function(_0x405f2b){if(_0x405f2b['type']!=='VIRTUAL'){var _0x41bd99={};_0x41bd99[_0x405f2b[_0x4a85('0x2e')]]={'$like':'%'+_0x290ced[_0x4a85('0x38')][_0x4a85('0x44')]+'%'};return _0x41bd99;}})});}_0x181dfa=_[_0x4a85('0x45')]({},_0x181dfa,_0x290ced[_0x4a85('0x46')]);var _0x306810={'where':_0x181dfa[_0x4a85('0x42')]};return db['MailQueue']['count'](_0x306810)[_0x4a85('0x2a')](function(_0x49bd4e){_0x3af5e7['count']=_0x49bd4e;if(_0x290ced[_0x4a85('0x38')][_0x4a85('0x47')]){_0x181dfa[_0x4a85('0x48')]=[{'all':!![]}];}return db[_0x4a85('0x32')][_0x4a85('0x49')](_0x181dfa);})[_0x4a85('0x2a')](function(_0x38f7f7){_0x3af5e7[_0x4a85('0x4a')]=_0x38f7f7;return _0x3af5e7;})['then'](respondWithFilteredResult(_0x9b33c6,_0x181dfa))['catch'](handleError(_0x9b33c6,null));};exports[_0x4a85('0x4b')]=function(_0x407db0,_0x2a96d1){var _0x320d3f={'raw':!![],'where':{'id':_0x407db0['params']['id']}},_0x241ae7={};_0x241ae7['model']=_[_0x4a85('0x39')](db[_0x4a85('0x32')][_0x4a85('0x33')]);_0x241ae7[_0x4a85('0x38')]=_[_0x4a85('0x39')](_0x407db0[_0x4a85('0x38')]);_0x241ae7[_0x4a85('0x3a')]=_[_0x4a85('0x3b')](_0x241ae7[_0x4a85('0x37')],_0x241ae7[_0x4a85('0x38')]);_0x320d3f[_0x4a85('0x3c')]=_[_0x4a85('0x3b')](_0x241ae7[_0x4a85('0x37')],qs['fields'](_0x407db0[_0x4a85('0x38')][_0x4a85('0x3d')]));_0x320d3f[_0x4a85('0x3c')]=_0x320d3f['attributes'][_0x4a85('0x3e')]?_0x320d3f[_0x4a85('0x3c')]:_0x241ae7['model'];if(_0x407db0[_0x4a85('0x38')][_0x4a85('0x47')]){_0x320d3f['include']=[{'all':!![]}];}_0x320d3f=_['merge']({},_0x320d3f,_0x407db0[_0x4a85('0x46')]);return db['MailQueue'][_0x4a85('0x4c')](_0x320d3f)[_0x4a85('0x2a')](handleEntityNotFound(_0x2a96d1,null))[_0x4a85('0x2a')](respondWithResult(_0x2a96d1,null))[_0x4a85('0x4d')](handleError(_0x2a96d1,null));};exports[_0x4a85('0x4e')]=function(_0x1cdb00,_0x5cb813){return db['MailQueue'][_0x4a85('0x4e')](_0x1cdb00[_0x4a85('0x4f')],{})[_0x4a85('0x2a')](function(_0xf27adc){var _0xd44e84=_0x1cdb00[_0x4a85('0x50')][_0x4a85('0x2b')]({'plain':!![]});if(!_0xd44e84)throw new Error(_0x4a85('0x51'));if(_0xd44e84[_0x4a85('0x52')]===_0x4a85('0x50')){var _0x43eb42=_0xf27adc[_0x4a85('0x2b')]({'plain':!![]});var _0x1b25ca=_0x4a85('0x2c');return db['UserProfileSection'][_0x4a85('0x4c')]({'where':{'name':_0x1b25ca,'userProfileId':_0xd44e84[_0x4a85('0x53')]},'raw':!![]})['then'](function(_0x4af105){if(_0x4af105&&_0x4af105[_0x4a85('0x54')]===0x0){return db[_0x4a85('0x55')]['create']({'name':_0x43eb42[_0x4a85('0x2e')],'resourceId':_0x43eb42['id'],'type':_0x4af105[_0x4a85('0x2e')],'sectionId':_0x4af105['id']},{})['then'](function(){return _0xf27adc;});}else{return _0xf27adc;}})[_0x4a85('0x4d')](function(_0x5d5db3){logger[_0x4a85('0x56')](_0x4a85('0x57'),_0x5d5db3);throw _0x5d5db3;});}return _0xf27adc;})[_0x4a85('0x2a')](respondWithResult(_0x5cb813,0xc9))[_0x4a85('0x4d')](handleError(_0x5cb813,null));};exports[_0x4a85('0x28')]=function(_0x25ac9c,_0x2f8fda){if(_0x25ac9c[_0x4a85('0x4f')]['id']){delete _0x25ac9c[_0x4a85('0x4f')]['id'];}return db['MailQueue'][_0x4a85('0x4c')]({'where':{'id':_0x25ac9c[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x2f8fda,null))[_0x4a85('0x2a')](saveUpdates(_0x25ac9c[_0x4a85('0x4f')],null))['then'](respondWithResult(_0x2f8fda,null))[_0x4a85('0x4d')](handleError(_0x2f8fda,null));};exports['destroy']=function(_0x120392,_0x449d39){return db[_0x4a85('0x32')]['find']({'where':{'id':_0x120392[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x449d39,null))[_0x4a85('0x2a')](removeEntity(_0x449d39,null))[_0x4a85('0x4d')](handleError(_0x449d39,null));};exports[_0x4a85('0x59')]=function(_0x198b35,_0x56c636){return db['MailQueue'][_0x4a85('0x59')]()[_0x4a85('0x2a')](respondWithResult(_0x56c636,null))[_0x4a85('0x4d')](handleError(_0x56c636,null));};exports[_0x4a85('0x5a')]=function(_0x24126a,_0x47f640,_0x761760){var _0x5c414c={'raw':!![],'where':{}},_0x2dcc1d={},_0x48cc3f;return db['MailQueue'][_0x4a85('0x5b')]({'where':{'id':_0x24126a[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x47f640,null))[_0x4a85('0x2a')](function(_0x141d75){if(_0x141d75){_0x48cc3f=_0x141d75[_0x4a85('0x2b')]({'plain':!![]});_0x2dcc1d[_0x4a85('0x37')]=_[_0x4a85('0x39')](db['UserMailQueue'][_0x4a85('0x33')]);_0x2dcc1d[_0x4a85('0x38')]=_['keys'](_0x24126a['query']);_0x2dcc1d[_0x4a85('0x3a')]=_[_0x4a85('0x3b')](_0x2dcc1d[_0x4a85('0x37')],_0x2dcc1d['query']);_0x5c414c[_0x4a85('0x3c')]=_[_0x4a85('0x3b')](_0x2dcc1d[_0x4a85('0x37')],qs[_0x4a85('0x3d')](_0x24126a[_0x4a85('0x38')][_0x4a85('0x3d')]));_0x5c414c[_0x4a85('0x3c')]=_0x5c414c[_0x4a85('0x3c')][_0x4a85('0x3e')]?_0x5c414c['attributes']:_0x2dcc1d[_0x4a85('0x37')];if(!_0x24126a[_0x4a85('0x38')]['hasOwnProperty'](_0x4a85('0x40'))){_0x5c414c[_0x4a85('0x23')]=qs[_0x4a85('0x23')](_0x24126a['query']['limit']);_0x5c414c[_0x4a85('0x24')]=qs[_0x4a85('0x24')](_0x24126a[_0x4a85('0x38')][_0x4a85('0x24')]);}_0x5c414c[_0x4a85('0x5c')]=qs[_0x4a85('0x41')](_0x24126a['query']['sort']);_0x5c414c[_0x4a85('0x42')]=qs[_0x4a85('0x3a')](_[_0x4a85('0x43')](_0x24126a[_0x4a85('0x38')],_0x2dcc1d[_0x4a85('0x3a')]));_0x5c414c['where'][_0x4a85('0x5d')]=_0x141d75['id'];if(_0x24126a[_0x4a85('0x38')][_0x4a85('0x44')]){_0x5c414c['where']=_[_0x4a85('0x45')](_0x5c414c[_0x4a85('0x42')],{'$or':_['map'](_0x5c414c[_0x4a85('0x3c')],function(_0x5339d2){var _0x1db94f={};_0x1db94f[_0x5339d2]={'$like':'%'+_0x24126a[_0x4a85('0x38')][_0x4a85('0x44')]+'%'};return _0x1db94f;})});}_0x5c414c=_[_0x4a85('0x45')]({},_0x5c414c,_0x24126a[_0x4a85('0x46')]);return db[_0x4a85('0x5e')][_0x4a85('0x49')](_0x5c414c);}})[_0x4a85('0x2a')](function(_0x56b9f3){if(_0x56b9f3){return db[_0x4a85('0x5f')][_0x4a85('0x60')]({'where':{'id':_[_0x4a85('0x31')](_0x56b9f3,_0x4a85('0x61')),'role':'agent'},'attributes':['id',_0x4a85('0x2e'),_0x4a85('0x62'),_0x4a85('0x63'),_0x4a85('0x64')]});}})['then'](function(_0x1e99f9){if(_0x1e99f9){return{'count':_0x1e99f9[_0x4a85('0x25')],'rows':_[_0x4a85('0x31')](_0x1e99f9[_0x4a85('0x4a')],function(_0xbae200){return{'membername':_0xbae200['name'],'UserId':_0xbae200['id'],'queue_name':_0x48cc3f[_0x4a85('0x2e')],'MailQueueId':_0x48cc3f['id'],'interface':util[_0x4a85('0x65')](_0x4a85('0x66'),_0x4a85('0x67'),_0xbae200[_0x4a85('0x2e')]),'penalty':0x0,'paused':_0xbae200['mailPause'],'createdAt':_0xbae200[_0x4a85('0x64')],'updatedAt':_0xbae200[_0x4a85('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x4a85('0x2a')](respondWithFilteredResult(_0x47f640,_0x5c414c))[_0x4a85('0x4d')](handleError(_0x47f640,null));};exports['getTeams']=function(_0x5f2813,_0x43d341,_0x2b3202){var _0x5cc1c5={};var _0x506f1c={};var _0xabb8e5;var _0x1001a9;return db[_0x4a85('0x32')][_0x4a85('0x5b')]({'where':{'id':_0x5f2813[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x43d341,null))[_0x4a85('0x2a')](function(_0x594d10){if(_0x594d10){_0xabb8e5=_0x594d10;_0x506f1c[_0x4a85('0x37')]=_[_0x4a85('0x39')](db[_0x4a85('0x68')][_0x4a85('0x33')]);_0x506f1c[_0x4a85('0x38')]=_[_0x4a85('0x39')](_0x5f2813[_0x4a85('0x38')]);_0x506f1c['filters']=_[_0x4a85('0x3b')](_0x506f1c[_0x4a85('0x37')],_0x506f1c['query']);_0x5cc1c5[_0x4a85('0x3c')]=_[_0x4a85('0x3b')](_0x506f1c[_0x4a85('0x37')],qs[_0x4a85('0x3d')](_0x5f2813[_0x4a85('0x38')][_0x4a85('0x3d')]));_0x5cc1c5[_0x4a85('0x3c')]=_0x5cc1c5['attributes'][_0x4a85('0x3e')]?_0x5cc1c5['attributes']:_0x506f1c[_0x4a85('0x37')];_0x5cc1c5['order']=qs[_0x4a85('0x41')](_0x5f2813[_0x4a85('0x38')][_0x4a85('0x41')]);_0x5cc1c5[_0x4a85('0x42')]=qs[_0x4a85('0x3a')](_[_0x4a85('0x43')](_0x5f2813[_0x4a85('0x38')],_0x506f1c[_0x4a85('0x3a')]));if(_0x5f2813[_0x4a85('0x38')][_0x4a85('0x44')]){_0x5cc1c5[_0x4a85('0x42')]=_['merge'](_0x5cc1c5[_0x4a85('0x42')],{'$or':_[_0x4a85('0x31')](_0x5cc1c5['attributes'],function(_0x27988e){var _0x4eed={};_0x4eed[_0x27988e]={'$like':'%'+_0x5f2813[_0x4a85('0x38')][_0x4a85('0x44')]+'%'};return _0x4eed;})});}_0x5cc1c5=_[_0x4a85('0x45')]({},_0x5cc1c5,_0x5f2813['options']);return _0xabb8e5[_0x4a85('0x69')](_0x5cc1c5);}})[_0x4a85('0x2a')](function(_0x4c3186){if(_0x4c3186){_0x1001a9=_0x4c3186[_0x4a85('0x3e')];if(!_0x5f2813[_0x4a85('0x38')][_0x4a85('0x3f')]('nolimit')){_0x5cc1c5[_0x4a85('0x23')]=qs[_0x4a85('0x23')](_0x5f2813[_0x4a85('0x38')][_0x4a85('0x23')]);_0x5cc1c5[_0x4a85('0x24')]=qs[_0x4a85('0x24')](_0x5f2813[_0x4a85('0x38')][_0x4a85('0x24')]);}return _0xabb8e5[_0x4a85('0x69')](_0x5cc1c5);}})[_0x4a85('0x2a')](function(_0x25c97b){if(_0x25c97b){return _0x25c97b?{'count':_0x1001a9,'rows':_0x25c97b}:null;}})[_0x4a85('0x2a')](respondWithResult(_0x43d341,null))[_0x4a85('0x4d')](handleError(_0x43d341,null));};exports[_0x4a85('0x6a')]=function(_0x490cb4,_0x21118e,_0x18bd0c){var _0x5231b0=_0x490cb4[_0x4a85('0x4f')]['ids'];return db[_0x4a85('0x68')][_0x4a85('0x49')]({'where':{'id':_0x5231b0},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id','name',_0x4a85('0x6b'),_0x4a85('0x6c'),_0x4a85('0x6d')],'raw':!![]}]})[_0x4a85('0x2a')](function(_0x35b7fd){if(_0x35b7fd){var _0x471f66=_['flatMap'](_0x35b7fd,function(_0x552846){var _0x59e0bf=_0x552846[_0x4a85('0x2b')]({'plain':!![]});return _0x59e0bf['Agents'];});return db['MailQueue'][_0x4a85('0x4c')]({'where':{'id':_0x490cb4[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](function(_0x550c2d){return db[_0x4a85('0x6e')][_0x4a85('0x6f')](function(_0x51f899){return _0x550c2d[_0x4a85('0x6a')](_0x5231b0,{'transaction':_0x51f899})[_0x4a85('0x2a')](function(){return BPromise['each'](_0x471f66,function(_0x3ad579){return db[_0x4a85('0x5e')][_0x4a85('0x70')]({'where':{'UserId':_0x3ad579['id'],'MailQueueId':_0x490cb4['params']['id']},'transaction':_0x51f899});});})[_0x4a85('0x2a')](function(){_0x471f66[_0x4a85('0x71')](function(_0x4eae32){socket['emit'](_0x4a85('0x72'),{'UserId':_0x4eae32['id'],'MailQueueId':_0x550c2d['id']});});});});});}})[_0x4a85('0x2a')](respondWithStatusCode(_0x21118e,null))[_0x4a85('0x4d')](handleError(_0x21118e,null));};exports[_0x4a85('0x73')]=function(_0x53075d,_0x299a81,_0x4eee65){return db[_0x4a85('0x68')]['findAll']({'where':{'id':_0x53075d[_0x4a85('0x38')]['ids']},'attributes':['id'],'include':[{'model':db[_0x4a85('0x5f')],'as':_0x4a85('0x74'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x299a81,null))[_0x4a85('0x2a')](function(_0x58bc27){var _0x41725f=_[_0x4a85('0x31')](_0x58bc27,'id');var _0x5cde58=[];var _0x711c63=[];var _0x3a1800=squel[_0x4a85('0x75')]();_0x3a1800[_0x4a85('0x76')](_0x4a85('0x77'))['from'](_0x4a85('0x78'),'tq')[_0x4a85('0x79')](_0x4a85('0x7a'),'ut',_0x4a85('0x7b'))['where']('MailQueueId\x20=\x20?',_0x53075d[_0x4a85('0x58')]['id']);for(var _0x303ef5=0x0;_0x303ef5<_0x58bc27['length'];_0x303ef5+=0x1){let _0x41e906=_0x58bc27[_0x303ef5];for(var _0x255b39=0x0;_0x255b39<_0x41e906[_0x4a85('0x74')][_0x4a85('0x3e')];_0x255b39+=0x1){let _0x168edd=_0x41e906[_0x4a85('0x74')][_0x255b39];var _0x48bcee=_0x3a1800[_0x4a85('0x7c')]();_0x48bcee[_0x4a85('0x42')](_0x4a85('0x7d'),_0x168edd['id']);_0x711c63['push'](db[_0x4a85('0x6e')][_0x4a85('0x38')](_0x48bcee[_0x4a85('0x7e')](),{'type':db[_0x4a85('0x6e')]['QueryTypes'][_0x4a85('0x7f')]})[_0x4a85('0x2a')](function(_0x4ea716){if(_0x4ea716[_0x4a85('0x3e')]===0x1){return _0x168edd['id'];}else{var _0x200c35=_['every'](_[_0x4a85('0x31')](_0x4ea716,_0x4a85('0x80')),function(_0x2162fe){return _[_0x4a85('0x81')](_0x41725f,_0x2162fe);});if(_0x200c35){return _0x168edd['id'];}}}));}}return BPromise['all'](_0x711c63)[_0x4a85('0x2a')](function(_0x1dc440){_0x5cde58=_(_0x5cde58)[_0x4a85('0x82')](_0x1dc440)[_0x4a85('0x83')]()[_0x4a85('0x84')]();return db[_0x4a85('0x32')]['find']({'where':{'id':_0x53075d[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](function(_0xb5bcb){return db['sequelize'][_0x4a85('0x6f')](function(_0x2b6ba0){return _0xb5bcb[_0x4a85('0x73')](_0x53075d[_0x4a85('0x38')][_0x4a85('0x85')],{'transaction':_0x2b6ba0})[_0x4a85('0x2a')](function(){if(!_['isEmpty'](_0x5cde58)){return _0xb5bcb['removeAgents'](_0x5cde58,{'transaction':_0x2b6ba0});}})['then'](function(){_0x5cde58[_0x4a85('0x71')](function(_0x56379b){socket[_0x4a85('0x86')]('userMailQueue:remove',{'UserId':_0x56379b,'MailQueueId':_0xb5bcb['id']});});});});});});})[_0x4a85('0x2a')](respondWithStatusCode(_0x299a81,null))['catch'](handleError(_0x299a81,null));};exports[_0x4a85('0x87')]=function(_0x92172d,_0x26e332,_0x491671){return db['MailQueue'][_0x4a85('0x4c')]({'where':{'id':_0x92172d[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x26e332,null))['then'](function(_0x2d70ba){if(_0x2d70ba){return _0x2d70ba['addAgents'](_0x92172d[_0x4a85('0x4f')][_0x4a85('0x85')],_[_0x4a85('0x88')](_0x92172d[_0x4a85('0x4f')],[_0x4a85('0x85'),'id'])||{})['spread'](function(_0x1bb367){for(var _0x2cfb61=0x0;_0x2cfb61<_0x92172d[_0x4a85('0x4f')][_0x4a85('0x85')]['length'];_0x2cfb61+=0x1){socket[_0x4a85('0x86')](_0x4a85('0x72'),{'UserId':Number(_0x92172d[_0x4a85('0x4f')][_0x4a85('0x85')][_0x2cfb61]),'MailQueueId':Number(_0x92172d[_0x4a85('0x58')]['id'])});}return _0x1bb367;});}})[_0x4a85('0x2a')](respondWithResult(_0x26e332,null))[_0x4a85('0x4d')](handleError(_0x26e332,null));};exports[_0x4a85('0x89')]=function(_0x183085,_0x35e15b,_0x5aa8aa){return db['MailQueue'][_0x4a85('0x4c')]({'where':{'id':_0x183085[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x35e15b,null))[_0x4a85('0x2a')](function(_0x17aa28){if(_0x17aa28){return _0x17aa28['removeAgents'](_0x183085[_0x4a85('0x38')]['ids'])[_0x4a85('0x2a')](function(){if(_['isArray'](_0x183085[_0x4a85('0x38')]['ids'])){for(var _0x2a89d3=0x0;_0x2a89d3<_0x183085[_0x4a85('0x38')]['ids'][_0x4a85('0x3e')];_0x2a89d3+=0x1){socket['emit'](_0x4a85('0x8a'),{'UserId':Number(_0x183085[_0x4a85('0x38')][_0x4a85('0x85')][_0x2a89d3]),'MailQueueId':Number(_0x183085[_0x4a85('0x58')]['id'])});}}else{socket[_0x4a85('0x86')]('userMailQueue:remove',{'UserId':Number(_0x183085[_0x4a85('0x38')][_0x4a85('0x85')]),'MailQueueId':Number(_0x183085[_0x4a85('0x58')]['id'])});}});}})[_0x4a85('0x2a')](respondWithStatusCode(_0x35e15b,null))[_0x4a85('0x4d')](handleError(_0x35e15b,null));};exports['getAgents']=function(_0x482ff6,_0x5b30f2,_0x5ba801){var _0x201ef6={};var _0x5abf7f={};var _0x25135b;var _0x3bf992;return db[_0x4a85('0x32')][_0x4a85('0x5b')]({'where':{'id':_0x482ff6[_0x4a85('0x58')]['id']}})[_0x4a85('0x2a')](handleEntityNotFound(_0x5b30f2,null))[_0x4a85('0x2a')](function(_0x53ef9e){if(_0x53ef9e){_0x25135b=_0x53ef9e;_0x5abf7f[_0x4a85('0x37')]=_[_0x4a85('0x39')](db[_0x4a85('0x5f')][_0x4a85('0x33')]);_0x5abf7f[_0x4a85('0x38')]=_['keys'](_0x482ff6[_0x4a85('0x38')]);_0x5abf7f['filters']=_[_0x4a85('0x3b')](_0x5abf7f[_0x4a85('0x37')],_0x5abf7f[_0x4a85('0x38')]);_0x201ef6[_0x4a85('0x3c')]=_['intersection'](_0x5abf7f[_0x4a85('0x37')],qs['fields'](_0x482ff6[_0x4a85('0x38')][_0x4a85('0x3d')]));_0x201ef6[_0x4a85('0x3c')]=_0x201ef6[_0x4a85('0x3c')][_0x4a85('0x3e')]?_0x201ef6[_0x4a85('0x3c')]:_0x5abf7f['model'];_0x201ef6['order']=qs[_0x4a85('0x41')](_0x482ff6[_0x4a85('0x38')][_0x4a85('0x41')]);_0x201ef6[_0x4a85('0x42')]=qs['filters'](_['pick'](_0x482ff6[_0x4a85('0x38')],_0x5abf7f[_0x4a85('0x3a')]));if(_0x482ff6['query'][_0x4a85('0x44')]){_0x201ef6[_0x4a85('0x42')]=_[_0x4a85('0x45')](_0x201ef6['where'],{'$or':_['map'](_0x201ef6[_0x4a85('0x3c')],function(_0x3d8cac){var _0x1b53b2={};_0x1b53b2[_0x3d8cac]={'$like':'%'+_0x482ff6[_0x4a85('0x38')]['filter']+'%'};return _0x1b53b2;})});}_0x201ef6=_[_0x4a85('0x45')]({},_0x201ef6,_0x482ff6[_0x4a85('0x46')]);return _0x25135b[_0x4a85('0x8b')](_0x201ef6);}})[_0x4a85('0x2a')](function(_0x3bb46b){if(_0x3bb46b){_0x3bf992=_0x3bb46b[_0x4a85('0x3e')];if(!_0x482ff6[_0x4a85('0x38')]['hasOwnProperty'](_0x4a85('0x40'))){_0x201ef6['limit']=qs['limit'](_0x482ff6['query'][_0x4a85('0x23')]);_0x201ef6[_0x4a85('0x24')]=qs[_0x4a85('0x24')](_0x482ff6[_0x4a85('0x38')]['offset']);}return _0x25135b['getAgents'](_0x201ef6);}})[_0x4a85('0x2a')](function(_0x2e97af){if(_0x2e97af){return _0x2e97af?{'count':_0x3bf992,'rows':_0x2e97af}:null;}})['then'](respondWithResult(_0x5b30f2,null))[_0x4a85('0x4d')](handleError(_0x5b30f2,null));};