1cb05b2a7ecf4d9e7f0b9017e70d6d4693dd98dc
[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 _0x0a88=['voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userMailQueue:save','removeTeams','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','SELECT','every','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','forEach','userMailQueue:remove','addAgents','spread','isArray','getAgents','findOne','zip-dir','fast-json-patch','bluebird','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','defaults','redis','socket.io-emitter','register','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','save','update','then','get','MailQueues','UserProfileResource','end','error','name','send','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filter','VIRTUAL','merge','options','MailQueue','includeAll','include','show','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','body','params','destroy','describe','getMembers','order','pick','MailQueueId','UserMailQueue','findAll','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','rows','SIP','getTeams','Team','addTeams','ids','Agents','online'];(function(_0x1fee51,_0x431d57){var _0x25cc61=function(_0x2271d6){while(--_0x2271d6){_0x1fee51['push'](_0x1fee51['shift']());}};_0x25cc61(++_0x431d57);}(_0x0a88,0xac));var _0x80a8=function(_0xb6e2ea,_0x3b26e9){_0xb6e2ea=_0xb6e2ea-0x0;var _0x2a57bb=_0x0a88[_0xb6e2ea];return _0x2a57bb;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x80a8('0x0'));var jsonpatch=require(_0x80a8('0x1'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x80a8('0x2'));var Mustache=require(_0x80a8('0x3'));var util=require(_0x80a8('0x4'));var path=require(_0x80a8('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x80a8('0x6'));var fs=require('fs');var fs_extra=require(_0x80a8('0x7'));var _=require(_0x80a8('0x8'));var squel=require(_0x80a8('0x9'));var crypto=require(_0x80a8('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x80a8('0xb'));var authService=require(_0x80a8('0xc'));var qs=require(_0x80a8('0xd'));var as=require(_0x80a8('0xe'));var hardwareService=require(_0x80a8('0xf'));var logger=require(_0x80a8('0x10'))(_0x80a8('0x11'));var utils=require('../../config/utils');var config=require(_0x80a8('0x12'));var licenseUtil=require(_0x80a8('0x13'));var db=require('../../mysqldb')['db'];config['redis']=_[_0x80a8('0x14')](config[_0x80a8('0x15')],{'host':'localhost','port':0x18eb});var socket=require(_0x80a8('0x16'))(new Redis(config[_0x80a8('0x15')]));require('./mailQueue.socket')[_0x80a8('0x17')](socket);function respondWithStatusCode(_0x23e82a,_0x56d21e){_0x56d21e=_0x56d21e||0xcc;return function(_0x3d20f9){if(_0x3d20f9){return _0x23e82a[_0x80a8('0x18')](_0x56d21e);}return _0x23e82a['status'](_0x56d21e)['end']();};}function respondWithResult(_0x57191a,_0x3d3b6e){_0x3d3b6e=_0x3d3b6e||0xc8;return function(_0x39f594){if(_0x39f594){return _0x57191a[_0x80a8('0x19')](_0x3d3b6e)[_0x80a8('0x1a')](_0x39f594);}};}function respondWithFilteredResult(_0x3d1c32,_0x47133f){return function(_0x252686){if(_0x252686){var _0x524394=typeof _0x47133f[_0x80a8('0x1b')]===_0x80a8('0x1c')&&typeof _0x47133f[_0x80a8('0x1d')]===_0x80a8('0x1c');var _0x438025=_0x252686[_0x80a8('0x1e')];var _0x503067=_0x524394?0x0:_0x47133f[_0x80a8('0x1b')];var _0x572c81=_0x524394?_0x252686['count']:_0x47133f[_0x80a8('0x1b')]+_0x47133f['limit'];var _0x39770a;if(_0x572c81>=_0x438025){_0x572c81=_0x438025;_0x39770a=0xc8;}else{_0x39770a=0xce;}_0x3d1c32[_0x80a8('0x19')](_0x39770a);return _0x3d1c32[_0x80a8('0x1f')]('Content-Range',_0x503067+'-'+_0x572c81+'/'+_0x438025)['json'](_0x252686);}return null;};}function patchUpdates(_0x5a8a9e){return function(_0x2a383f){try{jsonpatch[_0x80a8('0x20')](_0x2a383f,_0x5a8a9e,!![]);}catch(_0x5cd335){return BPromise[_0x80a8('0x21')](_0x5cd335);}return _0x2a383f[_0x80a8('0x22')]();};}function saveUpdates(_0x3ee334,_0x505cbd){return function(_0x424310){if(_0x424310){return _0x424310[_0x80a8('0x23')](_0x3ee334)[_0x80a8('0x24')](function(_0xf1c7fb){return _0xf1c7fb;});}return null;};}function removeEntity(_0x4d8000,_0xc0a8bb){return function(_0x326974){if(_0x326974){return _0x326974['destroy']()[_0x80a8('0x24')](function(){var _0x1610d8=_0x326974[_0x80a8('0x25')]({'plain':!![]});var _0x5c0cc2=_0x80a8('0x26');return db[_0x80a8('0x27')]['destroy']({'where':{'type':_0x5c0cc2,'resourceId':_0x1610d8['id']}})[_0x80a8('0x24')](function(){return _0x326974;});})[_0x80a8('0x24')](function(){_0x4d8000[_0x80a8('0x19')](0xcc)[_0x80a8('0x28')]();});}};}function handleEntityNotFound(_0x4323cd,_0x523ef6){return function(_0x552c6f){if(!_0x552c6f){_0x4323cd[_0x80a8('0x18')](0x194);}return _0x552c6f;};}function handleError(_0x24284e,_0x16f94d){_0x16f94d=_0x16f94d||0x1f4;return function(_0x4ca562){logger[_0x80a8('0x29')](_0x4ca562['stack']);if(_0x4ca562['name']){delete _0x4ca562[_0x80a8('0x2a')];}_0x24284e[_0x80a8('0x19')](_0x16f94d)[_0x80a8('0x2b')](_0x4ca562);};}exports['index']=function(_0x34ef90,_0x3b62c7){var _0x202907={},_0x29fb46={},_0x314577={'count':0x0,'rows':[]};var _0x493cd4=_[_0x80a8('0x2c')](db['MailQueue'][_0x80a8('0x2d')],function(_0x3be08c){return{'name':_0x3be08c[_0x80a8('0x2e')],'type':_0x3be08c[_0x80a8('0x2f')][_0x80a8('0x30')]};});_0x29fb46['model']=_['map'](_0x493cd4,'name');_0x29fb46[_0x80a8('0x31')]=_[_0x80a8('0x32')](_0x34ef90[_0x80a8('0x31')]);_0x29fb46[_0x80a8('0x33')]=_[_0x80a8('0x34')](_0x29fb46[_0x80a8('0x35')],_0x29fb46['query']);_0x202907['attributes']=_[_0x80a8('0x34')](_0x29fb46[_0x80a8('0x35')],qs[_0x80a8('0x36')](_0x34ef90[_0x80a8('0x31')][_0x80a8('0x36')]));_0x202907['attributes']=_0x202907[_0x80a8('0x37')][_0x80a8('0x38')]?_0x202907[_0x80a8('0x37')]:_0x29fb46['model'];if(!_0x34ef90[_0x80a8('0x31')][_0x80a8('0x39')](_0x80a8('0x3a'))){_0x202907[_0x80a8('0x1d')]=qs['limit'](_0x34ef90[_0x80a8('0x31')]['limit']);_0x202907[_0x80a8('0x1b')]=qs[_0x80a8('0x1b')](_0x34ef90[_0x80a8('0x31')][_0x80a8('0x1b')]);}_0x202907['order']=qs[_0x80a8('0x3b')](_0x34ef90[_0x80a8('0x31')][_0x80a8('0x3b')]);_0x202907[_0x80a8('0x3c')]=qs[_0x80a8('0x33')](_['pick'](_0x34ef90[_0x80a8('0x31')],_0x29fb46[_0x80a8('0x33')]),_0x493cd4);if(_0x34ef90['query'][_0x80a8('0x3d')]){_0x202907[_0x80a8('0x3c')]=_['merge'](_0x202907[_0x80a8('0x3c')],{'$or':_[_0x80a8('0x2c')](_0x493cd4,function(_0x334352){if(_0x334352[_0x80a8('0x2f')]!==_0x80a8('0x3e')){var _0x4b6eaf={};_0x4b6eaf[_0x334352[_0x80a8('0x2a')]]={'$like':'%'+_0x34ef90[_0x80a8('0x31')][_0x80a8('0x3d')]+'%'};return _0x4b6eaf;}})});}_0x202907=_[_0x80a8('0x3f')]({},_0x202907,_0x34ef90[_0x80a8('0x40')]);var _0x874309={'where':_0x202907[_0x80a8('0x3c')]};return db[_0x80a8('0x41')][_0x80a8('0x1e')](_0x874309)['then'](function(_0x16a30c){_0x314577[_0x80a8('0x1e')]=_0x16a30c;if(_0x34ef90[_0x80a8('0x31')][_0x80a8('0x42')]){_0x202907[_0x80a8('0x43')]=[{'all':!![]}];}return db[_0x80a8('0x41')]['findAll'](_0x202907);})[_0x80a8('0x24')](function(_0x497c17){_0x314577['rows']=_0x497c17;return _0x314577;})[_0x80a8('0x24')](respondWithFilteredResult(_0x3b62c7,_0x202907))['catch'](handleError(_0x3b62c7,null));};exports[_0x80a8('0x44')]=function(_0x2c9232,_0x4cedbf){var _0x5adefb={'raw':!![],'where':{'id':_0x2c9232['params']['id']}},_0x312490={};_0x312490[_0x80a8('0x35')]=_['keys'](db[_0x80a8('0x41')][_0x80a8('0x2d')]);_0x312490[_0x80a8('0x31')]=_[_0x80a8('0x32')](_0x2c9232[_0x80a8('0x31')]);_0x312490[_0x80a8('0x33')]=_['intersection'](_0x312490[_0x80a8('0x35')],_0x312490[_0x80a8('0x31')]);_0x5adefb[_0x80a8('0x37')]=_[_0x80a8('0x34')](_0x312490['model'],qs[_0x80a8('0x36')](_0x2c9232[_0x80a8('0x31')][_0x80a8('0x36')]));_0x5adefb[_0x80a8('0x37')]=_0x5adefb[_0x80a8('0x37')][_0x80a8('0x38')]?_0x5adefb['attributes']:_0x312490['model'];if(_0x2c9232[_0x80a8('0x31')][_0x80a8('0x42')]){_0x5adefb[_0x80a8('0x43')]=[{'all':!![]}];}_0x5adefb=_[_0x80a8('0x3f')]({},_0x5adefb,_0x2c9232[_0x80a8('0x40')]);return db['MailQueue'][_0x80a8('0x45')](_0x5adefb)[_0x80a8('0x24')](handleEntityNotFound(_0x4cedbf,null))[_0x80a8('0x24')](respondWithResult(_0x4cedbf,null))[_0x80a8('0x46')](handleError(_0x4cedbf,null));};exports['create']=function(_0x21a7dc,_0x382956){return db[_0x80a8('0x41')][_0x80a8('0x47')](_0x21a7dc['body'],{})['then'](function(_0x79a26e){var _0x5747df=_0x21a7dc[_0x80a8('0x48')][_0x80a8('0x25')]({'plain':!![]});if(!_0x5747df)throw new Error(_0x80a8('0x49'));if(_0x5747df[_0x80a8('0x4a')]===_0x80a8('0x48')){var _0x277f82=_0x79a26e[_0x80a8('0x25')]({'plain':!![]});var _0x2ac34b=_0x80a8('0x26');return db['UserProfileSection'][_0x80a8('0x45')]({'where':{'name':_0x2ac34b,'userProfileId':_0x5747df[_0x80a8('0x4b')]},'raw':!![]})['then'](function(_0x5b7b61){if(_0x5b7b61&&_0x5b7b61['autoAssociation']===0x0){return db[_0x80a8('0x27')]['create']({'name':_0x277f82[_0x80a8('0x2a')],'resourceId':_0x277f82['id'],'type':_0x5b7b61[_0x80a8('0x2a')],'sectionId':_0x5b7b61['id']},{})[_0x80a8('0x24')](function(){return _0x79a26e;});}else{return _0x79a26e;}})[_0x80a8('0x46')](function(_0x5f9021){logger[_0x80a8('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5f9021);throw _0x5f9021;});}return _0x79a26e;})[_0x80a8('0x24')](respondWithResult(_0x382956,0xc9))[_0x80a8('0x46')](handleError(_0x382956,null));};exports['update']=function(_0x10efa7,_0x4f3ccd){if(_0x10efa7['body']['id']){delete _0x10efa7[_0x80a8('0x4c')]['id'];}return db[_0x80a8('0x41')][_0x80a8('0x45')]({'where':{'id':_0x10efa7[_0x80a8('0x4d')]['id']}})[_0x80a8('0x24')](handleEntityNotFound(_0x4f3ccd,null))['then'](saveUpdates(_0x10efa7[_0x80a8('0x4c')],null))['then'](respondWithResult(_0x4f3ccd,null))['catch'](handleError(_0x4f3ccd,null));};exports[_0x80a8('0x4e')]=function(_0xa39267,_0x45afa7){return db[_0x80a8('0x41')][_0x80a8('0x45')]({'where':{'id':_0xa39267['params']['id']}})['then'](handleEntityNotFound(_0x45afa7,null))[_0x80a8('0x24')](removeEntity(_0x45afa7,null))['catch'](handleError(_0x45afa7,null));};exports['describe']=function(_0x4f4bcb,_0x554f0b){return db['MailQueue'][_0x80a8('0x4f')]()['then'](respondWithResult(_0x554f0b,null))[_0x80a8('0x46')](handleError(_0x554f0b,null));};exports[_0x80a8('0x50')]=function(_0x1a9ab5,_0x8458bb,_0x4d9971){var _0x16df15={'raw':!![],'where':{}},_0x5b25ed={},_0x57b4df;return db[_0x80a8('0x41')]['findOne']({'where':{'id':_0x1a9ab5[_0x80a8('0x4d')]['id']}})[_0x80a8('0x24')](handleEntityNotFound(_0x8458bb,null))[_0x80a8('0x24')](function(_0x1b70c0){if(_0x1b70c0){_0x57b4df=_0x1b70c0[_0x80a8('0x25')]({'plain':!![]});_0x5b25ed[_0x80a8('0x35')]=_[_0x80a8('0x32')](db['UserMailQueue'][_0x80a8('0x2d')]);_0x5b25ed[_0x80a8('0x31')]=_['keys'](_0x1a9ab5['query']);_0x5b25ed[_0x80a8('0x33')]=_[_0x80a8('0x34')](_0x5b25ed[_0x80a8('0x35')],_0x5b25ed[_0x80a8('0x31')]);_0x16df15['attributes']=_[_0x80a8('0x34')](_0x5b25ed['model'],qs[_0x80a8('0x36')](_0x1a9ab5[_0x80a8('0x31')][_0x80a8('0x36')]));_0x16df15[_0x80a8('0x37')]=_0x16df15[_0x80a8('0x37')][_0x80a8('0x38')]?_0x16df15[_0x80a8('0x37')]:_0x5b25ed[_0x80a8('0x35')];if(!_0x1a9ab5[_0x80a8('0x31')][_0x80a8('0x39')](_0x80a8('0x3a'))){_0x16df15[_0x80a8('0x1d')]=qs[_0x80a8('0x1d')](_0x1a9ab5[_0x80a8('0x31')][_0x80a8('0x1d')]);_0x16df15['offset']=qs[_0x80a8('0x1b')](_0x1a9ab5[_0x80a8('0x31')][_0x80a8('0x1b')]);}_0x16df15[_0x80a8('0x51')]=qs[_0x80a8('0x3b')](_0x1a9ab5[_0x80a8('0x31')][_0x80a8('0x3b')]);_0x16df15['where']=qs[_0x80a8('0x33')](_[_0x80a8('0x52')](_0x1a9ab5['query'],_0x5b25ed['filters']));_0x16df15[_0x80a8('0x3c')][_0x80a8('0x53')]=_0x1b70c0['id'];if(_0x1a9ab5['query'][_0x80a8('0x3d')]){_0x16df15['where']=_[_0x80a8('0x3f')](_0x16df15['where'],{'$or':_['map'](_0x16df15[_0x80a8('0x37')],function(_0x4583ee){var _0x1a16c4={};_0x1a16c4[_0x4583ee]={'$like':'%'+_0x1a9ab5[_0x80a8('0x31')][_0x80a8('0x3d')]+'%'};return _0x1a16c4;})});}_0x16df15=_[_0x80a8('0x3f')]({},_0x16df15,_0x1a9ab5['options']);return db[_0x80a8('0x54')][_0x80a8('0x55')](_0x16df15);}})[_0x80a8('0x24')](function(_0x47037e){if(_0x47037e){return db[_0x80a8('0x56')][_0x80a8('0x57')]({'where':{'id':_['map'](_0x47037e,_0x80a8('0x58')),'role':'agent'},'attributes':['id',_0x80a8('0x2a'),_0x80a8('0x59'),_0x80a8('0x5a'),_0x80a8('0x5b')]});}})['then'](function(_0x194927){if(_0x194927){return{'count':_0x194927[_0x80a8('0x1e')],'rows':_[_0x80a8('0x2c')](_0x194927[_0x80a8('0x5c')],function(_0x4120e3){return{'membername':_0x4120e3[_0x80a8('0x2a')],'UserId':_0x4120e3['id'],'queue_name':_0x57b4df[_0x80a8('0x2a')],'MailQueueId':_0x57b4df['id'],'interface':util['format']('%s/%s',_0x80a8('0x5d'),_0x4120e3[_0x80a8('0x2a')]),'penalty':0x0,'paused':_0x4120e3[_0x80a8('0x59')],'createdAt':_0x4120e3[_0x80a8('0x5b')],'updatedAt':_0x4120e3[_0x80a8('0x5a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x80a8('0x24')](respondWithFilteredResult(_0x8458bb,_0x16df15))['catch'](handleError(_0x8458bb,null));};exports[_0x80a8('0x5e')]=function(_0xf6f137,_0x5b2d2d,_0x3f4d6d){var _0x2f2e24={};var _0x44fa5b={};var _0x32cf01;var _0x6b81b5;return db['MailQueue']['findOne']({'where':{'id':_0xf6f137['params']['id']}})['then'](handleEntityNotFound(_0x5b2d2d,null))[_0x80a8('0x24')](function(_0x211c7e){if(_0x211c7e){_0x32cf01=_0x211c7e;_0x44fa5b[_0x80a8('0x35')]=_[_0x80a8('0x32')](db[_0x80a8('0x5f')][_0x80a8('0x2d')]);_0x44fa5b['query']=_[_0x80a8('0x32')](_0xf6f137[_0x80a8('0x31')]);_0x44fa5b[_0x80a8('0x33')]=_['intersection'](_0x44fa5b[_0x80a8('0x35')],_0x44fa5b[_0x80a8('0x31')]);_0x2f2e24[_0x80a8('0x37')]=_[_0x80a8('0x34')](_0x44fa5b[_0x80a8('0x35')],qs[_0x80a8('0x36')](_0xf6f137[_0x80a8('0x31')][_0x80a8('0x36')]));_0x2f2e24[_0x80a8('0x37')]=_0x2f2e24[_0x80a8('0x37')][_0x80a8('0x38')]?_0x2f2e24[_0x80a8('0x37')]:_0x44fa5b[_0x80a8('0x35')];_0x2f2e24['order']=qs[_0x80a8('0x3b')](_0xf6f137[_0x80a8('0x31')][_0x80a8('0x3b')]);_0x2f2e24['where']=qs[_0x80a8('0x33')](_[_0x80a8('0x52')](_0xf6f137[_0x80a8('0x31')],_0x44fa5b['filters']));if(_0xf6f137[_0x80a8('0x31')][_0x80a8('0x3d')]){_0x2f2e24['where']=_[_0x80a8('0x3f')](_0x2f2e24[_0x80a8('0x3c')],{'$or':_['map'](_0x2f2e24[_0x80a8('0x37')],function(_0x2375e6){var _0x5a7d0d={};_0x5a7d0d[_0x2375e6]={'$like':'%'+_0xf6f137['query']['filter']+'%'};return _0x5a7d0d;})});}_0x2f2e24=_[_0x80a8('0x3f')]({},_0x2f2e24,_0xf6f137[_0x80a8('0x40')]);return _0x32cf01[_0x80a8('0x5e')](_0x2f2e24);}})[_0x80a8('0x24')](function(_0x351a84){if(_0x351a84){_0x6b81b5=_0x351a84['length'];if(!_0xf6f137[_0x80a8('0x31')][_0x80a8('0x39')](_0x80a8('0x3a'))){_0x2f2e24[_0x80a8('0x1d')]=qs[_0x80a8('0x1d')](_0xf6f137[_0x80a8('0x31')][_0x80a8('0x1d')]);_0x2f2e24['offset']=qs[_0x80a8('0x1b')](_0xf6f137[_0x80a8('0x31')]['offset']);}return _0x32cf01[_0x80a8('0x5e')](_0x2f2e24);}})['then'](function(_0x4250fa){if(_0x4250fa){return _0x4250fa?{'count':_0x6b81b5,'rows':_0x4250fa}:null;}})[_0x80a8('0x24')](respondWithResult(_0x5b2d2d,null))[_0x80a8('0x46')](handleError(_0x5b2d2d,null));};exports[_0x80a8('0x60')]=function(_0xa20d70,_0xd72d22,_0x17bdb2){var _0x5150eb=_0xa20d70[_0x80a8('0x4c')][_0x80a8('0x61')];return db[_0x80a8('0x5f')][_0x80a8('0x55')]({'where':{'id':_0x5150eb},'attributes':['id'],'include':[{'model':db[_0x80a8('0x56')],'as':_0x80a8('0x62'),'attributes':['id',_0x80a8('0x2a'),_0x80a8('0x63'),_0x80a8('0x64'),_0x80a8('0x65')],'raw':!![]}]})[_0x80a8('0x24')](function(_0x50ce8a){if(_0x50ce8a){var _0x1b8c3c=_[_0x80a8('0x66')](_0x50ce8a,function(_0x4f18d3){var _0x2e492a=_0x4f18d3[_0x80a8('0x25')]({'plain':!![]});return _0x2e492a['Agents'];});return db[_0x80a8('0x41')][_0x80a8('0x45')]({'where':{'id':_0xa20d70[_0x80a8('0x4d')]['id']}})[_0x80a8('0x24')](function(_0x3708de){return db[_0x80a8('0x67')][_0x80a8('0x68')](function(_0x27d2dd){return _0x3708de[_0x80a8('0x60')](_0x5150eb,{'transaction':_0x27d2dd})[_0x80a8('0x24')](function(){return BPromise[_0x80a8('0x69')](_0x1b8c3c,function(_0x8a1fae){return db[_0x80a8('0x54')][_0x80a8('0x6a')]({'where':{'UserId':_0x8a1fae['id'],'MailQueueId':_0xa20d70[_0x80a8('0x4d')]['id']},'transaction':_0x27d2dd});});})['then'](function(){_0x1b8c3c['forEach'](function(_0x2e3c5b){socket[_0x80a8('0x6b')](_0x80a8('0x6c'),{'UserId':_0x2e3c5b['id'],'MailQueueId':_0x3708de['id']});});});});});}})[_0x80a8('0x24')](respondWithStatusCode(_0xd72d22,null))[_0x80a8('0x46')](handleError(_0xd72d22,null));};exports[_0x80a8('0x6d')]=function(_0x191354,_0x4aeec6,_0x5bb1a6){return db['Team'][_0x80a8('0x55')]({'where':{'id':_0x191354['query']['ids']},'attributes':['id'],'include':[{'model':db[_0x80a8('0x56')],'as':_0x80a8('0x62'),'attributes':['id'],'raw':!![]}]})[_0x80a8('0x24')](handleEntityNotFound(_0x4aeec6,null))[_0x80a8('0x24')](function(_0x18136a){var _0x5ba8ce=_[_0x80a8('0x2c')](_0x18136a,'id');var _0x16c197=[];var _0x13fde6=[];var _0x88cbbf=squel['select']();_0x88cbbf['field'](_0x80a8('0x6e'))[_0x80a8('0x6f')](_0x80a8('0x70'),'tq')[_0x80a8('0x71')](_0x80a8('0x72'),'ut',_0x80a8('0x73'))[_0x80a8('0x3c')](_0x80a8('0x74'),_0x191354[_0x80a8('0x4d')]['id']);for(var _0x5998d2=0x0;_0x5998d2<_0x18136a[_0x80a8('0x38')];_0x5998d2+=0x1){let _0x71b72=_0x18136a[_0x5998d2];for(var _0x55a873=0x0;_0x55a873<_0x71b72[_0x80a8('0x62')][_0x80a8('0x38')];_0x55a873+=0x1){let _0x223e53=_0x71b72[_0x80a8('0x62')][_0x55a873];var _0x5773f4=_0x88cbbf[_0x80a8('0x75')]();_0x5773f4[_0x80a8('0x3c')](_0x80a8('0x76'),_0x223e53['id']);_0x13fde6['push'](db['sequelize']['query'](_0x5773f4['toString'](),{'type':db[_0x80a8('0x67')]['QueryTypes'][_0x80a8('0x77')]})['then'](function(_0x3f7ce4){if(_0x3f7ce4[_0x80a8('0x38')]===0x1){return _0x223e53['id'];}else{var _0x112287=_[_0x80a8('0x78')](_[_0x80a8('0x2c')](_0x3f7ce4,_0x80a8('0x79')),function(_0x522e89){return _[_0x80a8('0x7a')](_0x5ba8ce,_0x522e89);});if(_0x112287){return _0x223e53['id'];}}}));}}return BPromise[_0x80a8('0x7b')](_0x13fde6)[_0x80a8('0x24')](function(_0x531837){_0x16c197=_(_0x16c197)[_0x80a8('0x7c')](_0x531837)[_0x80a8('0x7d')]()[_0x80a8('0x7e')]();return db[_0x80a8('0x41')][_0x80a8('0x45')]({'where':{'id':_0x191354['params']['id']}})[_0x80a8('0x24')](function(_0x1e3d0f){return db['sequelize'][_0x80a8('0x68')](function(_0x3c0c72){return _0x1e3d0f['removeTeams'](_0x191354[_0x80a8('0x31')][_0x80a8('0x61')],{'transaction':_0x3c0c72})[_0x80a8('0x24')](function(){if(!_[_0x80a8('0x7f')](_0x16c197)){return _0x1e3d0f[_0x80a8('0x80')](_0x16c197,{'transaction':_0x3c0c72});}})[_0x80a8('0x24')](function(){_0x16c197[_0x80a8('0x81')](function(_0x1646df){socket[_0x80a8('0x6b')](_0x80a8('0x82'),{'UserId':_0x1646df,'MailQueueId':_0x1e3d0f['id']});});});});});});})[_0x80a8('0x24')](respondWithStatusCode(_0x4aeec6,null))['catch'](handleError(_0x4aeec6,null));};exports['addAgents']=function(_0x3a746d,_0x40376a,_0x429e72){return db['MailQueue'][_0x80a8('0x45')]({'where':{'id':_0x3a746d[_0x80a8('0x4d')]['id']}})[_0x80a8('0x24')](handleEntityNotFound(_0x40376a,null))['then'](function(_0x37cb8a){if(_0x37cb8a){return _0x37cb8a[_0x80a8('0x83')](_0x3a746d[_0x80a8('0x4c')][_0x80a8('0x61')],_['omit'](_0x3a746d[_0x80a8('0x4c')],[_0x80a8('0x61'),'id'])||{})[_0x80a8('0x84')](function(_0xfdc505){for(var _0x4499d6=0x0;_0x4499d6<_0x3a746d[_0x80a8('0x4c')]['ids']['length'];_0x4499d6+=0x1){socket[_0x80a8('0x6b')](_0x80a8('0x6c'),{'UserId':Number(_0x3a746d[_0x80a8('0x4c')][_0x80a8('0x61')][_0x4499d6]),'MailQueueId':Number(_0x3a746d[_0x80a8('0x4d')]['id'])});}return _0xfdc505;});}})[_0x80a8('0x24')](respondWithResult(_0x40376a,null))[_0x80a8('0x46')](handleError(_0x40376a,null));};exports[_0x80a8('0x80')]=function(_0x36866d,_0x26bd35,_0x12549c){return db[_0x80a8('0x41')]['find']({'where':{'id':_0x36866d[_0x80a8('0x4d')]['id']}})[_0x80a8('0x24')](handleEntityNotFound(_0x26bd35,null))[_0x80a8('0x24')](function(_0x5491e8){if(_0x5491e8){return _0x5491e8['removeAgents'](_0x36866d[_0x80a8('0x31')]['ids'])[_0x80a8('0x24')](function(){if(_[_0x80a8('0x85')](_0x36866d['query']['ids'])){for(var _0x1287cf=0x0;_0x1287cf<_0x36866d[_0x80a8('0x31')][_0x80a8('0x61')][_0x80a8('0x38')];_0x1287cf+=0x1){socket[_0x80a8('0x6b')](_0x80a8('0x82'),{'UserId':Number(_0x36866d[_0x80a8('0x31')][_0x80a8('0x61')][_0x1287cf]),'MailQueueId':Number(_0x36866d['params']['id'])});}}else{socket[_0x80a8('0x6b')](_0x80a8('0x82'),{'UserId':Number(_0x36866d[_0x80a8('0x31')][_0x80a8('0x61')]),'MailQueueId':Number(_0x36866d[_0x80a8('0x4d')]['id'])});}});}})[_0x80a8('0x24')](respondWithStatusCode(_0x26bd35,null))[_0x80a8('0x46')](handleError(_0x26bd35,null));};exports[_0x80a8('0x86')]=function(_0x251de3,_0xa31dd,_0x338851){var _0xc7e32f={};var _0xa43d34={};var _0x5ce8d3;var _0x3599da;return db[_0x80a8('0x41')][_0x80a8('0x87')]({'where':{'id':_0x251de3[_0x80a8('0x4d')]['id']}})['then'](handleEntityNotFound(_0xa31dd,null))[_0x80a8('0x24')](function(_0x1e17e8){if(_0x1e17e8){_0x5ce8d3=_0x1e17e8;_0xa43d34[_0x80a8('0x35')]=_[_0x80a8('0x32')](db['User'][_0x80a8('0x2d')]);_0xa43d34[_0x80a8('0x31')]=_['keys'](_0x251de3[_0x80a8('0x31')]);_0xa43d34[_0x80a8('0x33')]=_[_0x80a8('0x34')](_0xa43d34[_0x80a8('0x35')],_0xa43d34[_0x80a8('0x31')]);_0xc7e32f['attributes']=_[_0x80a8('0x34')](_0xa43d34[_0x80a8('0x35')],qs[_0x80a8('0x36')](_0x251de3[_0x80a8('0x31')][_0x80a8('0x36')]));_0xc7e32f[_0x80a8('0x37')]=_0xc7e32f[_0x80a8('0x37')][_0x80a8('0x38')]?_0xc7e32f[_0x80a8('0x37')]:_0xa43d34[_0x80a8('0x35')];_0xc7e32f[_0x80a8('0x51')]=qs[_0x80a8('0x3b')](_0x251de3[_0x80a8('0x31')]['sort']);_0xc7e32f[_0x80a8('0x3c')]=qs[_0x80a8('0x33')](_[_0x80a8('0x52')](_0x251de3[_0x80a8('0x31')],_0xa43d34[_0x80a8('0x33')]));if(_0x251de3[_0x80a8('0x31')][_0x80a8('0x3d')]){_0xc7e32f['where']=_[_0x80a8('0x3f')](_0xc7e32f[_0x80a8('0x3c')],{'$or':_['map'](_0xc7e32f[_0x80a8('0x37')],function(_0x47e2b2){var _0x24c48b={};_0x24c48b[_0x47e2b2]={'$like':'%'+_0x251de3[_0x80a8('0x31')][_0x80a8('0x3d')]+'%'};return _0x24c48b;})});}_0xc7e32f=_['merge']({},_0xc7e32f,_0x251de3[_0x80a8('0x40')]);return _0x5ce8d3[_0x80a8('0x86')](_0xc7e32f);}})[_0x80a8('0x24')](function(_0x415377){if(_0x415377){_0x3599da=_0x415377[_0x80a8('0x38')];if(!_0x251de3['query']['hasOwnProperty']('nolimit')){_0xc7e32f['limit']=qs[_0x80a8('0x1d')](_0x251de3[_0x80a8('0x31')][_0x80a8('0x1d')]);_0xc7e32f[_0x80a8('0x1b')]=qs[_0x80a8('0x1b')](_0x251de3[_0x80a8('0x31')][_0x80a8('0x1b')]);}return _0x5ce8d3[_0x80a8('0x86')](_0xc7e32f);}})[_0x80a8('0x24')](function(_0x556973){if(_0x556973){return _0x556973?{'count':_0x3599da,'rows':_0x556973}:null;}})[_0x80a8('0x24')](respondWithResult(_0xa31dd,null))[_0x80a8('0x46')](handleError(_0xa31dd,null));};