f813ab9e8e95f729e7bebf188c0bb26dd5a9620f
[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 _0xb88f=['sequelize','findOrCreate','forEach','removeTeams','select','field','from','team_has_mail_queues','join','user_has_teams','MailQueueId\x20=\x20?','clone','SELECT','every','TeamId','includes','all','compact','value','transaction','emit','userMailQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','squel','jsforce','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','status','undefined','limit','count','offset','Content-Range','json','reject','save','then','destroy','get','UserProfileResource','sendStatus','stack','index','map','MailQueue','rawAttributes','type','model','name','query','keys','filters','attributes','intersection','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','params','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','MailQueues','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','describe','getMembers','findOne','UserMailQueue','order','MailQueueId','User','findAndCountAll','UserId','agent','updatedAt','createdAt','%s/%s','SIP','mailPause','getTeams','Team','hasOwnProperty','addTeams','ids','Agents','online','interface','flatMap'];(function(_0x122ef9,_0x451d2a){var _0x42fba0=function(_0x17c9d3){while(--_0x17c9d3){_0x122ef9['push'](_0x122ef9['shift']());}};_0x42fba0(++_0x451d2a);}(_0xb88f,0x124));var _0xfb88=function(_0x2b5b44,_0x17189c){_0x2b5b44=_0x2b5b44-0x0;var _0x32cb66=_0xb88f[_0x2b5b44];return _0x32cb66;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfb88('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xfb88('0x1'));var rp=require('request-promise');var moment=require(_0xfb88('0x2'));var BPromise=require(_0xfb88('0x3'));var Mustache=require(_0xfb88('0x4'));var util=require(_0xfb88('0x5'));var path=require(_0xfb88('0x6'));var sox=require('sox');var csv=require(_0xfb88('0x7'));var ejs=require(_0xfb88('0x8'));var fs=require('fs');var fs_extra=require(_0xfb88('0x9'));var _=require('lodash');var squel=require(_0xfb88('0xa'));var crypto=require('crypto');var jsforce=require(_0xfb88('0xb'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xfb88('0xc'));var Papa=require(_0xfb88('0xd'));var Redis=require(_0xfb88('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xfb88('0xf'));var hardwareService=require(_0xfb88('0x10'));var logger=require(_0xfb88('0x11'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xfb88('0x12'));var db=require(_0xfb88('0x13'))['db'];config[_0xfb88('0x14')]=_[_0xfb88('0x15')](config[_0xfb88('0x14')],{'host':_0xfb88('0x16'),'port':0x18eb});var socket=require(_0xfb88('0x17'))(new Redis(config['redis']));require(_0xfb88('0x18'))[_0xfb88('0x19')](socket);function respondWithStatusCode(_0x7f226f,_0x1afae6){_0x1afae6=_0x1afae6||0xcc;return function(_0x5a8025){if(_0x5a8025){return _0x7f226f['sendStatus'](_0x1afae6);}return _0x7f226f[_0xfb88('0x1a')](_0x1afae6)['end']();};}function respondWithResult(_0x2d99c6,_0x1088e4){_0x1088e4=_0x1088e4||0xc8;return function(_0x1a9286){if(_0x1a9286){return _0x2d99c6[_0xfb88('0x1a')](_0x1088e4)['json'](_0x1a9286);}};}function respondWithFilteredResult(_0x2d95cc,_0x33c14e){return function(_0x3ce04c){if(_0x3ce04c){var _0x4e1458=typeof _0x33c14e['offset']===_0xfb88('0x1b')&&typeof _0x33c14e[_0xfb88('0x1c')]==='undefined';var _0x486d90=_0x3ce04c[_0xfb88('0x1d')];var _0x4d2166=_0x4e1458?0x0:_0x33c14e['offset'];var _0x2e97ae=_0x4e1458?_0x3ce04c[_0xfb88('0x1d')]:_0x33c14e[_0xfb88('0x1e')]+_0x33c14e[_0xfb88('0x1c')];var _0x117987;if(_0x2e97ae>=_0x486d90){_0x2e97ae=_0x486d90;_0x117987=0xc8;}else{_0x117987=0xce;}_0x2d95cc[_0xfb88('0x1a')](_0x117987);return _0x2d95cc['set'](_0xfb88('0x1f'),_0x4d2166+'-'+_0x2e97ae+'/'+_0x486d90)[_0xfb88('0x20')](_0x3ce04c);}return null;};}function patchUpdates(_0x40c4a3){return function(_0x5a5d51){try{jsonpatch['apply'](_0x5a5d51,_0x40c4a3,!![]);}catch(_0x5ce9ef){return BPromise[_0xfb88('0x21')](_0x5ce9ef);}return _0x5a5d51[_0xfb88('0x22')]();};}function saveUpdates(_0x630942,_0x5ef6b5){return function(_0x2503c6){if(_0x2503c6){return _0x2503c6['update'](_0x630942)[_0xfb88('0x23')](function(_0x50151e){return _0x50151e;});}return null;};}function removeEntity(_0x331fba,_0x3d185a){return function(_0x26f8fc){if(_0x26f8fc){return _0x26f8fc[_0xfb88('0x24')]()['then'](function(){var _0x3d67a3=_0x26f8fc[_0xfb88('0x25')]({'plain':!![]});var _0x215aa0='MailQueues';return db[_0xfb88('0x26')][_0xfb88('0x24')]({'where':{'type':_0x215aa0,'resourceId':_0x3d67a3['id']}})[_0xfb88('0x23')](function(){return _0x26f8fc;});})[_0xfb88('0x23')](function(){_0x331fba[_0xfb88('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x59b0f8,_0x5c3ec1){return function(_0x5e6837){if(!_0x5e6837){_0x59b0f8[_0xfb88('0x27')](0x194);}return _0x5e6837;};}function handleError(_0x179a95,_0x186ad0){_0x186ad0=_0x186ad0||0x1f4;return function(_0x4c3a97){logger['error'](_0x4c3a97[_0xfb88('0x28')]);if(_0x4c3a97['name']){delete _0x4c3a97['name'];}_0x179a95['status'](_0x186ad0)['send'](_0x4c3a97);};}exports[_0xfb88('0x29')]=function(_0x403e4e,_0x931fe4){var _0x32eecc={},_0x14fa3d={},_0x431f6d={'count':0x0,'rows':[]};var _0x3e1005=_[_0xfb88('0x2a')](db[_0xfb88('0x2b')][_0xfb88('0x2c')],function(_0x35acad){return{'name':_0x35acad['fieldName'],'type':_0x35acad[_0xfb88('0x2d')]['key']};});_0x14fa3d[_0xfb88('0x2e')]=_['map'](_0x3e1005,_0xfb88('0x2f'));_0x14fa3d[_0xfb88('0x30')]=_[_0xfb88('0x31')](_0x403e4e['query']);_0x14fa3d[_0xfb88('0x32')]=_['intersection'](_0x14fa3d['model'],_0x14fa3d[_0xfb88('0x30')]);_0x32eecc[_0xfb88('0x33')]=_[_0xfb88('0x34')](_0x14fa3d['model'],qs[_0xfb88('0x35')](_0x403e4e[_0xfb88('0x30')][_0xfb88('0x35')]));_0x32eecc[_0xfb88('0x33')]=_0x32eecc[_0xfb88('0x33')][_0xfb88('0x36')]?_0x32eecc[_0xfb88('0x33')]:_0x14fa3d[_0xfb88('0x2e')];if(!_0x403e4e['query']['hasOwnProperty'](_0xfb88('0x37'))){_0x32eecc[_0xfb88('0x1c')]=qs['limit'](_0x403e4e['query']['limit']);_0x32eecc['offset']=qs[_0xfb88('0x1e')](_0x403e4e[_0xfb88('0x30')][_0xfb88('0x1e')]);}_0x32eecc['order']=qs['sort'](_0x403e4e[_0xfb88('0x30')][_0xfb88('0x38')]);_0x32eecc[_0xfb88('0x39')]=qs['filters'](_[_0xfb88('0x3a')](_0x403e4e[_0xfb88('0x30')],_0x14fa3d[_0xfb88('0x32')]),_0x3e1005);if(_0x403e4e[_0xfb88('0x30')][_0xfb88('0x3b')]){_0x32eecc[_0xfb88('0x39')]=_[_0xfb88('0x3c')](_0x32eecc[_0xfb88('0x39')],{'$or':_[_0xfb88('0x2a')](_0x3e1005,function(_0x57d4ef){if(_0x57d4ef[_0xfb88('0x2d')]!==_0xfb88('0x3d')){var _0x1d5a29={};_0x1d5a29[_0x57d4ef[_0xfb88('0x2f')]]={'$like':'%'+_0x403e4e[_0xfb88('0x30')][_0xfb88('0x3b')]+'%'};return _0x1d5a29;}})});}_0x32eecc=_['merge']({},_0x32eecc,_0x403e4e[_0xfb88('0x3e')]);var _0x4442a0={'where':_0x32eecc['where']};return db[_0xfb88('0x2b')][_0xfb88('0x1d')](_0x4442a0)['then'](function(_0x299029){_0x431f6d[_0xfb88('0x1d')]=_0x299029;if(_0x403e4e[_0xfb88('0x30')]['includeAll']){_0x32eecc[_0xfb88('0x3f')]=[{'all':!![]}];}return db[_0xfb88('0x2b')][_0xfb88('0x40')](_0x32eecc);})[_0xfb88('0x23')](function(_0x527401){_0x431f6d[_0xfb88('0x41')]=_0x527401;return _0x431f6d;})[_0xfb88('0x23')](respondWithFilteredResult(_0x931fe4,_0x32eecc))[_0xfb88('0x42')](handleError(_0x931fe4,null));};exports['show']=function(_0x552959,_0x4eb21c){var _0x1a9d55={'raw':!![],'where':{'id':_0x552959[_0xfb88('0x43')]['id']}},_0x176d2d={};_0x176d2d[_0xfb88('0x2e')]=_[_0xfb88('0x31')](db[_0xfb88('0x2b')][_0xfb88('0x2c')]);_0x176d2d['query']=_['keys'](_0x552959[_0xfb88('0x30')]);_0x176d2d[_0xfb88('0x32')]=_[_0xfb88('0x34')](_0x176d2d[_0xfb88('0x2e')],_0x176d2d['query']);_0x1a9d55[_0xfb88('0x33')]=_[_0xfb88('0x34')](_0x176d2d[_0xfb88('0x2e')],qs[_0xfb88('0x35')](_0x552959[_0xfb88('0x30')][_0xfb88('0x35')]));_0x1a9d55[_0xfb88('0x33')]=_0x1a9d55[_0xfb88('0x33')][_0xfb88('0x36')]?_0x1a9d55[_0xfb88('0x33')]:_0x176d2d[_0xfb88('0x2e')];if(_0x552959['query'][_0xfb88('0x44')]){_0x1a9d55[_0xfb88('0x3f')]=[{'all':!![]}];}_0x1a9d55=_['merge']({},_0x1a9d55,_0x552959['options']);return db[_0xfb88('0x2b')][_0xfb88('0x45')](_0x1a9d55)['then'](handleEntityNotFound(_0x4eb21c,null))[_0xfb88('0x23')](respondWithResult(_0x4eb21c,null))[_0xfb88('0x42')](handleError(_0x4eb21c,null));};exports[_0xfb88('0x46')]=function(_0x1c6647,_0x5b3e75){return db[_0xfb88('0x2b')]['create'](_0x1c6647['body'],{})[_0xfb88('0x23')](function(_0x53bff1){var _0x13ebda=_0x1c6647[_0xfb88('0x47')][_0xfb88('0x25')]({'plain':!![]});if(!_0x13ebda)throw new Error(_0xfb88('0x48'));if(_0x13ebda['role']===_0xfb88('0x47')){var _0x3c14d8=_0x53bff1[_0xfb88('0x25')]({'plain':!![]});var _0x4cec1b=_0xfb88('0x49');return db[_0xfb88('0x4a')]['find']({'where':{'name':_0x4cec1b,'userProfileId':_0x13ebda['userProfileId']},'raw':!![]})[_0xfb88('0x23')](function(_0x262119){if(_0x262119&&_0x262119[_0xfb88('0x4b')]===0x0){return db[_0xfb88('0x26')][_0xfb88('0x46')]({'name':_0x3c14d8['name'],'resourceId':_0x3c14d8['id'],'type':_0x262119[_0xfb88('0x2f')],'sectionId':_0x262119['id']},{})[_0xfb88('0x23')](function(){return _0x53bff1;});}else{return _0x53bff1;}})['catch'](function(_0x24f76e){logger[_0xfb88('0x4c')](_0xfb88('0x4d'),_0x24f76e);throw _0x24f76e;});}return _0x53bff1;})['then'](respondWithResult(_0x5b3e75,0xc9))[_0xfb88('0x42')](handleError(_0x5b3e75,null));};exports[_0xfb88('0x4e')]=function(_0x27c85d,_0x371eed){if(_0x27c85d[_0xfb88('0x4f')]['id']){delete _0x27c85d['body']['id'];}return db[_0xfb88('0x2b')]['find']({'where':{'id':_0x27c85d['params']['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x371eed,null))[_0xfb88('0x23')](saveUpdates(_0x27c85d['body'],null))[_0xfb88('0x23')](respondWithResult(_0x371eed,null))[_0xfb88('0x42')](handleError(_0x371eed,null));};exports[_0xfb88('0x24')]=function(_0x1a03f8,_0x2d3844){return db[_0xfb88('0x2b')][_0xfb88('0x45')]({'where':{'id':_0x1a03f8[_0xfb88('0x43')]['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x2d3844,null))['then'](removeEntity(_0x2d3844,null))[_0xfb88('0x42')](handleError(_0x2d3844,null));};exports[_0xfb88('0x50')]=function(_0x4f981e,_0x2b81cb){return db[_0xfb88('0x2b')][_0xfb88('0x50')]()['then'](respondWithResult(_0x2b81cb,null))['catch'](handleError(_0x2b81cb,null));};exports[_0xfb88('0x51')]=function(_0x506709,_0x44bf7c,_0x22788f){var _0x4673be={'raw':!![],'where':{}},_0x2fa68d={},_0x59d9fe;return db[_0xfb88('0x2b')][_0xfb88('0x52')]({'where':{'id':_0x506709[_0xfb88('0x43')]['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x44bf7c,null))['then'](function(_0x38b14a){if(_0x38b14a){_0x59d9fe=_0x38b14a[_0xfb88('0x25')]({'plain':!![]});_0x2fa68d[_0xfb88('0x2e')]=_['keys'](db[_0xfb88('0x53')][_0xfb88('0x2c')]);_0x2fa68d['query']=_[_0xfb88('0x31')](_0x506709['query']);_0x2fa68d['filters']=_['intersection'](_0x2fa68d['model'],_0x2fa68d['query']);_0x4673be['attributes']=_[_0xfb88('0x34')](_0x2fa68d[_0xfb88('0x2e')],qs[_0xfb88('0x35')](_0x506709[_0xfb88('0x30')][_0xfb88('0x35')]));_0x4673be['attributes']=_0x4673be['attributes'][_0xfb88('0x36')]?_0x4673be[_0xfb88('0x33')]:_0x2fa68d[_0xfb88('0x2e')];if(!_0x506709[_0xfb88('0x30')]['hasOwnProperty'](_0xfb88('0x37'))){_0x4673be['limit']=qs[_0xfb88('0x1c')](_0x506709[_0xfb88('0x30')]['limit']);_0x4673be[_0xfb88('0x1e')]=qs[_0xfb88('0x1e')](_0x506709[_0xfb88('0x30')]['offset']);}_0x4673be[_0xfb88('0x54')]=qs['sort'](_0x506709[_0xfb88('0x30')][_0xfb88('0x38')]);_0x4673be[_0xfb88('0x39')]=qs[_0xfb88('0x32')](_[_0xfb88('0x3a')](_0x506709[_0xfb88('0x30')],_0x2fa68d[_0xfb88('0x32')]));_0x4673be[_0xfb88('0x39')][_0xfb88('0x55')]=_0x38b14a['id'];if(_0x506709[_0xfb88('0x30')]['filter']){_0x4673be[_0xfb88('0x39')]=_[_0xfb88('0x3c')](_0x4673be[_0xfb88('0x39')],{'$or':_[_0xfb88('0x2a')](_0x4673be[_0xfb88('0x33')],function(_0x3267b7){var _0x85e107={};_0x85e107[_0x3267b7]={'$like':'%'+_0x506709[_0xfb88('0x30')][_0xfb88('0x3b')]+'%'};return _0x85e107;})});}_0x4673be=_[_0xfb88('0x3c')]({},_0x4673be,_0x506709[_0xfb88('0x3e')]);return db['UserMailQueue']['findAll'](_0x4673be);}})[_0xfb88('0x23')](function(_0x45c1fe){if(_0x45c1fe){return db[_0xfb88('0x56')][_0xfb88('0x57')]({'where':{'id':_[_0xfb88('0x2a')](_0x45c1fe,_0xfb88('0x58')),'role':_0xfb88('0x59')},'attributes':['id',_0xfb88('0x2f'),'mailPause',_0xfb88('0x5a'),_0xfb88('0x5b')]});}})[_0xfb88('0x23')](function(_0x155481){if(_0x155481){return{'count':_0x155481['count'],'rows':_[_0xfb88('0x2a')](_0x155481[_0xfb88('0x41')],function(_0x222ccc){return{'membername':_0x222ccc['name'],'UserId':_0x222ccc['id'],'queue_name':_0x59d9fe['name'],'MailQueueId':_0x59d9fe['id'],'interface':util['format'](_0xfb88('0x5c'),_0xfb88('0x5d'),_0x222ccc['name']),'penalty':0x0,'paused':_0x222ccc[_0xfb88('0x5e')],'createdAt':_0x222ccc[_0xfb88('0x5b')],'updatedAt':_0x222ccc['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xfb88('0x23')](respondWithFilteredResult(_0x44bf7c,_0x4673be))[_0xfb88('0x42')](handleError(_0x44bf7c,null));};exports[_0xfb88('0x5f')]=function(_0x2573cf,_0x150de4,_0x466c7d){var _0x3ca016={};var _0x4ff439={};var _0x1c2ab6;var _0x3a354c;return db[_0xfb88('0x2b')]['findOne']({'where':{'id':_0x2573cf[_0xfb88('0x43')]['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x150de4,null))[_0xfb88('0x23')](function(_0x213836){if(_0x213836){_0x1c2ab6=_0x213836;_0x4ff439['model']=_['keys'](db[_0xfb88('0x60')]['rawAttributes']);_0x4ff439[_0xfb88('0x30')]=_[_0xfb88('0x31')](_0x2573cf[_0xfb88('0x30')]);_0x4ff439[_0xfb88('0x32')]=_[_0xfb88('0x34')](_0x4ff439[_0xfb88('0x2e')],_0x4ff439[_0xfb88('0x30')]);_0x3ca016[_0xfb88('0x33')]=_[_0xfb88('0x34')](_0x4ff439['model'],qs[_0xfb88('0x35')](_0x2573cf[_0xfb88('0x30')][_0xfb88('0x35')]));_0x3ca016[_0xfb88('0x33')]=_0x3ca016[_0xfb88('0x33')][_0xfb88('0x36')]?_0x3ca016['attributes']:_0x4ff439[_0xfb88('0x2e')];_0x3ca016['order']=qs[_0xfb88('0x38')](_0x2573cf[_0xfb88('0x30')][_0xfb88('0x38')]);_0x3ca016[_0xfb88('0x39')]=qs['filters'](_['pick'](_0x2573cf['query'],_0x4ff439[_0xfb88('0x32')]));if(_0x2573cf[_0xfb88('0x30')][_0xfb88('0x3b')]){_0x3ca016[_0xfb88('0x39')]=_[_0xfb88('0x3c')](_0x3ca016[_0xfb88('0x39')],{'$or':_[_0xfb88('0x2a')](_0x3ca016[_0xfb88('0x33')],function(_0x3aa5f6){var _0xbe5582={};_0xbe5582[_0x3aa5f6]={'$like':'%'+_0x2573cf[_0xfb88('0x30')][_0xfb88('0x3b')]+'%'};return _0xbe5582;})});}_0x3ca016=_['merge']({},_0x3ca016,_0x2573cf[_0xfb88('0x3e')]);return _0x1c2ab6['getTeams'](_0x3ca016);}})[_0xfb88('0x23')](function(_0x5bb93c){if(_0x5bb93c){_0x3a354c=_0x5bb93c[_0xfb88('0x36')];if(!_0x2573cf[_0xfb88('0x30')][_0xfb88('0x61')](_0xfb88('0x37'))){_0x3ca016[_0xfb88('0x1c')]=qs[_0xfb88('0x1c')](_0x2573cf[_0xfb88('0x30')][_0xfb88('0x1c')]);_0x3ca016[_0xfb88('0x1e')]=qs[_0xfb88('0x1e')](_0x2573cf['query'][_0xfb88('0x1e')]);}return _0x1c2ab6[_0xfb88('0x5f')](_0x3ca016);}})[_0xfb88('0x23')](function(_0x98f9bb){if(_0x98f9bb){return _0x98f9bb?{'count':_0x3a354c,'rows':_0x98f9bb}:null;}})[_0xfb88('0x23')](respondWithResult(_0x150de4,null))[_0xfb88('0x42')](handleError(_0x150de4,null));};exports[_0xfb88('0x62')]=function(_0x5ed516,_0xe7b8e4,_0x26797b){var _0x3744c8=_0x5ed516[_0xfb88('0x4f')][_0xfb88('0x63')];return db[_0xfb88('0x60')][_0xfb88('0x40')]({'where':{'id':_0x3744c8},'attributes':['id'],'include':[{'model':db[_0xfb88('0x56')],'as':_0xfb88('0x64'),'attributes':['id',_0xfb88('0x2f'),_0xfb88('0x65'),'voicePause',_0xfb88('0x66')],'raw':!![]}]})[_0xfb88('0x23')](function(_0x4f679d){if(_0x4f679d){var _0x2d2ae4=_[_0xfb88('0x67')](_0x4f679d,function(_0xa6de85){var _0x5b2452=_0xa6de85[_0xfb88('0x25')]({'plain':!![]});return _0x5b2452['Agents'];});return db[_0xfb88('0x2b')][_0xfb88('0x45')]({'where':{'id':_0x5ed516['params']['id']}})[_0xfb88('0x23')](function(_0x5435d6){return db[_0xfb88('0x68')]['transaction'](function(_0x14cc65){return _0x5435d6[_0xfb88('0x62')](_0x3744c8,{'transaction':_0x14cc65})['then'](function(){return BPromise['each'](_0x2d2ae4,function(_0x731d45){return db['UserMailQueue'][_0xfb88('0x69')]({'where':{'UserId':_0x731d45['id'],'MailQueueId':_0x5ed516[_0xfb88('0x43')]['id']},'transaction':_0x14cc65});});})[_0xfb88('0x23')](function(){_0x2d2ae4[_0xfb88('0x6a')](function(_0x3e9974){socket['emit']('userMailQueue:save',{'UserId':_0x3e9974['id'],'MailQueueId':_0x5435d6['id']});});});});});}})['then'](respondWithStatusCode(_0xe7b8e4,null))[_0xfb88('0x42')](handleError(_0xe7b8e4,null));};exports[_0xfb88('0x6b')]=function(_0x5241d1,_0x5e6aad,_0x30ff07){return db[_0xfb88('0x60')][_0xfb88('0x40')]({'where':{'id':_0x5241d1[_0xfb88('0x30')][_0xfb88('0x63')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xfb88('0x23')](handleEntityNotFound(_0x5e6aad,null))[_0xfb88('0x23')](function(_0xa7de9c){var _0x5050fa=_['map'](_0xa7de9c,'id');var _0x1a45d9=[];var _0x56b746=[];var _0x5efb50=squel[_0xfb88('0x6c')]();_0x5efb50[_0xfb88('0x6d')]('tq.TeamId')[_0xfb88('0x6e')](_0xfb88('0x6f'),'tq')[_0xfb88('0x70')](_0xfb88('0x71'),'ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0xfb88('0x72'),_0x5241d1[_0xfb88('0x43')]['id']);for(var _0x136692=0x0;_0x136692<_0xa7de9c[_0xfb88('0x36')];_0x136692+=0x1){let _0x16603b=_0xa7de9c[_0x136692];for(var _0x560b95=0x0;_0x560b95<_0x16603b[_0xfb88('0x64')]['length'];_0x560b95+=0x1){let _0x3928f1=_0x16603b[_0xfb88('0x64')][_0x560b95];var _0x42d6f6=_0x5efb50[_0xfb88('0x73')]();_0x42d6f6[_0xfb88('0x39')]('ut.UserId\x20=\x20?',_0x3928f1['id']);_0x56b746['push'](db[_0xfb88('0x68')]['query'](_0x42d6f6['toString'](),{'type':db[_0xfb88('0x68')]['QueryTypes'][_0xfb88('0x74')]})[_0xfb88('0x23')](function(_0x1103fb){if(_0x1103fb[_0xfb88('0x36')]===0x1){return _0x3928f1['id'];}else{var _0x19fd0e=_[_0xfb88('0x75')](_[_0xfb88('0x2a')](_0x1103fb,_0xfb88('0x76')),function(_0x11da28){return _[_0xfb88('0x77')](_0x5050fa,_0x11da28);});if(_0x19fd0e){return _0x3928f1['id'];}}}));}}return BPromise[_0xfb88('0x78')](_0x56b746)[_0xfb88('0x23')](function(_0x32b9b3){_0x1a45d9=_(_0x1a45d9)['union'](_0x32b9b3)[_0xfb88('0x79')]()[_0xfb88('0x7a')]();return db[_0xfb88('0x2b')][_0xfb88('0x45')]({'where':{'id':_0x5241d1['params']['id']}})[_0xfb88('0x23')](function(_0x38b3e5){return db[_0xfb88('0x68')][_0xfb88('0x7b')](function(_0x180d92){return _0x38b3e5[_0xfb88('0x6b')](_0x5241d1[_0xfb88('0x30')]['ids'],{'transaction':_0x180d92})[_0xfb88('0x23')](function(){if(!_['isEmpty'](_0x1a45d9)){return _0x38b3e5['removeAgents'](_0x1a45d9,{'transaction':_0x180d92});}})[_0xfb88('0x23')](function(){_0x1a45d9[_0xfb88('0x6a')](function(_0x1011a9){socket[_0xfb88('0x7c')](_0xfb88('0x7d'),{'UserId':_0x1011a9,'MailQueueId':_0x38b3e5['id']});});});});});});})[_0xfb88('0x23')](respondWithStatusCode(_0x5e6aad,null))[_0xfb88('0x42')](handleError(_0x5e6aad,null));};exports[_0xfb88('0x7e')]=function(_0x4a9f59,_0x2cc7cd,_0x11787c){return db[_0xfb88('0x2b')]['find']({'where':{'id':_0x4a9f59[_0xfb88('0x43')]['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x2cc7cd,null))[_0xfb88('0x23')](function(_0x3520e1){if(_0x3520e1){return _0x3520e1[_0xfb88('0x7e')](_0x4a9f59[_0xfb88('0x4f')][_0xfb88('0x63')],_[_0xfb88('0x7f')](_0x4a9f59['body'],[_0xfb88('0x63'),'id'])||{})[_0xfb88('0x80')](function(_0x537d50){for(var _0x785da0=0x0;_0x785da0<_0x4a9f59['body'][_0xfb88('0x63')][_0xfb88('0x36')];_0x785da0+=0x1){socket[_0xfb88('0x7c')]('userMailQueue:save',{'UserId':Number(_0x4a9f59[_0xfb88('0x4f')]['ids'][_0x785da0]),'MailQueueId':Number(_0x4a9f59['params']['id'])});}return _0x537d50;});}})[_0xfb88('0x23')](respondWithResult(_0x2cc7cd,null))[_0xfb88('0x42')](handleError(_0x2cc7cd,null));};exports[_0xfb88('0x81')]=function(_0x243b3a,_0x314cb6,_0x1e13ea){return db['MailQueue'][_0xfb88('0x45')]({'where':{'id':_0x243b3a[_0xfb88('0x43')]['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x314cb6,null))[_0xfb88('0x23')](function(_0x588cb7){if(_0x588cb7){return _0x588cb7['removeAgents'](_0x243b3a[_0xfb88('0x30')][_0xfb88('0x63')])[_0xfb88('0x23')](function(){if(_[_0xfb88('0x82')](_0x243b3a['query'][_0xfb88('0x63')])){for(var _0x2cd629=0x0;_0x2cd629<_0x243b3a['query'][_0xfb88('0x63')][_0xfb88('0x36')];_0x2cd629+=0x1){socket[_0xfb88('0x7c')](_0xfb88('0x7d'),{'UserId':Number(_0x243b3a['query'][_0xfb88('0x63')][_0x2cd629]),'MailQueueId':Number(_0x243b3a[_0xfb88('0x43')]['id'])});}}else{socket[_0xfb88('0x7c')](_0xfb88('0x7d'),{'UserId':Number(_0x243b3a[_0xfb88('0x30')][_0xfb88('0x63')]),'MailQueueId':Number(_0x243b3a[_0xfb88('0x43')]['id'])});}});}})['then'](respondWithStatusCode(_0x314cb6,null))[_0xfb88('0x42')](handleError(_0x314cb6,null));};exports[_0xfb88('0x83')]=function(_0xda98d,_0x49e7cc,_0x2e453f){var _0x41cd97={};var _0x169a43={};var _0x1b6626;var _0x570f36;return db[_0xfb88('0x2b')][_0xfb88('0x52')]({'where':{'id':_0xda98d[_0xfb88('0x43')]['id']}})[_0xfb88('0x23')](handleEntityNotFound(_0x49e7cc,null))[_0xfb88('0x23')](function(_0x437f5e){if(_0x437f5e){_0x1b6626=_0x437f5e;_0x169a43[_0xfb88('0x2e')]=_[_0xfb88('0x31')](db[_0xfb88('0x56')][_0xfb88('0x2c')]);_0x169a43[_0xfb88('0x30')]=_[_0xfb88('0x31')](_0xda98d[_0xfb88('0x30')]);_0x169a43[_0xfb88('0x32')]=_[_0xfb88('0x34')](_0x169a43[_0xfb88('0x2e')],_0x169a43[_0xfb88('0x30')]);_0x41cd97[_0xfb88('0x33')]=_[_0xfb88('0x34')](_0x169a43[_0xfb88('0x2e')],qs[_0xfb88('0x35')](_0xda98d[_0xfb88('0x30')][_0xfb88('0x35')]));_0x41cd97['attributes']=_0x41cd97['attributes'][_0xfb88('0x36')]?_0x41cd97['attributes']:_0x169a43['model'];_0x41cd97['order']=qs[_0xfb88('0x38')](_0xda98d[_0xfb88('0x30')][_0xfb88('0x38')]);_0x41cd97['where']=qs[_0xfb88('0x32')](_[_0xfb88('0x3a')](_0xda98d['query'],_0x169a43[_0xfb88('0x32')]));if(_0xda98d['query'][_0xfb88('0x3b')]){_0x41cd97['where']=_['merge'](_0x41cd97['where'],{'$or':_[_0xfb88('0x2a')](_0x41cd97[_0xfb88('0x33')],function(_0x2f4552){var _0x54298a={};_0x54298a[_0x2f4552]={'$like':'%'+_0xda98d['query'][_0xfb88('0x3b')]+'%'};return _0x54298a;})});}_0x41cd97=_[_0xfb88('0x3c')]({},_0x41cd97,_0xda98d[_0xfb88('0x3e')]);return _0x1b6626[_0xfb88('0x83')](_0x41cd97);}})[_0xfb88('0x23')](function(_0x7369c6){if(_0x7369c6){_0x570f36=_0x7369c6[_0xfb88('0x36')];if(!_0xda98d['query'][_0xfb88('0x61')]('nolimit')){_0x41cd97[_0xfb88('0x1c')]=qs[_0xfb88('0x1c')](_0xda98d[_0xfb88('0x30')][_0xfb88('0x1c')]);_0x41cd97[_0xfb88('0x1e')]=qs['offset'](_0xda98d[_0xfb88('0x30')][_0xfb88('0x1e')]);}return _0x1b6626[_0xfb88('0x83')](_0x41cd97);}})['then'](function(_0x43f94a){if(_0x43f94a){return _0x43f94a?{'count':_0x570f36,'rows':_0x43f94a}:null;}})[_0xfb88('0x23')](respondWithResult(_0x49e7cc,null))['catch'](handleError(_0x49e7cc,null));};