57640d1924a1997672fc94a28256cabadc3d6a73
[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 _0x05b8=['select','tq.TeamId','join','user_has_teams','MailQueueId\x20=\x20?','clone','push','sequelize','toString','includes','compact','removeAgents','userMailQueue:remove','addAgents','omit','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','localhost','socket.io-emitter','./mailQueue.socket','register','end','status','offset','limit','count','apply','save','then','destroy','get','MailQueues','UserProfileResource','sendStatus','error','stack','name','index','map','MailQueue','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','sort','where','pick','filter','VIRTUAL','includeAll','findAll','rows','show','params','keys','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','update','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','order','MailQueueId','merge','options','findAndCountAll','agent','mailPause','createdAt','format','%s/%s','SIP','updatedAt','getTeams','Team','addTeams','ids','User','voicePause','interface','flatMap','Agents','transaction','each','forEach','emit','userMailQueue:save','removeTeams'];(function(_0x4d3b25,_0x4e1d9f){var _0x53ad7f=function(_0x5c1222){while(--_0x5c1222){_0x4d3b25['push'](_0x4d3b25['shift']());}};_0x53ad7f(++_0x4e1d9f);}(_0x05b8,0x191));var _0x805b=function(_0x3bbe61,_0x52d6f3){_0x3bbe61=_0x3bbe61-0x0;var _0x526a37=_0x05b8[_0x3bbe61];return _0x526a37;};'use strict';var emlformat=require(_0x805b('0x0'));var rimraf=require(_0x805b('0x1'));var zipdir=require(_0x805b('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x805b('0x3'));var moment=require(_0x805b('0x4'));var BPromise=require(_0x805b('0x5'));var Mustache=require('mustache');var util=require(_0x805b('0x6'));var path=require(_0x805b('0x7'));var sox=require(_0x805b('0x8'));var csv=require(_0x805b('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x805b('0xa'));var crypto=require(_0x805b('0xb'));var jsforce=require(_0x805b('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x805b('0x9'));var querystring=require(_0x805b('0xd'));var Papa=require(_0x805b('0xe'));var Redis=require(_0x805b('0xf'));var authService=require(_0x805b('0x10'));var qs=require(_0x805b('0x11'));var as=require(_0x805b('0x12'));var hardwareService=require(_0x805b('0x13'));var logger=require(_0x805b('0x14'))(_0x805b('0x15'));var utils=require(_0x805b('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0x805b('0x17'));var db=require(_0x805b('0x18'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x805b('0x19'),'port':0x18eb});var socket=require(_0x805b('0x1a'))(new Redis(config['redis']));require(_0x805b('0x1b'))[_0x805b('0x1c')](socket);function respondWithStatusCode(_0x136b6a,_0xcbd448){_0xcbd448=_0xcbd448||0xcc;return function(_0x2d6e6f){if(_0x2d6e6f){return _0x136b6a['sendStatus'](_0xcbd448);}return _0x136b6a['status'](_0xcbd448)[_0x805b('0x1d')]();};}function respondWithResult(_0x5814cf,_0x45987e){_0x45987e=_0x45987e||0xc8;return function(_0x477060){if(_0x477060){return _0x5814cf[_0x805b('0x1e')](_0x45987e)['json'](_0x477060);}};}function respondWithFilteredResult(_0x5a23db,_0x5ba975){return function(_0x2aeedf){if(_0x2aeedf){var _0xbad8ab=typeof _0x5ba975[_0x805b('0x1f')]==='undefined'&&typeof _0x5ba975[_0x805b('0x20')]==='undefined';var _0x263d62=_0x2aeedf[_0x805b('0x21')];var _0x1a05db=_0xbad8ab?0x0:_0x5ba975[_0x805b('0x1f')];var _0x3a6979=_0xbad8ab?_0x2aeedf[_0x805b('0x21')]:_0x5ba975[_0x805b('0x1f')]+_0x5ba975[_0x805b('0x20')];var _0x14b272;if(_0x3a6979>=_0x263d62){_0x3a6979=_0x263d62;_0x14b272=0xc8;}else{_0x14b272=0xce;}_0x5a23db['status'](_0x14b272);return _0x5a23db['set']('Content-Range',_0x1a05db+'-'+_0x3a6979+'/'+_0x263d62)['json'](_0x2aeedf);}return null;};}function patchUpdates(_0x3a4003){return function(_0x14a5ed){try{jsonpatch[_0x805b('0x22')](_0x14a5ed,_0x3a4003,!![]);}catch(_0x3573e5){return BPromise['reject'](_0x3573e5);}return _0x14a5ed[_0x805b('0x23')]();};}function saveUpdates(_0x34caed,_0x7ac0d0){return function(_0x34ff8e){if(_0x34ff8e){return _0x34ff8e['update'](_0x34caed)[_0x805b('0x24')](function(_0x443270){return _0x443270;});}return null;};}function removeEntity(_0x5496cd,_0x430d56){return function(_0x351747){if(_0x351747){return _0x351747[_0x805b('0x25')]()[_0x805b('0x24')](function(){var _0x3e5b83=_0x351747[_0x805b('0x26')]({'plain':!![]});var _0x35bf67=_0x805b('0x27');return db[_0x805b('0x28')][_0x805b('0x25')]({'where':{'type':_0x35bf67,'resourceId':_0x3e5b83['id']}})[_0x805b('0x24')](function(){return _0x351747;});})['then'](function(){_0x5496cd['status'](0xcc)[_0x805b('0x1d')]();});}};}function handleEntityNotFound(_0xda8121,_0x380312){return function(_0x63d681){if(!_0x63d681){_0xda8121[_0x805b('0x29')](0x194);}return _0x63d681;};}function handleError(_0x45f90a,_0x511617){_0x511617=_0x511617||0x1f4;return function(_0x227d92){logger[_0x805b('0x2a')](_0x227d92[_0x805b('0x2b')]);if(_0x227d92[_0x805b('0x2c')]){delete _0x227d92[_0x805b('0x2c')];}_0x45f90a[_0x805b('0x1e')](_0x511617)['send'](_0x227d92);};}exports[_0x805b('0x2d')]=function(_0xb10d53,_0x599e70){var _0x46e23a={},_0x259ed6={},_0x3d4400={'count':0x0,'rows':[]};var _0x14198a=_[_0x805b('0x2e')](db[_0x805b('0x2f')][_0x805b('0x30')],function(_0x20369b){return{'name':_0x20369b['fieldName'],'type':_0x20369b[_0x805b('0x31')][_0x805b('0x32')]};});_0x259ed6[_0x805b('0x33')]=_[_0x805b('0x2e')](_0x14198a,_0x805b('0x2c'));_0x259ed6[_0x805b('0x34')]=_['keys'](_0xb10d53['query']);_0x259ed6[_0x805b('0x35')]=_[_0x805b('0x36')](_0x259ed6['model'],_0x259ed6[_0x805b('0x34')]);_0x46e23a[_0x805b('0x37')]=_[_0x805b('0x36')](_0x259ed6[_0x805b('0x33')],qs[_0x805b('0x38')](_0xb10d53[_0x805b('0x34')]['fields']));_0x46e23a['attributes']=_0x46e23a['attributes'][_0x805b('0x39')]?_0x46e23a[_0x805b('0x37')]:_0x259ed6[_0x805b('0x33')];if(!_0xb10d53['query']['hasOwnProperty'](_0x805b('0x3a'))){_0x46e23a[_0x805b('0x20')]=qs[_0x805b('0x20')](_0xb10d53[_0x805b('0x34')]['limit']);_0x46e23a[_0x805b('0x1f')]=qs[_0x805b('0x1f')](_0xb10d53['query'][_0x805b('0x1f')]);}_0x46e23a['order']=qs[_0x805b('0x3b')](_0xb10d53[_0x805b('0x34')][_0x805b('0x3b')]);_0x46e23a[_0x805b('0x3c')]=qs[_0x805b('0x35')](_[_0x805b('0x3d')](_0xb10d53[_0x805b('0x34')],_0x259ed6[_0x805b('0x35')]),_0x14198a);if(_0xb10d53[_0x805b('0x34')][_0x805b('0x3e')]){_0x46e23a[_0x805b('0x3c')]=_['merge'](_0x46e23a['where'],{'$or':_[_0x805b('0x2e')](_0x14198a,function(_0x586bc7){if(_0x586bc7[_0x805b('0x31')]!==_0x805b('0x3f')){var _0x5190b5={};_0x5190b5[_0x586bc7[_0x805b('0x2c')]]={'$like':'%'+_0xb10d53[_0x805b('0x34')][_0x805b('0x3e')]+'%'};return _0x5190b5;}})});}_0x46e23a=_['merge']({},_0x46e23a,_0xb10d53['options']);var _0x1f9041={'where':_0x46e23a[_0x805b('0x3c')]};return db['MailQueue'][_0x805b('0x21')](_0x1f9041)[_0x805b('0x24')](function(_0x56af26){_0x3d4400[_0x805b('0x21')]=_0x56af26;if(_0xb10d53[_0x805b('0x34')][_0x805b('0x40')]){_0x46e23a['include']=[{'all':!![]}];}return db[_0x805b('0x2f')][_0x805b('0x41')](_0x46e23a);})['then'](function(_0x9d23e){_0x3d4400[_0x805b('0x42')]=_0x9d23e;return _0x3d4400;})[_0x805b('0x24')](respondWithFilteredResult(_0x599e70,_0x46e23a))['catch'](handleError(_0x599e70,null));};exports[_0x805b('0x43')]=function(_0x6910aa,_0x30f888){var _0x2adc10={'raw':!![],'where':{'id':_0x6910aa[_0x805b('0x44')]['id']}},_0x49bd80={};_0x49bd80[_0x805b('0x33')]=_[_0x805b('0x45')](db[_0x805b('0x2f')][_0x805b('0x30')]);_0x49bd80['query']=_[_0x805b('0x45')](_0x6910aa[_0x805b('0x34')]);_0x49bd80[_0x805b('0x35')]=_['intersection'](_0x49bd80[_0x805b('0x33')],_0x49bd80[_0x805b('0x34')]);_0x2adc10[_0x805b('0x37')]=_[_0x805b('0x36')](_0x49bd80[_0x805b('0x33')],qs[_0x805b('0x38')](_0x6910aa[_0x805b('0x34')][_0x805b('0x38')]));_0x2adc10[_0x805b('0x37')]=_0x2adc10['attributes'][_0x805b('0x39')]?_0x2adc10[_0x805b('0x37')]:_0x49bd80[_0x805b('0x33')];if(_0x6910aa[_0x805b('0x34')][_0x805b('0x40')]){_0x2adc10['include']=[{'all':!![]}];}_0x2adc10=_['merge']({},_0x2adc10,_0x6910aa['options']);return db[_0x805b('0x2f')][_0x805b('0x46')](_0x2adc10)[_0x805b('0x24')](handleEntityNotFound(_0x30f888,null))['then'](respondWithResult(_0x30f888,null))[_0x805b('0x47')](handleError(_0x30f888,null));};exports['create']=function(_0x1eb0c4,_0x44b3ec){return db[_0x805b('0x2f')][_0x805b('0x48')](_0x1eb0c4[_0x805b('0x49')],{})['then'](function(_0x429462){var _0x3e2f84=_0x1eb0c4[_0x805b('0x4a')][_0x805b('0x26')]({'plain':!![]});if(!_0x3e2f84)throw new Error(_0x805b('0x4b'));if(_0x3e2f84[_0x805b('0x4c')]===_0x805b('0x4a')){var _0x3a75c8=_0x429462[_0x805b('0x26')]({'plain':!![]});var _0x2f2e90=_0x805b('0x27');return db['UserProfileSection'][_0x805b('0x46')]({'where':{'name':_0x2f2e90,'userProfileId':_0x3e2f84[_0x805b('0x4d')]},'raw':!![]})[_0x805b('0x24')](function(_0xa57fcc){if(_0xa57fcc&&_0xa57fcc['autoAssociation']===0x0){return db[_0x805b('0x28')][_0x805b('0x48')]({'name':_0x3a75c8['name'],'resourceId':_0x3a75c8['id'],'type':_0xa57fcc[_0x805b('0x2c')],'sectionId':_0xa57fcc['id']},{})[_0x805b('0x24')](function(){return _0x429462;});}else{return _0x429462;}})[_0x805b('0x47')](function(_0xd125a){logger[_0x805b('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xd125a);throw _0xd125a;});}return _0x429462;})[_0x805b('0x24')](respondWithResult(_0x44b3ec,0xc9))[_0x805b('0x47')](handleError(_0x44b3ec,null));};exports[_0x805b('0x4e')]=function(_0x49b159,_0x1ad4e1){if(_0x49b159[_0x805b('0x49')]['id']){delete _0x49b159[_0x805b('0x49')]['id'];}return db['MailQueue'][_0x805b('0x46')]({'where':{'id':_0x49b159[_0x805b('0x44')]['id']}})[_0x805b('0x24')](handleEntityNotFound(_0x1ad4e1,null))[_0x805b('0x24')](saveUpdates(_0x49b159[_0x805b('0x49')],null))[_0x805b('0x24')](respondWithResult(_0x1ad4e1,null))[_0x805b('0x47')](handleError(_0x1ad4e1,null));};exports['destroy']=function(_0x311935,_0x3faad3){return db[_0x805b('0x2f')][_0x805b('0x46')]({'where':{'id':_0x311935[_0x805b('0x44')]['id']}})['then'](handleEntityNotFound(_0x3faad3,null))['then'](removeEntity(_0x3faad3,null))[_0x805b('0x47')](handleError(_0x3faad3,null));};exports[_0x805b('0x4f')]=function(_0x3b4737,_0x5c1e41){return db[_0x805b('0x2f')][_0x805b('0x4f')]()[_0x805b('0x24')](respondWithResult(_0x5c1e41,null))['catch'](handleError(_0x5c1e41,null));};exports[_0x805b('0x50')]=function(_0x1179a7,_0x578dca,_0x195cf4){var _0x46803b={'raw':!![],'where':{}},_0x1daa7d={},_0x370649;return db['MailQueue'][_0x805b('0x51')]({'where':{'id':_0x1179a7[_0x805b('0x44')]['id']}})[_0x805b('0x24')](handleEntityNotFound(_0x578dca,null))[_0x805b('0x24')](function(_0x294e5f){if(_0x294e5f){_0x370649=_0x294e5f[_0x805b('0x26')]({'plain':!![]});_0x1daa7d[_0x805b('0x33')]=_[_0x805b('0x45')](db[_0x805b('0x52')][_0x805b('0x30')]);_0x1daa7d[_0x805b('0x34')]=_[_0x805b('0x45')](_0x1179a7[_0x805b('0x34')]);_0x1daa7d[_0x805b('0x35')]=_[_0x805b('0x36')](_0x1daa7d[_0x805b('0x33')],_0x1daa7d['query']);_0x46803b[_0x805b('0x37')]=_[_0x805b('0x36')](_0x1daa7d[_0x805b('0x33')],qs[_0x805b('0x38')](_0x1179a7['query'][_0x805b('0x38')]));_0x46803b['attributes']=_0x46803b[_0x805b('0x37')][_0x805b('0x39')]?_0x46803b['attributes']:_0x1daa7d[_0x805b('0x33')];if(!_0x1179a7[_0x805b('0x34')][_0x805b('0x53')](_0x805b('0x3a'))){_0x46803b[_0x805b('0x20')]=qs[_0x805b('0x20')](_0x1179a7[_0x805b('0x34')][_0x805b('0x20')]);_0x46803b[_0x805b('0x1f')]=qs['offset'](_0x1179a7[_0x805b('0x34')][_0x805b('0x1f')]);}_0x46803b[_0x805b('0x54')]=qs[_0x805b('0x3b')](_0x1179a7[_0x805b('0x34')][_0x805b('0x3b')]);_0x46803b['where']=qs[_0x805b('0x35')](_[_0x805b('0x3d')](_0x1179a7[_0x805b('0x34')],_0x1daa7d[_0x805b('0x35')]));_0x46803b[_0x805b('0x3c')][_0x805b('0x55')]=_0x294e5f['id'];if(_0x1179a7[_0x805b('0x34')][_0x805b('0x3e')]){_0x46803b[_0x805b('0x3c')]=_[_0x805b('0x56')](_0x46803b['where'],{'$or':_[_0x805b('0x2e')](_0x46803b[_0x805b('0x37')],function(_0x381c41){var _0x2731b4={};_0x2731b4[_0x381c41]={'$like':'%'+_0x1179a7[_0x805b('0x34')][_0x805b('0x3e')]+'%'};return _0x2731b4;})});}_0x46803b=_[_0x805b('0x56')]({},_0x46803b,_0x1179a7[_0x805b('0x57')]);return db[_0x805b('0x52')][_0x805b('0x41')](_0x46803b);}})[_0x805b('0x24')](function(_0x28c8f1){if(_0x28c8f1){return db['User'][_0x805b('0x58')]({'where':{'id':_['map'](_0x28c8f1,'UserId'),'role':_0x805b('0x59')},'attributes':['id',_0x805b('0x2c'),_0x805b('0x5a'),'updatedAt',_0x805b('0x5b')]});}})[_0x805b('0x24')](function(_0x30cd28){if(_0x30cd28){return{'count':_0x30cd28[_0x805b('0x21')],'rows':_['map'](_0x30cd28[_0x805b('0x42')],function(_0x5f299d){return{'membername':_0x5f299d[_0x805b('0x2c')],'UserId':_0x5f299d['id'],'queue_name':_0x370649['name'],'MailQueueId':_0x370649['id'],'interface':util[_0x805b('0x5c')](_0x805b('0x5d'),_0x805b('0x5e'),_0x5f299d[_0x805b('0x2c')]),'penalty':0x0,'paused':_0x5f299d['mailPause'],'createdAt':_0x5f299d['createdAt'],'updatedAt':_0x5f299d[_0x805b('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x578dca,_0x46803b))['catch'](handleError(_0x578dca,null));};exports[_0x805b('0x60')]=function(_0x4e9878,_0x10941c,_0x5940ae){var _0x32002c={};var _0x434da6={};var _0x3d2c66;var _0x4b4bad;return db['MailQueue'][_0x805b('0x51')]({'where':{'id':_0x4e9878[_0x805b('0x44')]['id']}})[_0x805b('0x24')](handleEntityNotFound(_0x10941c,null))[_0x805b('0x24')](function(_0xc15ca3){if(_0xc15ca3){_0x3d2c66=_0xc15ca3;_0x434da6[_0x805b('0x33')]=_[_0x805b('0x45')](db[_0x805b('0x61')]['rawAttributes']);_0x434da6[_0x805b('0x34')]=_[_0x805b('0x45')](_0x4e9878[_0x805b('0x34')]);_0x434da6[_0x805b('0x35')]=_[_0x805b('0x36')](_0x434da6[_0x805b('0x33')],_0x434da6['query']);_0x32002c[_0x805b('0x37')]=_[_0x805b('0x36')](_0x434da6[_0x805b('0x33')],qs[_0x805b('0x38')](_0x4e9878[_0x805b('0x34')]['fields']));_0x32002c[_0x805b('0x37')]=_0x32002c[_0x805b('0x37')]['length']?_0x32002c['attributes']:_0x434da6[_0x805b('0x33')];_0x32002c[_0x805b('0x54')]=qs['sort'](_0x4e9878['query'][_0x805b('0x3b')]);_0x32002c['where']=qs['filters'](_[_0x805b('0x3d')](_0x4e9878[_0x805b('0x34')],_0x434da6[_0x805b('0x35')]));if(_0x4e9878['query'][_0x805b('0x3e')]){_0x32002c[_0x805b('0x3c')]=_[_0x805b('0x56')](_0x32002c['where'],{'$or':_[_0x805b('0x2e')](_0x32002c[_0x805b('0x37')],function(_0x20a604){var _0x171791={};_0x171791[_0x20a604]={'$like':'%'+_0x4e9878[_0x805b('0x34')][_0x805b('0x3e')]+'%'};return _0x171791;})});}_0x32002c=_['merge']({},_0x32002c,_0x4e9878[_0x805b('0x57')]);return _0x3d2c66[_0x805b('0x60')](_0x32002c);}})[_0x805b('0x24')](function(_0x20175e){if(_0x20175e){_0x4b4bad=_0x20175e[_0x805b('0x39')];if(!_0x4e9878[_0x805b('0x34')][_0x805b('0x53')](_0x805b('0x3a'))){_0x32002c['limit']=qs[_0x805b('0x20')](_0x4e9878['query'][_0x805b('0x20')]);_0x32002c['offset']=qs[_0x805b('0x1f')](_0x4e9878[_0x805b('0x34')][_0x805b('0x1f')]);}return _0x3d2c66[_0x805b('0x60')](_0x32002c);}})[_0x805b('0x24')](function(_0x442ced){if(_0x442ced){return _0x442ced?{'count':_0x4b4bad,'rows':_0x442ced}:null;}})[_0x805b('0x24')](respondWithResult(_0x10941c,null))[_0x805b('0x47')](handleError(_0x10941c,null));};exports[_0x805b('0x62')]=function(_0x56b667,_0x600e46,_0x62da3a){var _0x44aef5=_0x56b667['body'][_0x805b('0x63')];return db[_0x805b('0x61')]['findAll']({'where':{'id':_0x44aef5},'attributes':['id'],'include':[{'model':db[_0x805b('0x64')],'as':'Agents','attributes':['id',_0x805b('0x2c'),'online',_0x805b('0x65'),_0x805b('0x66')],'raw':!![]}]})[_0x805b('0x24')](function(_0x74c72b){if(_0x74c72b){var _0x5ec546=_[_0x805b('0x67')](_0x74c72b,function(_0x5f1503){var _0x40fecd=_0x5f1503['get']({'plain':!![]});return _0x40fecd[_0x805b('0x68')];});return db[_0x805b('0x2f')][_0x805b('0x46')]({'where':{'id':_0x56b667[_0x805b('0x44')]['id']}})[_0x805b('0x24')](function(_0xd63317){return db['sequelize'][_0x805b('0x69')](function(_0x4ccdad){return _0xd63317[_0x805b('0x62')](_0x44aef5,{'transaction':_0x4ccdad})[_0x805b('0x24')](function(){return BPromise[_0x805b('0x6a')](_0x5ec546,function(_0x1c5034){return db['UserMailQueue']['findOrCreate']({'where':{'UserId':_0x1c5034['id'],'MailQueueId':_0x56b667[_0x805b('0x44')]['id']},'transaction':_0x4ccdad});});})[_0x805b('0x24')](function(){_0x5ec546[_0x805b('0x6b')](function(_0x371fd9){socket[_0x805b('0x6c')](_0x805b('0x6d'),{'UserId':_0x371fd9['id'],'MailQueueId':_0xd63317['id']});});});});});}})[_0x805b('0x24')](respondWithStatusCode(_0x600e46,null))[_0x805b('0x47')](handleError(_0x600e46,null));};exports[_0x805b('0x6e')]=function(_0x3efd7d,_0x129ba5,_0x3d8f2e){return db[_0x805b('0x61')]['findAll']({'where':{'id':_0x3efd7d['query'][_0x805b('0x63')]},'attributes':['id'],'include':[{'model':db[_0x805b('0x64')],'as':_0x805b('0x68'),'attributes':['id'],'raw':!![]}]})[_0x805b('0x24')](handleEntityNotFound(_0x129ba5,null))['then'](function(_0x50dde2){var _0x1457a7=_[_0x805b('0x2e')](_0x50dde2,'id');var _0x2b2cf1=[];var _0x5f4cd9=[];var _0x491026=squel[_0x805b('0x6f')]();_0x491026['field'](_0x805b('0x70'))['from']('team_has_mail_queues','tq')[_0x805b('0x71')](_0x805b('0x72'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x805b('0x3c')](_0x805b('0x73'),_0x3efd7d[_0x805b('0x44')]['id']);for(var _0x363ace=0x0;_0x363ace<_0x50dde2[_0x805b('0x39')];_0x363ace+=0x1){let _0x561d0b=_0x50dde2[_0x363ace];for(var _0x4db541=0x0;_0x4db541<_0x561d0b['Agents'][_0x805b('0x39')];_0x4db541+=0x1){let _0x330e90=_0x561d0b['Agents'][_0x4db541];var _0x3539e5=_0x491026[_0x805b('0x74')]();_0x3539e5['where']('ut.UserId\x20=\x20?',_0x330e90['id']);_0x5f4cd9[_0x805b('0x75')](db[_0x805b('0x76')]['query'](_0x3539e5[_0x805b('0x77')](),{'type':db[_0x805b('0x76')]['QueryTypes']['SELECT']})[_0x805b('0x24')](function(_0xc1bcdd){if(_0xc1bcdd[_0x805b('0x39')]===0x1){return _0x330e90['id'];}else{var _0x31e32b=_['every'](_[_0x805b('0x2e')](_0xc1bcdd,'TeamId'),function(_0x7af182){return _[_0x805b('0x78')](_0x1457a7,_0x7af182);});if(_0x31e32b){return _0x330e90['id'];}}}));}}return BPromise['all'](_0x5f4cd9)[_0x805b('0x24')](function(_0x2411f8){_0x2b2cf1=_(_0x2b2cf1)['union'](_0x2411f8)[_0x805b('0x79')]()['value']();return db['MailQueue']['find']({'where':{'id':_0x3efd7d['params']['id']}})[_0x805b('0x24')](function(_0x45f5d8){return db['sequelize'][_0x805b('0x69')](function(_0x154df0){return _0x45f5d8['removeTeams'](_0x3efd7d[_0x805b('0x34')][_0x805b('0x63')],{'transaction':_0x154df0})[_0x805b('0x24')](function(){if(!_['isEmpty'](_0x2b2cf1)){return _0x45f5d8[_0x805b('0x7a')](_0x2b2cf1,{'transaction':_0x154df0});}})[_0x805b('0x24')](function(){_0x2b2cf1[_0x805b('0x6b')](function(_0x5b3087){socket[_0x805b('0x6c')](_0x805b('0x7b'),{'UserId':_0x5b3087,'MailQueueId':_0x45f5d8['id']});});});});});});})['then'](respondWithStatusCode(_0x129ba5,null))['catch'](handleError(_0x129ba5,null));};exports[_0x805b('0x7c')]=function(_0x24b5d0,_0xfca77e,_0x13b161){return db['MailQueue'][_0x805b('0x46')]({'where':{'id':_0x24b5d0[_0x805b('0x44')]['id']}})[_0x805b('0x24')](handleEntityNotFound(_0xfca77e,null))[_0x805b('0x24')](function(_0xcffba1){if(_0xcffba1){return _0xcffba1[_0x805b('0x7c')](_0x24b5d0[_0x805b('0x49')][_0x805b('0x63')],_[_0x805b('0x7d')](_0x24b5d0[_0x805b('0x49')],[_0x805b('0x63'),'id'])||{})['spread'](function(_0x3ce1b4){for(var _0x134b62=0x0;_0x134b62<_0x24b5d0[_0x805b('0x49')][_0x805b('0x63')]['length'];_0x134b62+=0x1){socket['emit'](_0x805b('0x6d'),{'UserId':_0x24b5d0['body'][_0x805b('0x63')][_0x134b62],'MailQueueId':_0x24b5d0[_0x805b('0x44')]['id']});}return _0x3ce1b4;});}})[_0x805b('0x24')](respondWithResult(_0xfca77e,null))[_0x805b('0x47')](handleError(_0xfca77e,null));};exports['removeAgents']=function(_0x129c51,_0x170f78,_0x2beaad){return db[_0x805b('0x2f')][_0x805b('0x46')]({'where':{'id':_0x129c51[_0x805b('0x44')]['id']}})[_0x805b('0x24')](handleEntityNotFound(_0x170f78,null))[_0x805b('0x24')](function(_0xc230b4){if(_0xc230b4){return _0xc230b4[_0x805b('0x7a')](_0x129c51['query'][_0x805b('0x63')])['then'](function(){if(_[_0x805b('0x7e')](_0x129c51[_0x805b('0x34')][_0x805b('0x63')])){for(var _0x13f7da=0x0;_0x13f7da<_0x129c51[_0x805b('0x34')][_0x805b('0x63')][_0x805b('0x39')];_0x13f7da+=0x1){socket[_0x805b('0x6c')](_0x805b('0x7b'),{'UserId':Number(_0x129c51[_0x805b('0x34')][_0x805b('0x63')][_0x13f7da]),'MailQueueId':Number(_0x129c51['params']['id'])});}}else{socket['emit']('userMailQueue:remove',{'UserId':Number(_0x129c51[_0x805b('0x34')][_0x805b('0x63')]),'MailQueueId':Number(_0x129c51[_0x805b('0x44')]['id'])});}});}})[_0x805b('0x24')](respondWithStatusCode(_0x170f78,null))['catch'](handleError(_0x170f78,null));};exports[_0x805b('0x7f')]=function(_0x810cbf,_0x2c85c2,_0x302303){var _0x3eefbf={};var _0x578c3e={};var _0x516f51;var _0x419c00;return db[_0x805b('0x2f')][_0x805b('0x51')]({'where':{'id':_0x810cbf[_0x805b('0x44')]['id']}})[_0x805b('0x24')](handleEntityNotFound(_0x2c85c2,null))[_0x805b('0x24')](function(_0x376ee9){if(_0x376ee9){_0x516f51=_0x376ee9;_0x578c3e[_0x805b('0x33')]=_[_0x805b('0x45')](db[_0x805b('0x64')][_0x805b('0x30')]);_0x578c3e[_0x805b('0x34')]=_[_0x805b('0x45')](_0x810cbf[_0x805b('0x34')]);_0x578c3e['filters']=_['intersection'](_0x578c3e[_0x805b('0x33')],_0x578c3e[_0x805b('0x34')]);_0x3eefbf[_0x805b('0x37')]=_['intersection'](_0x578c3e[_0x805b('0x33')],qs['fields'](_0x810cbf[_0x805b('0x34')][_0x805b('0x38')]));_0x3eefbf['attributes']=_0x3eefbf[_0x805b('0x37')][_0x805b('0x39')]?_0x3eefbf[_0x805b('0x37')]:_0x578c3e['model'];_0x3eefbf[_0x805b('0x54')]=qs[_0x805b('0x3b')](_0x810cbf[_0x805b('0x34')][_0x805b('0x3b')]);_0x3eefbf[_0x805b('0x3c')]=qs[_0x805b('0x35')](_[_0x805b('0x3d')](_0x810cbf[_0x805b('0x34')],_0x578c3e[_0x805b('0x35')]));if(_0x810cbf[_0x805b('0x34')]['filter']){_0x3eefbf[_0x805b('0x3c')]=_['merge'](_0x3eefbf[_0x805b('0x3c')],{'$or':_['map'](_0x3eefbf[_0x805b('0x37')],function(_0x1d4699){var _0x2f99c7={};_0x2f99c7[_0x1d4699]={'$like':'%'+_0x810cbf[_0x805b('0x34')][_0x805b('0x3e')]+'%'};return _0x2f99c7;})});}_0x3eefbf=_[_0x805b('0x56')]({},_0x3eefbf,_0x810cbf[_0x805b('0x57')]);return _0x516f51[_0x805b('0x7f')](_0x3eefbf);}})[_0x805b('0x24')](function(_0x21ad94){if(_0x21ad94){_0x419c00=_0x21ad94[_0x805b('0x39')];if(!_0x810cbf['query'][_0x805b('0x53')](_0x805b('0x3a'))){_0x3eefbf[_0x805b('0x20')]=qs[_0x805b('0x20')](_0x810cbf['query'][_0x805b('0x20')]);_0x3eefbf[_0x805b('0x1f')]=qs['offset'](_0x810cbf[_0x805b('0x34')][_0x805b('0x1f')]);}return _0x516f51['getAgents'](_0x3eefbf);}})[_0x805b('0x24')](function(_0x45e389){if(_0x45e389){return _0x45e389?{'count':_0x419c00,'rows':_0x45e389}:null;}})[_0x805b('0x24')](respondWithResult(_0x2c85c2,null))[_0x805b('0x47')](handleError(_0x2c85c2,null));};