a7f9b4ba266f45e3bd966ae77bcbc6213562eaa0
[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 _0x49af=['transaction','findOrCreate','forEach','userMailQueue:save','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','sequelize','removeTeams','isEmpty','spread','emit','removeAgents','isArray','userMailQueue:remove','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','moment','bluebird','util','path','sox','to-csv','lodash','squel','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','end','status','json','offset','limit','set','Content-Range','apply','reject','save','update','destroy','then','get','MailQueues','sendStatus','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','findAll','rows','catch','show','keys','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','MailQueueId','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','format','%s/%s','SIP','Team','getTeams','addTeams','ids','online','voicePause','interface','flatMap','Agents'];(function(_0x3054be,_0x1bdc8b){var _0x3df150=function(_0x56cfbf){while(--_0x56cfbf){_0x3054be['push'](_0x3054be['shift']());}};_0x3df150(++_0x1bdc8b);}(_0x49af,0x139));var _0xf49a=function(_0x425b09,_0x199b95){_0x425b09=_0x425b09-0x0;var _0x4654d2=_0x49af[_0x425b09];return _0x4654d2;};'use strict';var pdf=require(_0xf49a('0x0'));var emlformat=require(_0xf49a('0x1'));var rimraf=require(_0xf49a('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xf49a('0x3'));var rp=require('request-promise');var moment=require(_0xf49a('0x4'));var BPromise=require(_0xf49a('0x5'));var Mustache=require('mustache');var util=require(_0xf49a('0x6'));var path=require(_0xf49a('0x7'));var sox=require(_0xf49a('0x8'));var csv=require(_0xf49a('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xf49a('0xa'));var squel=require(_0xf49a('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xf49a('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xf49a('0xc'));var qs=require(_0xf49a('0xd'));var as=require(_0xf49a('0xe'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xf49a('0xf'))('api');var utils=require('../../config/utils');var config=require(_0xf49a('0x10'));var db=require(_0xf49a('0x11'))['db'];config[_0xf49a('0x12')]=_[_0xf49a('0x13')](config[_0xf49a('0x12')],{'host':_0xf49a('0x14'),'port':0x18eb});var socket=require(_0xf49a('0x15'))(new Redis(config[_0xf49a('0x12')]));require(_0xf49a('0x16'))[_0xf49a('0x17')](socket);function respondWithStatusCode(_0xb69345,_0x9d1814){_0x9d1814=_0x9d1814||0xcc;return function(_0x5e46e6){if(_0x5e46e6){return _0xb69345['sendStatus'](_0x9d1814);}return _0xb69345['status'](_0x9d1814)[_0xf49a('0x18')]();};}function respondWithResult(_0x2f24df,_0x2d95a1){_0x2d95a1=_0x2d95a1||0xc8;return function(_0x4dacc0){if(_0x4dacc0){return _0x2f24df[_0xf49a('0x19')](_0x2d95a1)[_0xf49a('0x1a')](_0x4dacc0);}};}function respondWithFilteredResult(_0x32da1b,_0x39ea48){return function(_0x187bd2){if(_0x187bd2){var _0x47fddc=_0x187bd2['count'],_0x40606b=_0x39ea48[_0xf49a('0x1b')],_0x131430=_0x39ea48[_0xf49a('0x1b')]+_0x39ea48[_0xf49a('0x1c')],_0x51ee9f;if(_0x131430>=_0x47fddc){_0x131430=_0x47fddc;_0x51ee9f=0xc8;}else{_0x51ee9f=0xce;}_0x32da1b[_0xf49a('0x19')](_0x51ee9f);return _0x32da1b[_0xf49a('0x1d')](_0xf49a('0x1e'),_0x40606b+'-'+_0x131430+'/'+_0x47fddc)[_0xf49a('0x1a')](_0x187bd2);}return null;};}function patchUpdates(_0x4f07d8){return function(_0xee4be8){try{jsonpatch[_0xf49a('0x1f')](_0xee4be8,_0x4f07d8,!![]);}catch(_0x3753f4){return BPromise[_0xf49a('0x20')](_0x3753f4);}return _0xee4be8[_0xf49a('0x21')]();};}function saveUpdates(_0x1fad1b,_0x3495be){return function(_0x11131d){if(_0x11131d){return _0x11131d[_0xf49a('0x22')](_0x1fad1b)['then'](function(_0x1dbb14){return _0x1dbb14;});}return null;};}function removeEntity(_0x471a24,_0x5e77e5){return function(_0x47242a){if(_0x47242a){return _0x47242a[_0xf49a('0x23')]()[_0xf49a('0x24')](function(){var _0x562e33=_0x47242a[_0xf49a('0x25')]({'plain':!![]});var _0xcf0f4a=_0xf49a('0x26');return db['UserProfileResource'][_0xf49a('0x23')]({'where':{'type':_0xcf0f4a,'resourceId':_0x562e33['id']}})[_0xf49a('0x24')](function(){return _0x47242a;});})[_0xf49a('0x24')](function(){_0x471a24['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x5defec,_0x3588a6){return function(_0xd1dc59){if(!_0xd1dc59){_0x5defec[_0xf49a('0x27')](0x194);}return _0xd1dc59;};}function handleError(_0xdb1b3d,_0x51b110){_0x51b110=_0x51b110||0x1f4;return function(_0x508e4b){logger['error'](_0x508e4b[_0xf49a('0x28')]);if(_0x508e4b[_0xf49a('0x29')]){delete _0x508e4b[_0xf49a('0x29')];}_0xdb1b3d[_0xf49a('0x19')](_0x51b110)[_0xf49a('0x2a')](_0x508e4b);};}exports[_0xf49a('0x2b')]=function(_0x3cebe6,_0x394b59){var _0x13bb2b={},_0x575f78={},_0x440d87={'count':0x0,'rows':[]};var _0x418a8a=_[_0xf49a('0x2c')](db[_0xf49a('0x2d')][_0xf49a('0x2e')],function(_0x4e30b6){return{'name':_0x4e30b6[_0xf49a('0x2f')],'type':_0x4e30b6[_0xf49a('0x30')][_0xf49a('0x31')]};});_0x575f78[_0xf49a('0x32')]=_[_0xf49a('0x2c')](_0x418a8a,'name');_0x575f78['query']=_['keys'](_0x3cebe6[_0xf49a('0x33')]);_0x575f78[_0xf49a('0x34')]=_[_0xf49a('0x35')](_0x575f78[_0xf49a('0x32')],_0x575f78[_0xf49a('0x33')]);_0x13bb2b[_0xf49a('0x36')]=_['intersection'](_0x575f78[_0xf49a('0x32')],qs[_0xf49a('0x37')](_0x3cebe6['query']['fields']));_0x13bb2b[_0xf49a('0x36')]=_0x13bb2b[_0xf49a('0x36')][_0xf49a('0x38')]?_0x13bb2b[_0xf49a('0x36')]:_0x575f78['model'];if(!_0x3cebe6[_0xf49a('0x33')]['hasOwnProperty'](_0xf49a('0x39'))){_0x13bb2b['limit']=qs[_0xf49a('0x1c')](_0x3cebe6[_0xf49a('0x33')][_0xf49a('0x1c')]);_0x13bb2b['offset']=qs['offset'](_0x3cebe6['query']['offset']);}_0x13bb2b[_0xf49a('0x3a')]=qs[_0xf49a('0x3b')](_0x3cebe6['query'][_0xf49a('0x3b')]);_0x13bb2b[_0xf49a('0x3c')]=qs['filters'](_[_0xf49a('0x3d')](_0x3cebe6[_0xf49a('0x33')],_0x575f78[_0xf49a('0x34')]),_0x418a8a);if(_0x3cebe6['query'][_0xf49a('0x3e')]){_0x13bb2b[_0xf49a('0x3c')]=_[_0xf49a('0x3f')](_0x13bb2b[_0xf49a('0x3c')],{'$or':_['map'](_0x418a8a,function(_0x38ab9a){if(_0x38ab9a['type']!==_0xf49a('0x40')){var _0x2d34cf={};_0x2d34cf[_0x38ab9a[_0xf49a('0x29')]]={'$like':'%'+_0x3cebe6[_0xf49a('0x33')][_0xf49a('0x3e')]+'%'};return _0x2d34cf;}})});}_0x13bb2b=_[_0xf49a('0x3f')]({},_0x13bb2b,_0x3cebe6[_0xf49a('0x41')]);var _0x25a50c={'where':_0x13bb2b[_0xf49a('0x3c')]};return db[_0xf49a('0x2d')][_0xf49a('0x42')](_0x25a50c)[_0xf49a('0x24')](function(_0x457126){_0x440d87[_0xf49a('0x42')]=_0x457126;if(_0x3cebe6[_0xf49a('0x33')][_0xf49a('0x43')]){_0x13bb2b['include']=[{'all':!![]}];}return db['MailQueue'][_0xf49a('0x44')](_0x13bb2b);})['then'](function(_0x3b4028){_0x440d87[_0xf49a('0x45')]=_0x3b4028;return _0x440d87;})[_0xf49a('0x24')](respondWithFilteredResult(_0x394b59,_0x13bb2b))[_0xf49a('0x46')](handleError(_0x394b59,null));};exports[_0xf49a('0x47')]=function(_0x205144,_0x233e22){var _0x138350={'raw':!![],'where':{'id':_0x205144['params']['id']}},_0x157798={};_0x157798['model']=_['keys'](db['MailQueue'][_0xf49a('0x2e')]);_0x157798[_0xf49a('0x33')]=_[_0xf49a('0x48')](_0x205144[_0xf49a('0x33')]);_0x157798[_0xf49a('0x34')]=_[_0xf49a('0x35')](_0x157798[_0xf49a('0x32')],_0x157798['query']);_0x138350[_0xf49a('0x36')]=_[_0xf49a('0x35')](_0x157798[_0xf49a('0x32')],qs['fields'](_0x205144['query'][_0xf49a('0x37')]));_0x138350[_0xf49a('0x36')]=_0x138350[_0xf49a('0x36')][_0xf49a('0x38')]?_0x138350[_0xf49a('0x36')]:_0x157798[_0xf49a('0x32')];if(_0x205144[_0xf49a('0x33')][_0xf49a('0x43')]){_0x138350[_0xf49a('0x49')]=[{'all':!![]}];}_0x138350=_[_0xf49a('0x3f')]({},_0x138350,_0x205144[_0xf49a('0x41')]);return db[_0xf49a('0x2d')][_0xf49a('0x4a')](_0x138350)[_0xf49a('0x24')](handleEntityNotFound(_0x233e22,null))[_0xf49a('0x24')](respondWithResult(_0x233e22,null))['catch'](handleError(_0x233e22,null));};exports[_0xf49a('0x4b')]=function(_0x2b5806,_0x3aeeb1){return db[_0xf49a('0x2d')]['create'](_0x2b5806[_0xf49a('0x4c')],{})[_0xf49a('0x24')](function(_0x1ca3cf){var _0x15d30d=_0x2b5806[_0xf49a('0x4d')][_0xf49a('0x25')]({'plain':!![]});if(!_0x15d30d)throw new Error(_0xf49a('0x4e'));if(_0x15d30d['role']===_0xf49a('0x4d')){var _0x54c072=_0x1ca3cf[_0xf49a('0x25')]({'plain':!![]});var _0x31e068='MailQueues';return db['UserProfileSection'][_0xf49a('0x4a')]({'where':{'name':_0x31e068,'userProfileId':_0x15d30d[_0xf49a('0x4f')]},'raw':!![]})[_0xf49a('0x24')](function(_0x2d89fe){if(_0x2d89fe&&_0x2d89fe[_0xf49a('0x50')]===0x0){return db['UserProfileResource'][_0xf49a('0x4b')]({'name':_0x54c072[_0xf49a('0x29')],'resourceId':_0x54c072['id'],'type':_0x2d89fe[_0xf49a('0x29')],'sectionId':_0x2d89fe['id']},{})['then'](function(){return _0x1ca3cf;});}else{return _0x1ca3cf;}})[_0xf49a('0x46')](function(_0x40de82){logger['error'](_0xf49a('0x51'),_0x40de82);throw _0x40de82;});}return _0x1ca3cf;})['then'](respondWithResult(_0x3aeeb1,0xc9))[_0xf49a('0x46')](handleError(_0x3aeeb1,null));};exports['update']=function(_0x14ed55,_0xcf68f9){if(_0x14ed55[_0xf49a('0x4c')]['id']){delete _0x14ed55[_0xf49a('0x4c')]['id'];}return db[_0xf49a('0x2d')][_0xf49a('0x4a')]({'where':{'id':_0x14ed55[_0xf49a('0x52')]['id']}})[_0xf49a('0x24')](handleEntityNotFound(_0xcf68f9,null))['then'](saveUpdates(_0x14ed55[_0xf49a('0x4c')],null))[_0xf49a('0x24')](respondWithResult(_0xcf68f9,null))['catch'](handleError(_0xcf68f9,null));};exports[_0xf49a('0x23')]=function(_0x13e9b7,_0x4608a1){return db[_0xf49a('0x2d')][_0xf49a('0x4a')]({'where':{'id':_0x13e9b7[_0xf49a('0x52')]['id']}})[_0xf49a('0x24')](handleEntityNotFound(_0x4608a1,null))[_0xf49a('0x24')](removeEntity(_0x4608a1,null))[_0xf49a('0x46')](handleError(_0x4608a1,null));};exports[_0xf49a('0x53')]=function(_0x14f2f9,_0x1c5a27){return db[_0xf49a('0x2d')][_0xf49a('0x53')]()[_0xf49a('0x24')](respondWithResult(_0x1c5a27,null))['catch'](handleError(_0x1c5a27,null));};exports[_0xf49a('0x54')]=function(_0x45f1e5,_0x21f29e,_0x4124a3){var _0xaa9df7={'raw':!![],'where':{}},_0x19a8ae={},_0x5088d1;return db[_0xf49a('0x2d')][_0xf49a('0x55')]({'where':{'id':_0x45f1e5[_0xf49a('0x52')]['id']}})['then'](handleEntityNotFound(_0x21f29e,null))[_0xf49a('0x24')](function(_0x881c11){if(_0x881c11){_0x5088d1=_0x881c11[_0xf49a('0x25')]({'plain':!![]});_0x19a8ae[_0xf49a('0x32')]=_[_0xf49a('0x48')](db[_0xf49a('0x56')][_0xf49a('0x2e')]);_0x19a8ae[_0xf49a('0x33')]=_['keys'](_0x45f1e5[_0xf49a('0x33')]);_0x19a8ae[_0xf49a('0x34')]=_[_0xf49a('0x35')](_0x19a8ae[_0xf49a('0x32')],_0x19a8ae['query']);_0xaa9df7[_0xf49a('0x36')]=_[_0xf49a('0x35')](_0x19a8ae[_0xf49a('0x32')],qs['fields'](_0x45f1e5[_0xf49a('0x33')][_0xf49a('0x37')]));_0xaa9df7[_0xf49a('0x36')]=_0xaa9df7['attributes'][_0xf49a('0x38')]?_0xaa9df7[_0xf49a('0x36')]:_0x19a8ae[_0xf49a('0x32')];if(!_0x45f1e5[_0xf49a('0x33')][_0xf49a('0x57')]('nolimit')){_0xaa9df7[_0xf49a('0x1c')]=qs[_0xf49a('0x1c')](_0x45f1e5['query'][_0xf49a('0x1c')]);_0xaa9df7['offset']=qs['offset'](_0x45f1e5[_0xf49a('0x33')]['offset']);}_0xaa9df7[_0xf49a('0x3a')]=qs[_0xf49a('0x3b')](_0x45f1e5['query'][_0xf49a('0x3b')]);_0xaa9df7[_0xf49a('0x3c')]=qs[_0xf49a('0x34')](_[_0xf49a('0x3d')](_0x45f1e5[_0xf49a('0x33')],_0x19a8ae[_0xf49a('0x34')]));_0xaa9df7[_0xf49a('0x3c')][_0xf49a('0x58')]=_0x881c11['id'];if(_0x45f1e5[_0xf49a('0x33')][_0xf49a('0x3e')]){_0xaa9df7[_0xf49a('0x3c')]=_['merge'](_0xaa9df7['where'],{'$or':_['map'](_0xaa9df7['attributes'],function(_0x16eecb){var _0x31eb32={};_0x31eb32[_0x16eecb]={'$like':'%'+_0x45f1e5[_0xf49a('0x33')][_0xf49a('0x3e')]+'%'};return _0x31eb32;})});}_0xaa9df7=_[_0xf49a('0x3f')]({},_0xaa9df7,_0x45f1e5['options']);return db[_0xf49a('0x56')][_0xf49a('0x44')](_0xaa9df7);}})['then'](function(_0x3bb4e4){if(_0x3bb4e4){return db[_0xf49a('0x59')][_0xf49a('0x5a')]({'where':{'id':_[_0xf49a('0x2c')](_0x3bb4e4,_0xf49a('0x5b')),'role':'agent'},'attributes':['id',_0xf49a('0x29'),_0xf49a('0x5c'),_0xf49a('0x5d'),_0xf49a('0x5e')]});}})[_0xf49a('0x24')](function(_0x3c5936){if(_0x3c5936){return{'count':_0x3c5936[_0xf49a('0x42')],'rows':_[_0xf49a('0x2c')](_0x3c5936[_0xf49a('0x45')],function(_0x3fcd13){return{'membername':_0x3fcd13['name'],'UserId':_0x3fcd13['id'],'queue_name':_0x5088d1[_0xf49a('0x29')],'MailQueueId':_0x5088d1['id'],'interface':util[_0xf49a('0x5f')](_0xf49a('0x60'),_0xf49a('0x61'),_0x3fcd13[_0xf49a('0x29')]),'penalty':0x0,'paused':_0x3fcd13[_0xf49a('0x5c')],'createdAt':_0x3fcd13[_0xf49a('0x5e')],'updatedAt':_0x3fcd13['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x21f29e,_0xaa9df7))[_0xf49a('0x46')](handleError(_0x21f29e,null));};exports['getTeams']=function(_0x25321d,_0x6c70d2,_0x4f24e6){var _0x3d8d25={};var _0x4c5211={};var _0x5598b4;var _0x220279;return db[_0xf49a('0x2d')][_0xf49a('0x55')]({'where':{'id':_0x25321d[_0xf49a('0x52')]['id']}})[_0xf49a('0x24')](handleEntityNotFound(_0x6c70d2,null))[_0xf49a('0x24')](function(_0x15b09d){if(_0x15b09d){_0x5598b4=_0x15b09d;_0x4c5211['model']=_[_0xf49a('0x48')](db[_0xf49a('0x62')][_0xf49a('0x2e')]);_0x4c5211[_0xf49a('0x33')]=_[_0xf49a('0x48')](_0x25321d[_0xf49a('0x33')]);_0x4c5211[_0xf49a('0x34')]=_['intersection'](_0x4c5211['model'],_0x4c5211['query']);_0x3d8d25['attributes']=_[_0xf49a('0x35')](_0x4c5211[_0xf49a('0x32')],qs[_0xf49a('0x37')](_0x25321d['query'][_0xf49a('0x37')]));_0x3d8d25[_0xf49a('0x36')]=_0x3d8d25[_0xf49a('0x36')]['length']?_0x3d8d25[_0xf49a('0x36')]:_0x4c5211['model'];_0x3d8d25[_0xf49a('0x3a')]=qs[_0xf49a('0x3b')](_0x25321d[_0xf49a('0x33')][_0xf49a('0x3b')]);_0x3d8d25[_0xf49a('0x3c')]=qs['filters'](_[_0xf49a('0x3d')](_0x25321d[_0xf49a('0x33')],_0x4c5211[_0xf49a('0x34')]));if(_0x25321d[_0xf49a('0x33')][_0xf49a('0x3e')]){_0x3d8d25[_0xf49a('0x3c')]=_[_0xf49a('0x3f')](_0x3d8d25[_0xf49a('0x3c')],{'$or':_[_0xf49a('0x2c')](_0x3d8d25['attributes'],function(_0x49bf5b){var _0x50b9e0={};_0x50b9e0[_0x49bf5b]={'$like':'%'+_0x25321d[_0xf49a('0x33')][_0xf49a('0x3e')]+'%'};return _0x50b9e0;})});}_0x3d8d25=_[_0xf49a('0x3f')]({},_0x3d8d25,_0x25321d[_0xf49a('0x41')]);return _0x5598b4[_0xf49a('0x63')](_0x3d8d25);}})['then'](function(_0x5ba03a){if(_0x5ba03a){_0x220279=_0x5ba03a[_0xf49a('0x38')];if(!_0x25321d['query'][_0xf49a('0x57')]('nolimit')){_0x3d8d25[_0xf49a('0x1c')]=qs[_0xf49a('0x1c')](_0x25321d[_0xf49a('0x33')][_0xf49a('0x1c')]);_0x3d8d25[_0xf49a('0x1b')]=qs[_0xf49a('0x1b')](_0x25321d['query'][_0xf49a('0x1b')]);}return _0x5598b4[_0xf49a('0x63')](_0x3d8d25);}})[_0xf49a('0x24')](function(_0x470552){if(_0x470552){return _0x470552?{'count':_0x220279,'rows':_0x470552}:null;}})[_0xf49a('0x24')](respondWithResult(_0x6c70d2,null))[_0xf49a('0x46')](handleError(_0x6c70d2,null));};exports[_0xf49a('0x64')]=function(_0x1f7470,_0x569ae0,_0x192135){var _0x42f88f=_0x1f7470['body'][_0xf49a('0x65')];return db['Team'][_0xf49a('0x44')]({'where':{'id':_0x42f88f},'attributes':['id'],'include':[{'model':db[_0xf49a('0x59')],'as':'Agents','attributes':['id',_0xf49a('0x29'),_0xf49a('0x66'),_0xf49a('0x67'),_0xf49a('0x68')],'raw':!![]}]})[_0xf49a('0x24')](function(_0x1b8160){if(_0x1b8160){var _0x53b096=_[_0xf49a('0x69')](_0x1b8160,function(_0x5c7323){var _0xf05e52=_0x5c7323[_0xf49a('0x25')]({'plain':!![]});return _0xf05e52[_0xf49a('0x6a')];});return db[_0xf49a('0x2d')][_0xf49a('0x4a')]({'where':{'id':_0x1f7470[_0xf49a('0x52')]['id']}})['then'](function(_0x32cc97){return db['sequelize'][_0xf49a('0x6b')](function(_0x5a5c96){return _0x32cc97[_0xf49a('0x64')](_0x42f88f,{'transaction':_0x5a5c96})[_0xf49a('0x24')](function(){return BPromise['each'](_0x53b096,function(_0x52d14c){return db['UserMailQueue'][_0xf49a('0x6c')]({'where':{'UserId':_0x52d14c['id'],'MailQueueId':_0x1f7470['params']['id']},'transaction':_0x5a5c96});});})[_0xf49a('0x24')](function(){_0x53b096[_0xf49a('0x6d')](function(_0x5140fd){socket['emit'](_0xf49a('0x6e'),{'UserId':_0x5140fd['id'],'MailQueueId':_0x32cc97['id']});});});});});}})[_0xf49a('0x24')](respondWithStatusCode(_0x569ae0,null))[_0xf49a('0x46')](handleError(_0x569ae0,null));};exports['removeTeams']=function(_0x26a6f2,_0x3b3973,_0x22e9f5){return db[_0xf49a('0x62')][_0xf49a('0x44')]({'where':{'id':_0x26a6f2['query'][_0xf49a('0x65')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xf49a('0x6a'),'attributes':['id'],'raw':!![]}]})[_0xf49a('0x24')](handleEntityNotFound(_0x3b3973,null))[_0xf49a('0x24')](function(_0x586953){var _0x351fca=_[_0xf49a('0x2c')](_0x586953,'id');var _0x429845=[];var _0x1dd52b=[];var _0x23a0bb=squel['select']();_0x23a0bb[_0xf49a('0x6f')](_0xf49a('0x70'))[_0xf49a('0x71')](_0xf49a('0x72'),'tq')[_0xf49a('0x73')](_0xf49a('0x74'),'ut',_0xf49a('0x75'))[_0xf49a('0x3c')](_0xf49a('0x76'),_0x26a6f2[_0xf49a('0x52')]['id']);for(var _0x80ab89=0x0;_0x80ab89<_0x586953[_0xf49a('0x38')];_0x80ab89+=0x1){let _0x28017b=_0x586953[_0x80ab89];for(var _0x28e25b=0x0;_0x28e25b<_0x28017b['Agents'][_0xf49a('0x38')];_0x28e25b+=0x1){let _0x2d6b77=_0x28017b[_0xf49a('0x6a')][_0x28e25b];var _0x5b82e6=_0x23a0bb[_0xf49a('0x77')]();_0x5b82e6[_0xf49a('0x3c')]('ut.UserId\x20=\x20?',_0x2d6b77['id']);_0x1dd52b[_0xf49a('0x78')](db['sequelize'][_0xf49a('0x33')](_0x5b82e6[_0xf49a('0x79')](),{'type':db['sequelize'][_0xf49a('0x7a')][_0xf49a('0x7b')]})['then'](function(_0x40b61e){if(_0x40b61e[_0xf49a('0x38')]===0x1){return _0x2d6b77['id'];}else{var _0x1a7438=_[_0xf49a('0x7c')](_[_0xf49a('0x2c')](_0x40b61e,_0xf49a('0x7d')),function(_0x58317c){return _[_0xf49a('0x7e')](_0x351fca,_0x58317c);});if(_0x1a7438){return _0x2d6b77['id'];}}}));}}return BPromise[_0xf49a('0x7f')](_0x1dd52b)[_0xf49a('0x24')](function(_0x1cd115){_0x429845=_(_0x429845)[_0xf49a('0x80')](_0x1cd115)[_0xf49a('0x81')]()[_0xf49a('0x82')]();return db['MailQueue']['find']({'where':{'id':_0x26a6f2[_0xf49a('0x52')]['id']}})['then'](function(_0x4983f3){return db[_0xf49a('0x83')]['transaction'](function(_0x5abb0b){return _0x4983f3[_0xf49a('0x84')](_0x26a6f2[_0xf49a('0x33')]['ids'],{'transaction':_0x5abb0b})[_0xf49a('0x24')](function(){if(!_[_0xf49a('0x85')](_0x429845)){return _0x4983f3['removeAgents'](_0x429845,{'transaction':_0x5abb0b});}})[_0xf49a('0x24')](function(){_0x429845[_0xf49a('0x6d')](function(_0x5ea372){socket['emit']('userMailQueue:remove',{'UserId':_0x5ea372,'MailQueueId':_0x4983f3['id']});});});});});});})[_0xf49a('0x24')](respondWithStatusCode(_0x3b3973,null))[_0xf49a('0x46')](handleError(_0x3b3973,null));};exports['addAgents']=function(_0x298618,_0x1fde58,_0x23af6c){return db[_0xf49a('0x2d')][_0xf49a('0x4a')]({'where':{'id':_0x298618[_0xf49a('0x52')]['id']}})[_0xf49a('0x24')](handleEntityNotFound(_0x1fde58,null))[_0xf49a('0x24')](function(_0x27d478){if(_0x27d478){return _0x27d478['addAgents'](_0x298618[_0xf49a('0x4c')]['ids'],_['omit'](_0x298618['body'],['ids','id'])||{})[_0xf49a('0x86')](function(_0xfe4116){for(var _0x243eec=0x0;_0x243eec<_0x298618[_0xf49a('0x4c')][_0xf49a('0x65')]['length'];_0x243eec+=0x1){socket[_0xf49a('0x87')](_0xf49a('0x6e'),{'UserId':_0x298618[_0xf49a('0x4c')][_0xf49a('0x65')][_0x243eec],'MailQueueId':_0x298618[_0xf49a('0x52')]['id']});}return _0xfe4116;});}})[_0xf49a('0x24')](respondWithResult(_0x1fde58,null))[_0xf49a('0x46')](handleError(_0x1fde58,null));};exports[_0xf49a('0x88')]=function(_0x2502d9,_0x64d7d4,_0x296ff7){return db[_0xf49a('0x2d')][_0xf49a('0x4a')]({'where':{'id':_0x2502d9[_0xf49a('0x52')]['id']}})[_0xf49a('0x24')](handleEntityNotFound(_0x64d7d4,null))[_0xf49a('0x24')](function(_0x2bc7e5){if(_0x2bc7e5){return _0x2bc7e5[_0xf49a('0x88')](_0x2502d9['query'][_0xf49a('0x65')])['then'](function(){if(_[_0xf49a('0x89')](_0x2502d9['query']['ids'])){for(var _0x16f020=0x0;_0x16f020<_0x2502d9[_0xf49a('0x33')][_0xf49a('0x65')][_0xf49a('0x38')];_0x16f020+=0x1){socket[_0xf49a('0x87')](_0xf49a('0x8a'),{'UserId':Number(_0x2502d9[_0xf49a('0x33')][_0xf49a('0x65')][_0x16f020]),'MailQueueId':Number(_0x2502d9[_0xf49a('0x52')]['id'])});}}else{socket[_0xf49a('0x87')](_0xf49a('0x8a'),{'UserId':Number(_0x2502d9['query']['ids']),'MailQueueId':Number(_0x2502d9['params']['id'])});}});}})[_0xf49a('0x24')](respondWithStatusCode(_0x64d7d4,null))[_0xf49a('0x46')](handleError(_0x64d7d4,null));};exports[_0xf49a('0x8b')]=function(_0x32a692,_0x39d51c,_0x1b5b2f){var _0x19b7f9={};var _0x5552f5={};var _0x48bfd4;var _0x153d09;return db['MailQueue'][_0xf49a('0x55')]({'where':{'id':_0x32a692['params']['id']}})[_0xf49a('0x24')](handleEntityNotFound(_0x39d51c,null))[_0xf49a('0x24')](function(_0x49cbd9){if(_0x49cbd9){_0x48bfd4=_0x49cbd9;_0x5552f5[_0xf49a('0x32')]=_['keys'](db[_0xf49a('0x59')]['rawAttributes']);_0x5552f5[_0xf49a('0x33')]=_[_0xf49a('0x48')](_0x32a692['query']);_0x5552f5[_0xf49a('0x34')]=_[_0xf49a('0x35')](_0x5552f5['model'],_0x5552f5['query']);_0x19b7f9[_0xf49a('0x36')]=_['intersection'](_0x5552f5[_0xf49a('0x32')],qs[_0xf49a('0x37')](_0x32a692['query'][_0xf49a('0x37')]));_0x19b7f9[_0xf49a('0x36')]=_0x19b7f9['attributes'][_0xf49a('0x38')]?_0x19b7f9[_0xf49a('0x36')]:_0x5552f5[_0xf49a('0x32')];_0x19b7f9[_0xf49a('0x3a')]=qs[_0xf49a('0x3b')](_0x32a692[_0xf49a('0x33')][_0xf49a('0x3b')]);_0x19b7f9[_0xf49a('0x3c')]=qs[_0xf49a('0x34')](_[_0xf49a('0x3d')](_0x32a692[_0xf49a('0x33')],_0x5552f5['filters']));if(_0x32a692[_0xf49a('0x33')]['filter']){_0x19b7f9[_0xf49a('0x3c')]=_[_0xf49a('0x3f')](_0x19b7f9['where'],{'$or':_[_0xf49a('0x2c')](_0x19b7f9[_0xf49a('0x36')],function(_0x770b88){var _0x2cf31b={};_0x2cf31b[_0x770b88]={'$like':'%'+_0x32a692[_0xf49a('0x33')][_0xf49a('0x3e')]+'%'};return _0x2cf31b;})});}_0x19b7f9=_[_0xf49a('0x3f')]({},_0x19b7f9,_0x32a692['options']);return _0x48bfd4['getAgents'](_0x19b7f9);}})[_0xf49a('0x24')](function(_0x3ba7bf){if(_0x3ba7bf){_0x153d09=_0x3ba7bf[_0xf49a('0x38')];if(!_0x32a692[_0xf49a('0x33')]['hasOwnProperty'](_0xf49a('0x39'))){_0x19b7f9['limit']=qs[_0xf49a('0x1c')](_0x32a692[_0xf49a('0x33')][_0xf49a('0x1c')]);_0x19b7f9[_0xf49a('0x1b')]=qs[_0xf49a('0x1b')](_0x32a692[_0xf49a('0x33')][_0xf49a('0x1b')]);}return _0x48bfd4[_0xf49a('0x8b')](_0x19b7f9);}})[_0xf49a('0x24')](function(_0x306dc1){if(_0x306dc1){return _0x306dc1?{'count':_0x153d09,'rows':_0x306dc1}:null;}})[_0xf49a('0x24')](respondWithResult(_0x39d51c,null))[_0xf49a('0x46')](handleError(_0x39d51c,null));};