Built motion from commit (unavailable).|2.2.0
[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 _0x57ca=['body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','sort','pick','MailQueueId','UserMailQueue','User','findAndCountAll','UserId','mailPause','createdAt','format','%s/%s','getTeams','Team','addTeams','ids','Agents','penalty','removeTeams','addAgents','omit','spread','emit','userMailQueue:save','removeAgents','isArray','userMailQueue:remove','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../config/logger','../../config/utils','../../config/environment','redis','localhost','socket.io-emitter','./mailQueue.socket','sendStatus','status','end','json','count','offset','limit','set','apply','reject','save','update','then','destroy','get','MailQueues','UserProfileResource','error','name','index','rawAttributes','keys','query','dateStart','dateEnd','filters','intersection','fields','attributes','length','model','hasOwnProperty','nolimit','order','where','add','day','filter','merge','map','type','options','includeAll','MailQueue','findAll','rows','show','include','find','catch','create'];(function(_0x2ddd16,_0xcfd077){var _0x5809c5=function(_0x3fd529){while(--_0x3fd529){_0x2ddd16['push'](_0x2ddd16['shift']());}};_0x5809c5(++_0xcfd077);}(_0x57ca,0x108));var _0xa57c=function(_0x4e5c69,_0x47b166){_0x4e5c69=_0x4e5c69-0x0;var _0x414228=_0x57ca[_0x4e5c69];return _0x414228;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xa57c('0x0'));var rimraf=require(_0xa57c('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa57c('0x2'));var rp=require(_0xa57c('0x3'));var moment=require(_0xa57c('0x4'));var BPromise=require(_0xa57c('0x5'));var Mustache=require(_0xa57c('0x6'));var util=require('util');var path=require(_0xa57c('0x7'));var sox=require(_0xa57c('0x8'));var csv=require(_0xa57c('0x9'));var ejs=require(_0xa57c('0xa'));var fs=require('fs');var _=require(_0xa57c('0xb'));var squel=require(_0xa57c('0xc'));var crypto=require(_0xa57c('0xd'));var jsforce=require(_0xa57c('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xa57c('0x9'));var querystring=require('querystring');var Papa=require(_0xa57c('0xf'));var Redis=require(_0xa57c('0x10'));var qs=require('../../components/parsers/qs');var logger=require(_0xa57c('0x11'))('api');var utils=require(_0xa57c('0x12'));var config=require(_0xa57c('0x13'));var db=require('../../mysqldb')['db'];config[_0xa57c('0x14')]=_['defaults'](config[_0xa57c('0x14')],{'host':_0xa57c('0x15'),'port':0x18eb});var socket=require(_0xa57c('0x16'))(new Redis(config[_0xa57c('0x14')]));require(_0xa57c('0x17'))['register'](socket);function respondWithStatusCode(_0x2644a1,_0x546cde){_0x546cde=_0x546cde||0xcc;return function(_0x30d23d){if(_0x30d23d){return _0x2644a1[_0xa57c('0x18')](_0x546cde);}return _0x2644a1[_0xa57c('0x19')](_0x546cde)[_0xa57c('0x1a')]();};}function respondWithResult(_0x3238ff,_0x37a323){_0x37a323=_0x37a323||0xc8;return function(_0x3f900a){if(_0x3f900a){return _0x3238ff['status'](_0x37a323)[_0xa57c('0x1b')](_0x3f900a);}};}function respondWithFilteredResult(_0xdf7ff6,_0x261725){return function(_0x5a6024){if(_0x5a6024){var _0x2746a0=_0x5a6024[_0xa57c('0x1c')],_0x5f33f1=_0x261725[_0xa57c('0x1d')],_0x3e7afa=_0x261725[_0xa57c('0x1d')]+_0x261725[_0xa57c('0x1e')],_0x3d781d;if(_0x3e7afa>=_0x2746a0){_0x3e7afa=_0x2746a0;_0x3d781d=0xc8;}else{_0x3d781d=0xce;}_0xdf7ff6[_0xa57c('0x19')](_0x3d781d);return _0xdf7ff6[_0xa57c('0x1f')]('Content-Range',_0x5f33f1+'-'+_0x3e7afa+'/'+_0x2746a0)[_0xa57c('0x1b')](_0x5a6024);}return null;};}function patchUpdates(_0x4a53ab){return function(_0x4a35bb){try{jsonpatch[_0xa57c('0x20')](_0x4a35bb,_0x4a53ab,!![]);}catch(_0xa5b314){return BPromise[_0xa57c('0x21')](_0xa5b314);}return _0x4a35bb[_0xa57c('0x22')]();};}function saveUpdates(_0x49242c,_0x348211){return function(_0x25715f){if(_0x25715f){return _0x25715f[_0xa57c('0x23')](_0x49242c)[_0xa57c('0x24')](function(_0x3bb969){return _0x3bb969;});}return null;};}function removeEntity(_0x1404fd,_0x1e0192){return function(_0x42038e){if(_0x42038e){return _0x42038e[_0xa57c('0x25')]()[_0xa57c('0x24')](function(){var _0x382a26=_0x42038e[_0xa57c('0x26')]({'plain':!![]});var _0x241dcc=_0xa57c('0x27');return db[_0xa57c('0x28')]['destroy']({'where':{'type':_0x241dcc,'resourceId':_0x382a26['id']}})[_0xa57c('0x24')](function(){return _0x42038e;});})[_0xa57c('0x24')](function(){_0x1404fd[_0xa57c('0x19')](0xcc)[_0xa57c('0x1a')]();});}};}function handleEntityNotFound(_0x315ad7,_0x1e8e45){return function(_0x8ee1c0){if(!_0x8ee1c0){_0x315ad7[_0xa57c('0x18')](0x194);}return _0x8ee1c0;};}function handleError(_0x337f97,_0x1d59c2){_0x1d59c2=_0x1d59c2||0x1f4;return function(_0x57ebe0){logger[_0xa57c('0x29')](_0x57ebe0['stack']);if(_0x57ebe0['name']){delete _0x57ebe0[_0xa57c('0x2a')];}_0x337f97[_0xa57c('0x19')](_0x1d59c2)['send'](_0x57ebe0);};}exports[_0xa57c('0x2b')]=function(_0x1ef331,_0x3eb9e9){var _0x57565b={},_0xd779f1={},_0x58d46f={'count':0x0,'rows':[]};var _0xf5f70c=db['MailQueue'][_0xa57c('0x2c')];_0xd779f1['model']=_[_0xa57c('0x2d')](_0xf5f70c);var _0x532164={'dateStart':_0x1ef331[_0xa57c('0x2e')][_0xa57c('0x2f')],'dateEnd':_0x1ef331[_0xa57c('0x2e')][_0xa57c('0x30')]};delete _0x1ef331[_0xa57c('0x2e')][_0xa57c('0x2f')];delete _0x1ef331[_0xa57c('0x2e')]['dateEnd'];_0xd779f1[_0xa57c('0x2e')]=_['keys'](_0x1ef331[_0xa57c('0x2e')]);_0xd779f1[_0xa57c('0x31')]=_[_0xa57c('0x32')](_0xd779f1['model'],_0xd779f1[_0xa57c('0x2e')]);_0x57565b['attributes']=_[_0xa57c('0x32')](_0xd779f1['model'],qs[_0xa57c('0x33')](_0x1ef331['query'][_0xa57c('0x33')]));_0x57565b[_0xa57c('0x34')]=_0x57565b['attributes'][_0xa57c('0x35')]?_0x57565b['attributes']:_0xd779f1[_0xa57c('0x36')];if(!_0x1ef331['query'][_0xa57c('0x37')](_0xa57c('0x38'))){_0x57565b[_0xa57c('0x1e')]=qs[_0xa57c('0x1e')](_0x1ef331[_0xa57c('0x2e')][_0xa57c('0x1e')]);_0x57565b['offset']=qs['offset'](_0x1ef331[_0xa57c('0x2e')][_0xa57c('0x1d')]);}_0x57565b[_0xa57c('0x39')]=qs['sort'](_0x1ef331[_0xa57c('0x2e')]['sort']);_0x57565b[_0xa57c('0x3a')]=qs[_0xa57c('0x31')](_['pick'](_0x1ef331['query'],_0xd779f1['filters']));if(_0x532164[_0xa57c('0x2f')]){if(_0x532164[_0xa57c('0x30')]){_0x532164[_0xa57c('0x30')]=moment(_0x532164[_0xa57c('0x30')])[_0xa57c('0x3b')](0x1,_0xa57c('0x3c'));}else{_0x532164['dateEnd']=moment(_0x532164[_0xa57c('0x2f')])[_0xa57c('0x3b')](0x1,'day');}_['merge'](_0x57565b[_0xa57c('0x3a')],{'createdAt':{'$gte':_0x532164[_0xa57c('0x2f')],'$lte':_0x532164['dateEnd']}});}if(_0x1ef331[_0xa57c('0x2e')][_0xa57c('0x3d')]){_0x57565b[_0xa57c('0x3a')]=_[_0xa57c('0x3e')](_0x57565b[_0xa57c('0x3a')],{'$or':_[_0xa57c('0x3f')](_0xf5f70c,function(_0x5d210b){if(_0x5d210b[_0xa57c('0x40')]['key']!=='VIRTUAL'){var _0x5b3300={};_0x5b3300[_0x5d210b['field']]={'$like':'%'+_0x1ef331['query'][_0xa57c('0x3d')]+'%'};return _0x5b3300;}})});}_0x57565b=_[_0xa57c('0x3e')]({},_0x57565b,_0x1ef331[_0xa57c('0x41')]);var _0x4c8c65={'where':_0x57565b['where']};return db['MailQueue'][_0xa57c('0x1c')](_0x4c8c65)[_0xa57c('0x24')](function(_0x44e38f){_0x58d46f[_0xa57c('0x1c')]=_0x44e38f;if(_0x1ef331[_0xa57c('0x2e')][_0xa57c('0x42')]){_0x57565b['include']=[{'all':!![]}];}return db[_0xa57c('0x43')][_0xa57c('0x44')](_0x57565b);})[_0xa57c('0x24')](function(_0x3a3a4a){_0x58d46f[_0xa57c('0x45')]=_0x3a3a4a;return _0x58d46f;})[_0xa57c('0x24')](respondWithFilteredResult(_0x3eb9e9,_0x57565b))['catch'](handleError(_0x3eb9e9,null));};exports[_0xa57c('0x46')]=function(_0xcf1c29,_0xa3ff0){var _0x14e943={'raw':!![],'where':{'id':_0xcf1c29['params']['id']}},_0x269dfd={};_0x269dfd[_0xa57c('0x36')]=_[_0xa57c('0x2d')](db[_0xa57c('0x43')][_0xa57c('0x2c')]);_0x269dfd[_0xa57c('0x2e')]=_[_0xa57c('0x2d')](_0xcf1c29['query']);_0x269dfd[_0xa57c('0x31')]=_[_0xa57c('0x32')](_0x269dfd[_0xa57c('0x36')],_0x269dfd[_0xa57c('0x2e')]);_0x14e943[_0xa57c('0x34')]=_[_0xa57c('0x32')](_0x269dfd['model'],qs['fields'](_0xcf1c29['query']['fields']));_0x14e943[_0xa57c('0x34')]=_0x14e943['attributes'][_0xa57c('0x35')]?_0x14e943[_0xa57c('0x34')]:_0x269dfd['model'];if(_0xcf1c29[_0xa57c('0x2e')][_0xa57c('0x42')]){_0x14e943[_0xa57c('0x47')]=[{'all':!![]}];}_0x14e943=_[_0xa57c('0x3e')]({},_0x14e943,_0xcf1c29[_0xa57c('0x41')]);return db['MailQueue'][_0xa57c('0x48')](_0x14e943)[_0xa57c('0x24')](handleEntityNotFound(_0xa3ff0,null))[_0xa57c('0x24')](respondWithResult(_0xa3ff0,null))[_0xa57c('0x49')](handleError(_0xa3ff0,null));};exports[_0xa57c('0x4a')]=function(_0x5ace6d,_0x3765b5){return db['MailQueue']['create'](_0x5ace6d[_0xa57c('0x4b')],{})[_0xa57c('0x24')](function(_0x5ded49){var _0x5bf336=_0x5ace6d['user'][_0xa57c('0x26')]({'plain':!![]});if(!_0x5bf336)throw new Error(_0xa57c('0x4c'));if(_0x5bf336[_0xa57c('0x4d')]===_0xa57c('0x4e')){var _0x4d2899=_0x5ded49[_0xa57c('0x26')]({'plain':!![]});var _0x2af354=_0xa57c('0x27');return db['UserProfileSection']['find']({'where':{'name':_0x2af354,'userProfileId':_0x5bf336[_0xa57c('0x4f')]},'raw':!![]})[_0xa57c('0x24')](function(_0x4d5d46){if(_0x4d5d46&&_0x4d5d46[_0xa57c('0x50')]===0x0){return db[_0xa57c('0x28')][_0xa57c('0x4a')]({'name':_0x4d2899[_0xa57c('0x2a')],'resourceId':_0x4d2899['id'],'type':_0x4d5d46[_0xa57c('0x2a')],'sectionId':_0x4d5d46['id']},{})[_0xa57c('0x24')](function(){return _0x5ded49;});}else{return _0x5ded49;}})[_0xa57c('0x49')](function(_0x4ee02a){logger['error'](_0xa57c('0x51'),_0x4ee02a);throw _0x4ee02a;});}return _0x5ded49;})[_0xa57c('0x24')](respondWithResult(_0x3765b5,0xc9))[_0xa57c('0x49')](handleError(_0x3765b5,null));};exports[_0xa57c('0x23')]=function(_0x15aeb7,_0x3804a3){if(_0x15aeb7[_0xa57c('0x4b')]['id']){delete _0x15aeb7[_0xa57c('0x4b')]['id'];}return db['MailQueue']['find']({'where':{'id':_0x15aeb7[_0xa57c('0x52')]['id']}})['then'](handleEntityNotFound(_0x3804a3,null))[_0xa57c('0x24')](saveUpdates(_0x15aeb7[_0xa57c('0x4b')],null))[_0xa57c('0x24')](respondWithResult(_0x3804a3,null))['catch'](handleError(_0x3804a3,null));};exports[_0xa57c('0x25')]=function(_0x5b3bf0,_0x21b00a){return db['MailQueue'][_0xa57c('0x48')]({'where':{'id':_0x5b3bf0[_0xa57c('0x52')]['id']}})[_0xa57c('0x24')](handleEntityNotFound(_0x21b00a,null))[_0xa57c('0x24')](removeEntity(_0x21b00a,null))['catch'](handleError(_0x21b00a,null));};exports[_0xa57c('0x53')]=function(_0x2f8d23,_0x3bd25a){return db[_0xa57c('0x43')][_0xa57c('0x53')]()['then'](respondWithResult(_0x3bd25a,null))[_0xa57c('0x49')](handleError(_0x3bd25a,null));};exports[_0xa57c('0x54')]=function(_0x1899ad,_0xb19d93,_0x2adcf6){var _0xe5e63={'raw':!![],'where':{}},_0x143ec3={},_0x419527;return db[_0xa57c('0x43')][_0xa57c('0x55')]({'where':{'id':_0x1899ad['params']['id']}})[_0xa57c('0x24')](handleEntityNotFound(_0xb19d93,null))[_0xa57c('0x24')](function(_0x1bc70b){if(_0x1bc70b){_0x419527=_0x1bc70b[_0xa57c('0x26')]({'plain':!![]});_0x143ec3[_0xa57c('0x36')]=_[_0xa57c('0x2d')](db['UserMailQueue'][_0xa57c('0x2c')]);_0x143ec3[_0xa57c('0x2e')]=_['keys'](_0x1899ad[_0xa57c('0x2e')]);_0x143ec3[_0xa57c('0x31')]=_[_0xa57c('0x32')](_0x143ec3[_0xa57c('0x36')],_0x143ec3[_0xa57c('0x2e')]);_0xe5e63[_0xa57c('0x34')]=_[_0xa57c('0x32')](_0x143ec3['model'],qs[_0xa57c('0x33')](_0x1899ad['query'][_0xa57c('0x33')]));_0xe5e63['attributes']=_0xe5e63[_0xa57c('0x34')]['length']?_0xe5e63[_0xa57c('0x34')]:_0x143ec3[_0xa57c('0x36')];if(!_0x1899ad['query'][_0xa57c('0x37')](_0xa57c('0x38'))){_0xe5e63[_0xa57c('0x1e')]=qs[_0xa57c('0x1e')](_0x1899ad['query'][_0xa57c('0x1e')]);_0xe5e63[_0xa57c('0x1d')]=qs[_0xa57c('0x1d')](_0x1899ad[_0xa57c('0x2e')][_0xa57c('0x1d')]);}_0xe5e63[_0xa57c('0x39')]=qs[_0xa57c('0x56')](_0x1899ad[_0xa57c('0x2e')][_0xa57c('0x56')]);_0xe5e63[_0xa57c('0x3a')]=qs[_0xa57c('0x31')](_[_0xa57c('0x57')](_0x1899ad[_0xa57c('0x2e')],_0x143ec3[_0xa57c('0x31')]));_0xe5e63[_0xa57c('0x3a')][_0xa57c('0x58')]=_0x1bc70b['id'];if(_0x1899ad['query'][_0xa57c('0x3d')]){_0xe5e63['where']=_[_0xa57c('0x3e')](_0xe5e63[_0xa57c('0x3a')],{'$or':_[_0xa57c('0x3f')](_0xe5e63['attributes'],function(_0x4176b3){var _0x2ccc4d={};_0x2ccc4d[_0x4176b3]={'$like':'%'+_0x1899ad[_0xa57c('0x2e')]['filter']+'%'};return _0x2ccc4d;})});}_0xe5e63=_['merge']({},_0xe5e63,_0x1899ad[_0xa57c('0x41')]);return db[_0xa57c('0x59')][_0xa57c('0x44')](_0xe5e63);}})[_0xa57c('0x24')](function(_0x3fd9aa){if(_0x3fd9aa){return db[_0xa57c('0x5a')][_0xa57c('0x5b')]({'where':{'id':_[_0xa57c('0x3f')](_0x3fd9aa,_0xa57c('0x5c')),'role':'agent'},'attributes':['id',_0xa57c('0x2a'),_0xa57c('0x5d'),'updatedAt',_0xa57c('0x5e')]});}})[_0xa57c('0x24')](function(_0x10cead){if(_0x10cead){return{'count':_0x10cead[_0xa57c('0x1c')],'rows':_[_0xa57c('0x3f')](_0x10cead[_0xa57c('0x45')],function(_0x42763b){return{'membername':_0x42763b[_0xa57c('0x2a')],'UserId':_0x42763b['id'],'queue_name':_0x419527['name'],'MailQueueId':_0x419527['id'],'interface':util[_0xa57c('0x5f')](_0xa57c('0x60'),'SIP',_0x42763b[_0xa57c('0x2a')]),'penalty':0x0,'paused':_0x42763b[_0xa57c('0x5d')],'createdAt':_0x42763b['createdAt'],'updatedAt':_0x42763b['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xa57c('0x24')](respondWithFilteredResult(_0xb19d93,_0xe5e63))[_0xa57c('0x49')](handleError(_0xb19d93,null));};exports[_0xa57c('0x61')]=function(_0x1604d6,_0x45b211,_0x4f2e52){var _0x2796ab={};var _0x3eb9ba={};var _0x2fd797;var _0x4cbcd1;return db[_0xa57c('0x43')]['findOne']({'where':{'id':_0x1604d6[_0xa57c('0x52')]['id']}})[_0xa57c('0x24')](handleEntityNotFound(_0x45b211,null))[_0xa57c('0x24')](function(_0x2bd081){if(_0x2bd081){_0x2fd797=_0x2bd081;_0x3eb9ba['model']=_[_0xa57c('0x2d')](db[_0xa57c('0x62')][_0xa57c('0x2c')]);_0x3eb9ba[_0xa57c('0x2e')]=_['keys'](_0x1604d6[_0xa57c('0x2e')]);_0x3eb9ba[_0xa57c('0x31')]=_[_0xa57c('0x32')](_0x3eb9ba['model'],_0x3eb9ba[_0xa57c('0x2e')]);_0x2796ab[_0xa57c('0x34')]=_[_0xa57c('0x32')](_0x3eb9ba['model'],qs[_0xa57c('0x33')](_0x1604d6[_0xa57c('0x2e')][_0xa57c('0x33')]));_0x2796ab[_0xa57c('0x34')]=_0x2796ab['attributes'][_0xa57c('0x35')]?_0x2796ab[_0xa57c('0x34')]:_0x3eb9ba['model'];_0x2796ab[_0xa57c('0x39')]=qs[_0xa57c('0x56')](_0x1604d6['query'][_0xa57c('0x56')]);_0x2796ab['where']=qs[_0xa57c('0x31')](_[_0xa57c('0x57')](_0x1604d6[_0xa57c('0x2e')],_0x3eb9ba[_0xa57c('0x31')]));if(_0x1604d6['query'][_0xa57c('0x3d')]){_0x2796ab[_0xa57c('0x3a')]=_[_0xa57c('0x3e')](_0x2796ab[_0xa57c('0x3a')],{'$or':_[_0xa57c('0x3f')](_0x2796ab[_0xa57c('0x34')],function(_0x18b36e){var _0x390710={};_0x390710[_0x18b36e]={'$like':'%'+_0x1604d6[_0xa57c('0x2e')][_0xa57c('0x3d')]+'%'};return _0x390710;})});}_0x2796ab=_[_0xa57c('0x3e')]({},_0x2796ab,_0x1604d6['options']);return _0x2fd797['getTeams'](_0x2796ab);}})['then'](function(_0x29b491){if(_0x29b491){_0x4cbcd1=_0x29b491['length'];if(!_0x1604d6[_0xa57c('0x2e')][_0xa57c('0x37')](_0xa57c('0x38'))){_0x2796ab['limit']=qs[_0xa57c('0x1e')](_0x1604d6[_0xa57c('0x2e')][_0xa57c('0x1e')]);_0x2796ab[_0xa57c('0x1d')]=qs[_0xa57c('0x1d')](_0x1604d6[_0xa57c('0x2e')][_0xa57c('0x1d')]);}return _0x2fd797['getTeams'](_0x2796ab);}})[_0xa57c('0x24')](function(_0x257c98){if(_0x257c98){return _0x257c98?{'count':_0x4cbcd1,'rows':_0x257c98}:null;}})['then'](respondWithResult(_0x45b211,null))['catch'](handleError(_0x45b211,null));};exports[_0xa57c('0x63')]=function(_0x201983,_0x4fc97e,_0x4edd10){var _0xc5f17e=[];var _0x4962ae;return db[_0xa57c('0x62')][_0xa57c('0x44')]({'where':{'id':_0x201983['body'][_0xa57c('0x64')]},'attributes':['id'],'include':[{'model':db[_0xa57c('0x5a')],'as':_0xa57c('0x65'),'attributes':['id'],'raw':!![]}]})[_0xa57c('0x24')](function(_0x562e79){if(_0x562e79){for(var _0x4dd551=0x0;_0x4dd551<_0x562e79[_0xa57c('0x35')];_0x4dd551+=0x1){for(var _0x4f7260=0x0;_0x4f7260<_0x562e79[_0x4dd551][_0xa57c('0x65')][_0xa57c('0x35')];_0x4f7260+=0x1){_0xc5f17e=_['union'](_0xc5f17e,[_0x562e79[_0x4dd551]['Agents'][_0x4f7260]['id']]);}}return _0xc5f17e;}})['then'](function(_0x2b5032){if(_0x2b5032){return db['MailQueue']['find']({'where':{'id':_0x201983[_0xa57c('0x52')]['id']}});}})[_0xa57c('0x24')](function(_0x3f44c6){if(_0x3f44c6){_0x4962ae=_0x3f44c6;return _0x4962ae['addAgents'](_0xc5f17e,{'penalty':_0x201983[_0xa57c('0x4b')][_0xa57c('0x66')]});}})[_0xa57c('0x24')](function(_0x5bbb59){if(_0x5bbb59){return _0x4962ae['addTeams'](_0x201983[_0xa57c('0x4b')]['ids']);}})[_0xa57c('0x24')](handleEntityNotFound(_0x4fc97e,null))[_0xa57c('0x24')](respondWithStatusCode(_0x4fc97e,null))['catch'](handleError(_0x4fc97e,null));};exports[_0xa57c('0x67')]=function(_0x55261e,_0x5df680,_0x5db013){var _0x6825df=[];var _0x4985bb;return db['Team']['findAll']({'where':{'id':_0x55261e[_0xa57c('0x2e')][_0xa57c('0x64')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xa57c('0x65'),'attributes':['id'],'raw':!![]}]})[_0xa57c('0x24')](function(_0x25298c){if(_0x25298c){for(var _0x5e3f03=0x0;_0x5e3f03<_0x25298c[_0xa57c('0x35')];_0x5e3f03+=0x1){for(var _0xed49ba=0x0;_0xed49ba<_0x25298c[_0x5e3f03][_0xa57c('0x65')][_0xa57c('0x35')];_0xed49ba+=0x1){_0x6825df=_['union'](_0x6825df,[_0x25298c[_0x5e3f03]['Agents'][_0xed49ba]['id']]);}}return _0x6825df;}})[_0xa57c('0x24')](function(_0x512e3d){if(_0x512e3d){return db[_0xa57c('0x43')][_0xa57c('0x48')]({'where':{'id':_0x55261e[_0xa57c('0x52')]['id']}});}})['then'](function(_0x138c4e){if(_0x138c4e){_0x4985bb=_0x138c4e;return _0x4985bb['removeAgents'](_0x6825df);}})['then'](function(_0x193e63){if(_0x4985bb){return _0x4985bb['removeTeams'](_0x55261e[_0xa57c('0x2e')][_0xa57c('0x64')]);}})['then'](handleEntityNotFound(_0x5df680,null))['then'](respondWithStatusCode(_0x5df680,null))[_0xa57c('0x49')](handleError(_0x5df680,null));};exports[_0xa57c('0x68')]=function(_0x50a940,_0x4f3c79,_0x2550bc){return db[_0xa57c('0x43')][_0xa57c('0x48')]({'where':{'id':_0x50a940['params']['id']}})[_0xa57c('0x24')](handleEntityNotFound(_0x4f3c79,null))[_0xa57c('0x24')](function(_0xb51336){if(_0xb51336){return _0xb51336[_0xa57c('0x68')](_0x50a940[_0xa57c('0x4b')][_0xa57c('0x64')],_[_0xa57c('0x69')](_0x50a940[_0xa57c('0x4b')],[_0xa57c('0x64'),'id'])||{})[_0xa57c('0x6a')](function(_0x46b223){for(var _0x2fa5fe=0x0;_0x2fa5fe<_0x50a940[_0xa57c('0x4b')]['ids'][_0xa57c('0x35')];_0x2fa5fe+=0x1){socket[_0xa57c('0x6b')](_0xa57c('0x6c'),{'UserId':_0x50a940[_0xa57c('0x4b')][_0xa57c('0x64')][_0x2fa5fe],'MailQueueId':_0x50a940[_0xa57c('0x52')]['id']});}return _0x46b223;});}})['then'](respondWithResult(_0x4f3c79,null))['catch'](handleError(_0x4f3c79,null));};exports[_0xa57c('0x6d')]=function(_0x58e922,_0x5e6ac5,_0x68c843){var _0x138edd;return db[_0xa57c('0x43')]['find']({'where':{'id':_0x58e922[_0xa57c('0x52')]['id']}})[_0xa57c('0x24')](handleEntityNotFound(_0x5e6ac5,null))[_0xa57c('0x24')](function(_0x2c0db4){if(_0x2c0db4){return _0x2c0db4[_0xa57c('0x6d')](_0x58e922['query']['ids'])[_0xa57c('0x24')](function(_0x113ced){if(_[_0xa57c('0x6e')](_0x58e922['query'][_0xa57c('0x64')])){for(var _0x4e98c8=0x0;_0x4e98c8<_0x58e922[_0xa57c('0x2e')][_0xa57c('0x64')][_0xa57c('0x35')];_0x4e98c8+=0x1){socket[_0xa57c('0x6b')](_0xa57c('0x6f'),{'UserId':_0x58e922[_0xa57c('0x2e')][_0xa57c('0x64')][_0x4e98c8],'MailQueueId':_0x58e922['params']['id']});}}else{socket['emit'](_0xa57c('0x6f'),{'UserId':_0x58e922[_0xa57c('0x2e')][_0xa57c('0x64')],'MailQueueId':_0x58e922['params']['id']});}});}})['then'](respondWithStatusCode(_0x5e6ac5,null))[_0xa57c('0x49')](handleError(_0x5e6ac5,null));};exports[_0xa57c('0x70')]=function(_0x169e6a,_0x40d3ad,_0x41846b){var _0x58a3c9={};var _0x41ffe3={};var _0x28dc85;var _0x79f5f8;return db['MailQueue'][_0xa57c('0x55')]({'where':{'id':_0x169e6a[_0xa57c('0x52')]['id']}})['then'](handleEntityNotFound(_0x40d3ad,null))[_0xa57c('0x24')](function(_0xa64c11){if(_0xa64c11){_0x28dc85=_0xa64c11;_0x41ffe3[_0xa57c('0x36')]=_[_0xa57c('0x2d')](db[_0xa57c('0x5a')][_0xa57c('0x2c')]);_0x41ffe3[_0xa57c('0x2e')]=_[_0xa57c('0x2d')](_0x169e6a[_0xa57c('0x2e')]);_0x41ffe3['filters']=_[_0xa57c('0x32')](_0x41ffe3[_0xa57c('0x36')],_0x41ffe3[_0xa57c('0x2e')]);_0x58a3c9[_0xa57c('0x34')]=_['intersection'](_0x41ffe3['model'],qs[_0xa57c('0x33')](_0x169e6a['query'][_0xa57c('0x33')]));_0x58a3c9['attributes']=_0x58a3c9[_0xa57c('0x34')]['length']?_0x58a3c9['attributes']:_0x41ffe3[_0xa57c('0x36')];_0x58a3c9['order']=qs[_0xa57c('0x56')](_0x169e6a['query'][_0xa57c('0x56')]);_0x58a3c9[_0xa57c('0x3a')]=qs[_0xa57c('0x31')](_[_0xa57c('0x57')](_0x169e6a['query'],_0x41ffe3['filters']));if(_0x169e6a[_0xa57c('0x2e')][_0xa57c('0x3d')]){_0x58a3c9['where']=_[_0xa57c('0x3e')](_0x58a3c9[_0xa57c('0x3a')],{'$or':_[_0xa57c('0x3f')](_0x58a3c9[_0xa57c('0x34')],function(_0xcf01e9){var _0x324980={};_0x324980[_0xcf01e9]={'$like':'%'+_0x169e6a[_0xa57c('0x2e')][_0xa57c('0x3d')]+'%'};return _0x324980;})});}_0x58a3c9=_[_0xa57c('0x3e')]({},_0x58a3c9,_0x169e6a[_0xa57c('0x41')]);return _0x28dc85['getAgents'](_0x58a3c9);}})['then'](function(_0x3d07ad){if(_0x3d07ad){_0x79f5f8=_0x3d07ad['length'];if(!_0x169e6a[_0xa57c('0x2e')][_0xa57c('0x37')](_0xa57c('0x38'))){_0x58a3c9['limit']=qs[_0xa57c('0x1e')](_0x169e6a['query']['limit']);_0x58a3c9[_0xa57c('0x1d')]=qs[_0xa57c('0x1d')](_0x169e6a[_0xa57c('0x2e')][_0xa57c('0x1d')]);}return _0x28dc85['getAgents'](_0x58a3c9);}})[_0xa57c('0x24')](function(_0x509c51){if(_0x509c51){return _0x509c51?{'count':_0x79f5f8,'rows':_0x509c51}:null;}})['then'](respondWithResult(_0x40d3ad,null))['catch'](handleError(_0x40d3ad,null));};