Built motion from commit eddce310.|2.6.12
[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 _0xda65=['tq.TeamId','from','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','includes','union','isEmpty','removeAgents','forEach','addAgents','omit','spread','isArray','userMailQueue:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','path','sox','to-csv','ejs','fs-extra','squel','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','end','json','undefined','limit','offset','count','Content-Range','apply','reject','save','then','destroy','get','MailQueues','UserProfileResource','error','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','VIRTUAL','options','include','findAll','rows','catch','show','params','keys','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','describe','getMembers','findOne','UserMailQueue','User','findAndCountAll','UserId','agent','mailPause','createdAt','format','%s/%s','SIP','updatedAt','getTeams','Team','addTeams','ids','Agents','online','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userMailQueue:save','removeTeams','select','field'];(function(_0x433a86,_0x175b5c){var _0x23000c=function(_0x4b1fa0){while(--_0x4b1fa0){_0x433a86['push'](_0x433a86['shift']());}};_0x23000c(++_0x175b5c);}(_0xda65,0x1d0));var _0x5da6=function(_0x2f0baf,_0x8c9282){_0x2f0baf=_0x2f0baf-0x0;var _0x4454f7=_0xda65[_0x2f0baf];return _0x4454f7;};'use strict';var emlformat=require(_0x5da6('0x0'));var rimraf=require(_0x5da6('0x1'));var zipdir=require(_0x5da6('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x5da6('0x3'));var moment=require(_0x5da6('0x4'));var BPromise=require(_0x5da6('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0x5da6('0x6'));var sox=require(_0x5da6('0x7'));var csv=require(_0x5da6('0x8'));var ejs=require(_0x5da6('0x9'));var fs=require('fs');var fs_extra=require(_0x5da6('0xa'));var _=require('lodash');var squel=require(_0x5da6('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x5da6('0xc'));var toCsv=require('to-csv');var querystring=require(_0x5da6('0xd'));var Papa=require(_0x5da6('0xe'));var Redis=require(_0x5da6('0xf'));var authService=require(_0x5da6('0x10'));var qs=require(_0x5da6('0x11'));var as=require(_0x5da6('0x12'));var hardwareService=require(_0x5da6('0x13'));var logger=require(_0x5da6('0x14'))('api');var utils=require(_0x5da6('0x15'));var config=require(_0x5da6('0x16'));var licenseUtil=require(_0x5da6('0x17'));var db=require(_0x5da6('0x18'))['db'];config[_0x5da6('0x19')]=_[_0x5da6('0x1a')](config[_0x5da6('0x19')],{'host':_0x5da6('0x1b'),'port':0x18eb});var socket=require(_0x5da6('0x1c'))(new Redis(config['redis']));require(_0x5da6('0x1d'))[_0x5da6('0x1e')](socket);function respondWithStatusCode(_0xdb1066,_0x44c6e4){_0x44c6e4=_0x44c6e4||0xcc;return function(_0x2ca041){if(_0x2ca041){return _0xdb1066[_0x5da6('0x1f')](_0x44c6e4);}return _0xdb1066[_0x5da6('0x20')](_0x44c6e4)[_0x5da6('0x21')]();};}function respondWithResult(_0x4f594e,_0x272b50){_0x272b50=_0x272b50||0xc8;return function(_0x478ce5){if(_0x478ce5){return _0x4f594e['status'](_0x272b50)[_0x5da6('0x22')](_0x478ce5);}};}function respondWithFilteredResult(_0x31b743,_0x41534d){return function(_0x4c3b2d){if(_0x4c3b2d){var _0x4bc49a=typeof _0x41534d['offset']===_0x5da6('0x23')&&typeof _0x41534d[_0x5da6('0x24')]===_0x5da6('0x23');var _0x3c93e2=_0x4c3b2d['count'];var _0x46e149=_0x4bc49a?0x0:_0x41534d[_0x5da6('0x25')];var _0x45a282=_0x4bc49a?_0x4c3b2d[_0x5da6('0x26')]:_0x41534d[_0x5da6('0x25')]+_0x41534d[_0x5da6('0x24')];var _0x163f8a;if(_0x45a282>=_0x3c93e2){_0x45a282=_0x3c93e2;_0x163f8a=0xc8;}else{_0x163f8a=0xce;}_0x31b743[_0x5da6('0x20')](_0x163f8a);return _0x31b743['set'](_0x5da6('0x27'),_0x46e149+'-'+_0x45a282+'/'+_0x3c93e2)['json'](_0x4c3b2d);}return null;};}function patchUpdates(_0x92171e){return function(_0x3fbf9c){try{jsonpatch[_0x5da6('0x28')](_0x3fbf9c,_0x92171e,!![]);}catch(_0xdbaece){return BPromise[_0x5da6('0x29')](_0xdbaece);}return _0x3fbf9c[_0x5da6('0x2a')]();};}function saveUpdates(_0x1d394e,_0x2daa71){return function(_0x5dbe79){if(_0x5dbe79){return _0x5dbe79['update'](_0x1d394e)[_0x5da6('0x2b')](function(_0x256073){return _0x256073;});}return null;};}function removeEntity(_0x524c10,_0x559855){return function(_0x2db51e){if(_0x2db51e){return _0x2db51e[_0x5da6('0x2c')]()[_0x5da6('0x2b')](function(){var _0x27a175=_0x2db51e[_0x5da6('0x2d')]({'plain':!![]});var _0x495138=_0x5da6('0x2e');return db[_0x5da6('0x2f')][_0x5da6('0x2c')]({'where':{'type':_0x495138,'resourceId':_0x27a175['id']}})['then'](function(){return _0x2db51e;});})[_0x5da6('0x2b')](function(){_0x524c10[_0x5da6('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0x1abd20,_0x34545f){return function(_0x440895){if(!_0x440895){_0x1abd20[_0x5da6('0x1f')](0x194);}return _0x440895;};}function handleError(_0x2be5ac,_0x48937c){_0x48937c=_0x48937c||0x1f4;return function(_0x26cb1a){logger[_0x5da6('0x30')](_0x26cb1a[_0x5da6('0x31')]);if(_0x26cb1a[_0x5da6('0x32')]){delete _0x26cb1a[_0x5da6('0x32')];}_0x2be5ac[_0x5da6('0x20')](_0x48937c)[_0x5da6('0x33')](_0x26cb1a);};}exports[_0x5da6('0x34')]=function(_0x5d6b39,_0x42af0d){var _0x1a4327={},_0x4874a9={},_0x50ce40={'count':0x0,'rows':[]};var _0x1a1fb6=_[_0x5da6('0x35')](db[_0x5da6('0x36')][_0x5da6('0x37')],function(_0x123718){return{'name':_0x123718[_0x5da6('0x38')],'type':_0x123718[_0x5da6('0x39')][_0x5da6('0x3a')]};});_0x4874a9[_0x5da6('0x3b')]=_['map'](_0x1a1fb6,'name');_0x4874a9[_0x5da6('0x3c')]=_['keys'](_0x5d6b39['query']);_0x4874a9[_0x5da6('0x3d')]=_[_0x5da6('0x3e')](_0x4874a9['model'],_0x4874a9['query']);_0x1a4327[_0x5da6('0x3f')]=_['intersection'](_0x4874a9['model'],qs[_0x5da6('0x40')](_0x5d6b39[_0x5da6('0x3c')]['fields']));_0x1a4327[_0x5da6('0x3f')]=_0x1a4327[_0x5da6('0x3f')][_0x5da6('0x41')]?_0x1a4327[_0x5da6('0x3f')]:_0x4874a9['model'];if(!_0x5d6b39[_0x5da6('0x3c')][_0x5da6('0x42')](_0x5da6('0x43'))){_0x1a4327['limit']=qs[_0x5da6('0x24')](_0x5d6b39[_0x5da6('0x3c')][_0x5da6('0x24')]);_0x1a4327[_0x5da6('0x25')]=qs[_0x5da6('0x25')](_0x5d6b39[_0x5da6('0x3c')]['offset']);}_0x1a4327[_0x5da6('0x44')]=qs[_0x5da6('0x45')](_0x5d6b39[_0x5da6('0x3c')]['sort']);_0x1a4327['where']=qs['filters'](_[_0x5da6('0x46')](_0x5d6b39['query'],_0x4874a9[_0x5da6('0x3d')]),_0x1a1fb6);if(_0x5d6b39['query'][_0x5da6('0x47')]){_0x1a4327['where']=_[_0x5da6('0x48')](_0x1a4327[_0x5da6('0x49')],{'$or':_['map'](_0x1a1fb6,function(_0x17d7bb){if(_0x17d7bb[_0x5da6('0x39')]!==_0x5da6('0x4a')){var _0x380552={};_0x380552[_0x17d7bb[_0x5da6('0x32')]]={'$like':'%'+_0x5d6b39[_0x5da6('0x3c')][_0x5da6('0x47')]+'%'};return _0x380552;}})});}_0x1a4327=_[_0x5da6('0x48')]({},_0x1a4327,_0x5d6b39[_0x5da6('0x4b')]);var _0x3071ed={'where':_0x1a4327[_0x5da6('0x49')]};return db[_0x5da6('0x36')][_0x5da6('0x26')](_0x3071ed)[_0x5da6('0x2b')](function(_0x9d38b0){_0x50ce40[_0x5da6('0x26')]=_0x9d38b0;if(_0x5d6b39[_0x5da6('0x3c')]['includeAll']){_0x1a4327[_0x5da6('0x4c')]=[{'all':!![]}];}return db[_0x5da6('0x36')][_0x5da6('0x4d')](_0x1a4327);})[_0x5da6('0x2b')](function(_0x5e01d2){_0x50ce40[_0x5da6('0x4e')]=_0x5e01d2;return _0x50ce40;})[_0x5da6('0x2b')](respondWithFilteredResult(_0x42af0d,_0x1a4327))[_0x5da6('0x4f')](handleError(_0x42af0d,null));};exports[_0x5da6('0x50')]=function(_0x4ba139,_0x18278a){var _0x3a2ccf={'raw':!![],'where':{'id':_0x4ba139[_0x5da6('0x51')]['id']}},_0xb8b1df={};_0xb8b1df[_0x5da6('0x3b')]=_[_0x5da6('0x52')](db[_0x5da6('0x36')][_0x5da6('0x37')]);_0xb8b1df[_0x5da6('0x3c')]=_['keys'](_0x4ba139[_0x5da6('0x3c')]);_0xb8b1df[_0x5da6('0x3d')]=_[_0x5da6('0x3e')](_0xb8b1df['model'],_0xb8b1df['query']);_0x3a2ccf[_0x5da6('0x3f')]=_[_0x5da6('0x3e')](_0xb8b1df[_0x5da6('0x3b')],qs[_0x5da6('0x40')](_0x4ba139[_0x5da6('0x3c')]['fields']));_0x3a2ccf['attributes']=_0x3a2ccf['attributes'][_0x5da6('0x41')]?_0x3a2ccf[_0x5da6('0x3f')]:_0xb8b1df[_0x5da6('0x3b')];if(_0x4ba139[_0x5da6('0x3c')][_0x5da6('0x53')]){_0x3a2ccf[_0x5da6('0x4c')]=[{'all':!![]}];}_0x3a2ccf=_['merge']({},_0x3a2ccf,_0x4ba139[_0x5da6('0x4b')]);return db[_0x5da6('0x36')][_0x5da6('0x54')](_0x3a2ccf)['then'](handleEntityNotFound(_0x18278a,null))['then'](respondWithResult(_0x18278a,null))[_0x5da6('0x4f')](handleError(_0x18278a,null));};exports[_0x5da6('0x55')]=function(_0x510051,_0x402e74){return db[_0x5da6('0x36')][_0x5da6('0x55')](_0x510051['body'],{})[_0x5da6('0x2b')](function(_0x57de51){var _0xabf041=_0x510051[_0x5da6('0x56')][_0x5da6('0x2d')]({'plain':!![]});if(!_0xabf041)throw new Error(_0x5da6('0x57'));if(_0xabf041[_0x5da6('0x58')]===_0x5da6('0x56')){var _0x3e936a=_0x57de51[_0x5da6('0x2d')]({'plain':!![]});var _0x18dad6=_0x5da6('0x2e');return db[_0x5da6('0x59')][_0x5da6('0x54')]({'where':{'name':_0x18dad6,'userProfileId':_0xabf041['userProfileId']},'raw':!![]})[_0x5da6('0x2b')](function(_0x467b0e){if(_0x467b0e&&_0x467b0e['autoAssociation']===0x0){return db[_0x5da6('0x2f')][_0x5da6('0x55')]({'name':_0x3e936a[_0x5da6('0x32')],'resourceId':_0x3e936a['id'],'type':_0x467b0e[_0x5da6('0x32')],'sectionId':_0x467b0e['id']},{})['then'](function(){return _0x57de51;});}else{return _0x57de51;}})['catch'](function(_0x4c800f){logger[_0x5da6('0x30')](_0x5da6('0x5a'),_0x4c800f);throw _0x4c800f;});}return _0x57de51;})[_0x5da6('0x2b')](respondWithResult(_0x402e74,0xc9))['catch'](handleError(_0x402e74,null));};exports[_0x5da6('0x5b')]=function(_0x423eb3,_0x3a07d7){if(_0x423eb3[_0x5da6('0x5c')]['id']){delete _0x423eb3[_0x5da6('0x5c')]['id'];}return db[_0x5da6('0x36')]['find']({'where':{'id':_0x423eb3[_0x5da6('0x51')]['id']}})[_0x5da6('0x2b')](handleEntityNotFound(_0x3a07d7,null))[_0x5da6('0x2b')](saveUpdates(_0x423eb3[_0x5da6('0x5c')],null))[_0x5da6('0x2b')](respondWithResult(_0x3a07d7,null))[_0x5da6('0x4f')](handleError(_0x3a07d7,null));};exports[_0x5da6('0x2c')]=function(_0xfccaf6,_0x1d332e){return db['MailQueue']['find']({'where':{'id':_0xfccaf6[_0x5da6('0x51')]['id']}})[_0x5da6('0x2b')](handleEntityNotFound(_0x1d332e,null))['then'](removeEntity(_0x1d332e,null))[_0x5da6('0x4f')](handleError(_0x1d332e,null));};exports[_0x5da6('0x5d')]=function(_0x16840a,_0x33b059){return db[_0x5da6('0x36')]['describe']()['then'](respondWithResult(_0x33b059,null))[_0x5da6('0x4f')](handleError(_0x33b059,null));};exports[_0x5da6('0x5e')]=function(_0x1ccf2e,_0x35b74c,_0x3d0c1d){var _0x1d7547={'raw':!![],'where':{}},_0x298dc4={},_0x1bbe3a;return db[_0x5da6('0x36')][_0x5da6('0x5f')]({'where':{'id':_0x1ccf2e[_0x5da6('0x51')]['id']}})['then'](handleEntityNotFound(_0x35b74c,null))['then'](function(_0x6ed073){if(_0x6ed073){_0x1bbe3a=_0x6ed073[_0x5da6('0x2d')]({'plain':!![]});_0x298dc4[_0x5da6('0x3b')]=_[_0x5da6('0x52')](db[_0x5da6('0x60')][_0x5da6('0x37')]);_0x298dc4[_0x5da6('0x3c')]=_[_0x5da6('0x52')](_0x1ccf2e['query']);_0x298dc4['filters']=_[_0x5da6('0x3e')](_0x298dc4[_0x5da6('0x3b')],_0x298dc4['query']);_0x1d7547[_0x5da6('0x3f')]=_[_0x5da6('0x3e')](_0x298dc4[_0x5da6('0x3b')],qs[_0x5da6('0x40')](_0x1ccf2e[_0x5da6('0x3c')]['fields']));_0x1d7547['attributes']=_0x1d7547['attributes'][_0x5da6('0x41')]?_0x1d7547['attributes']:_0x298dc4['model'];if(!_0x1ccf2e[_0x5da6('0x3c')][_0x5da6('0x42')](_0x5da6('0x43'))){_0x1d7547[_0x5da6('0x24')]=qs[_0x5da6('0x24')](_0x1ccf2e[_0x5da6('0x3c')][_0x5da6('0x24')]);_0x1d7547[_0x5da6('0x25')]=qs['offset'](_0x1ccf2e[_0x5da6('0x3c')]['offset']);}_0x1d7547[_0x5da6('0x44')]=qs[_0x5da6('0x45')](_0x1ccf2e[_0x5da6('0x3c')][_0x5da6('0x45')]);_0x1d7547['where']=qs[_0x5da6('0x3d')](_[_0x5da6('0x46')](_0x1ccf2e['query'],_0x298dc4['filters']));_0x1d7547['where']['MailQueueId']=_0x6ed073['id'];if(_0x1ccf2e[_0x5da6('0x3c')]['filter']){_0x1d7547['where']=_['merge'](_0x1d7547[_0x5da6('0x49')],{'$or':_[_0x5da6('0x35')](_0x1d7547[_0x5da6('0x3f')],function(_0x336864){var _0x4b589c={};_0x4b589c[_0x336864]={'$like':'%'+_0x1ccf2e[_0x5da6('0x3c')][_0x5da6('0x47')]+'%'};return _0x4b589c;})});}_0x1d7547=_[_0x5da6('0x48')]({},_0x1d7547,_0x1ccf2e[_0x5da6('0x4b')]);return db[_0x5da6('0x60')][_0x5da6('0x4d')](_0x1d7547);}})[_0x5da6('0x2b')](function(_0x30a735){if(_0x30a735){return db[_0x5da6('0x61')][_0x5da6('0x62')]({'where':{'id':_[_0x5da6('0x35')](_0x30a735,_0x5da6('0x63')),'role':_0x5da6('0x64')},'attributes':['id',_0x5da6('0x32'),_0x5da6('0x65'),'updatedAt',_0x5da6('0x66')]});}})[_0x5da6('0x2b')](function(_0x2bec75){if(_0x2bec75){return{'count':_0x2bec75[_0x5da6('0x26')],'rows':_[_0x5da6('0x35')](_0x2bec75[_0x5da6('0x4e')],function(_0x276c6e){return{'membername':_0x276c6e[_0x5da6('0x32')],'UserId':_0x276c6e['id'],'queue_name':_0x1bbe3a[_0x5da6('0x32')],'MailQueueId':_0x1bbe3a['id'],'interface':util[_0x5da6('0x67')](_0x5da6('0x68'),_0x5da6('0x69'),_0x276c6e[_0x5da6('0x32')]),'penalty':0x0,'paused':_0x276c6e[_0x5da6('0x65')],'createdAt':_0x276c6e['createdAt'],'updatedAt':_0x276c6e[_0x5da6('0x6a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x5da6('0x2b')](respondWithFilteredResult(_0x35b74c,_0x1d7547))[_0x5da6('0x4f')](handleError(_0x35b74c,null));};exports[_0x5da6('0x6b')]=function(_0x132ebf,_0x7995bc,_0xa085e1){var _0x35c256={};var _0x4f9970={};var _0x476abe;var _0xbdf618;return db[_0x5da6('0x36')][_0x5da6('0x5f')]({'where':{'id':_0x132ebf[_0x5da6('0x51')]['id']}})['then'](handleEntityNotFound(_0x7995bc,null))[_0x5da6('0x2b')](function(_0x21dbaa){if(_0x21dbaa){_0x476abe=_0x21dbaa;_0x4f9970[_0x5da6('0x3b')]=_[_0x5da6('0x52')](db[_0x5da6('0x6c')][_0x5da6('0x37')]);_0x4f9970['query']=_['keys'](_0x132ebf[_0x5da6('0x3c')]);_0x4f9970[_0x5da6('0x3d')]=_[_0x5da6('0x3e')](_0x4f9970[_0x5da6('0x3b')],_0x4f9970[_0x5da6('0x3c')]);_0x35c256[_0x5da6('0x3f')]=_[_0x5da6('0x3e')](_0x4f9970[_0x5da6('0x3b')],qs[_0x5da6('0x40')](_0x132ebf[_0x5da6('0x3c')][_0x5da6('0x40')]));_0x35c256[_0x5da6('0x3f')]=_0x35c256[_0x5da6('0x3f')][_0x5da6('0x41')]?_0x35c256['attributes']:_0x4f9970[_0x5da6('0x3b')];_0x35c256[_0x5da6('0x44')]=qs['sort'](_0x132ebf['query'][_0x5da6('0x45')]);_0x35c256[_0x5da6('0x49')]=qs[_0x5da6('0x3d')](_[_0x5da6('0x46')](_0x132ebf[_0x5da6('0x3c')],_0x4f9970[_0x5da6('0x3d')]));if(_0x132ebf['query'][_0x5da6('0x47')]){_0x35c256[_0x5da6('0x49')]=_[_0x5da6('0x48')](_0x35c256[_0x5da6('0x49')],{'$or':_['map'](_0x35c256[_0x5da6('0x3f')],function(_0x5b5594){var _0x1fbd3c={};_0x1fbd3c[_0x5b5594]={'$like':'%'+_0x132ebf[_0x5da6('0x3c')][_0x5da6('0x47')]+'%'};return _0x1fbd3c;})});}_0x35c256=_[_0x5da6('0x48')]({},_0x35c256,_0x132ebf['options']);return _0x476abe['getTeams'](_0x35c256);}})[_0x5da6('0x2b')](function(_0x286f8c){if(_0x286f8c){_0xbdf618=_0x286f8c[_0x5da6('0x41')];if(!_0x132ebf[_0x5da6('0x3c')][_0x5da6('0x42')]('nolimit')){_0x35c256[_0x5da6('0x24')]=qs[_0x5da6('0x24')](_0x132ebf[_0x5da6('0x3c')][_0x5da6('0x24')]);_0x35c256[_0x5da6('0x25')]=qs[_0x5da6('0x25')](_0x132ebf[_0x5da6('0x3c')][_0x5da6('0x25')]);}return _0x476abe[_0x5da6('0x6b')](_0x35c256);}})[_0x5da6('0x2b')](function(_0x50429b){if(_0x50429b){return _0x50429b?{'count':_0xbdf618,'rows':_0x50429b}:null;}})['then'](respondWithResult(_0x7995bc,null))[_0x5da6('0x4f')](handleError(_0x7995bc,null));};exports[_0x5da6('0x6d')]=function(_0x20b651,_0x7988cf,_0x21e358){var _0x4bf4b1=_0x20b651[_0x5da6('0x5c')][_0x5da6('0x6e')];return db['Team']['findAll']({'where':{'id':_0x4bf4b1},'attributes':['id'],'include':[{'model':db[_0x5da6('0x61')],'as':_0x5da6('0x6f'),'attributes':['id','name',_0x5da6('0x70'),'voicePause',_0x5da6('0x71')],'raw':!![]}]})['then'](function(_0x3a89a1){if(_0x3a89a1){var _0x1b5c2b=_[_0x5da6('0x72')](_0x3a89a1,function(_0x52f65b){var _0x1fce91=_0x52f65b['get']({'plain':!![]});return _0x1fce91[_0x5da6('0x6f')];});return db[_0x5da6('0x36')]['find']({'where':{'id':_0x20b651[_0x5da6('0x51')]['id']}})['then'](function(_0x53eecb){return db[_0x5da6('0x73')][_0x5da6('0x74')](function(_0xb25ae4){return _0x53eecb[_0x5da6('0x6d')](_0x4bf4b1,{'transaction':_0xb25ae4})[_0x5da6('0x2b')](function(){return BPromise[_0x5da6('0x75')](_0x1b5c2b,function(_0x259fab){return db[_0x5da6('0x60')][_0x5da6('0x76')]({'where':{'UserId':_0x259fab['id'],'MailQueueId':_0x20b651[_0x5da6('0x51')]['id']},'transaction':_0xb25ae4});});})['then'](function(){_0x1b5c2b['forEach'](function(_0x18bdbf){socket[_0x5da6('0x77')](_0x5da6('0x78'),{'UserId':_0x18bdbf['id'],'MailQueueId':_0x53eecb['id']});});});});});}})['then'](respondWithStatusCode(_0x7988cf,null))[_0x5da6('0x4f')](handleError(_0x7988cf,null));};exports[_0x5da6('0x79')]=function(_0x1e2386,_0x14cce7,_0x12385f){return db[_0x5da6('0x6c')]['findAll']({'where':{'id':_0x1e2386[_0x5da6('0x3c')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':_0x5da6('0x6f'),'attributes':['id'],'raw':!![]}]})[_0x5da6('0x2b')](handleEntityNotFound(_0x14cce7,null))[_0x5da6('0x2b')](function(_0x4e5afc){var _0x5b2793=_[_0x5da6('0x35')](_0x4e5afc,'id');var _0x39a1d6=[];var _0x115dcf=[];var _0x253b68=squel[_0x5da6('0x7a')]();_0x253b68[_0x5da6('0x7b')](_0x5da6('0x7c'))[_0x5da6('0x7d')](_0x5da6('0x7e'),'tq')[_0x5da6('0x7f')]('user_has_teams','ut',_0x5da6('0x80'))['where'](_0x5da6('0x81'),_0x1e2386[_0x5da6('0x51')]['id']);for(var _0x19da91=0x0;_0x19da91<_0x4e5afc[_0x5da6('0x41')];_0x19da91+=0x1){let _0x7f127c=_0x4e5afc[_0x19da91];for(var _0x59ba5e=0x0;_0x59ba5e<_0x7f127c['Agents'][_0x5da6('0x41')];_0x59ba5e+=0x1){let _0x5559ee=_0x7f127c[_0x5da6('0x6f')][_0x59ba5e];var _0xdc70a4=_0x253b68[_0x5da6('0x82')]();_0xdc70a4['where']('ut.UserId\x20=\x20?',_0x5559ee['id']);_0x115dcf[_0x5da6('0x83')](db['sequelize'][_0x5da6('0x3c')](_0xdc70a4[_0x5da6('0x84')](),{'type':db[_0x5da6('0x73')][_0x5da6('0x85')][_0x5da6('0x86')]})[_0x5da6('0x2b')](function(_0x46c542){if(_0x46c542['length']===0x1){return _0x5559ee['id'];}else{var _0x3da2ef=_[_0x5da6('0x87')](_['map'](_0x46c542,'TeamId'),function(_0x5751c3){return _[_0x5da6('0x88')](_0x5b2793,_0x5751c3);});if(_0x3da2ef){return _0x5559ee['id'];}}}));}}return BPromise['all'](_0x115dcf)['then'](function(_0x4edd4a){_0x39a1d6=_(_0x39a1d6)[_0x5da6('0x89')](_0x4edd4a)['compact']()['value']();return db['MailQueue'][_0x5da6('0x54')]({'where':{'id':_0x1e2386['params']['id']}})['then'](function(_0x2141d8){return db[_0x5da6('0x73')][_0x5da6('0x74')](function(_0x4c06f2){return _0x2141d8[_0x5da6('0x79')](_0x1e2386[_0x5da6('0x3c')]['ids'],{'transaction':_0x4c06f2})['then'](function(){if(!_[_0x5da6('0x8a')](_0x39a1d6)){return _0x2141d8[_0x5da6('0x8b')](_0x39a1d6,{'transaction':_0x4c06f2});}})[_0x5da6('0x2b')](function(){_0x39a1d6[_0x5da6('0x8c')](function(_0x3ad7d9){socket[_0x5da6('0x77')]('userMailQueue:remove',{'UserId':_0x3ad7d9,'MailQueueId':_0x2141d8['id']});});});});});});})[_0x5da6('0x2b')](respondWithStatusCode(_0x14cce7,null))[_0x5da6('0x4f')](handleError(_0x14cce7,null));};exports[_0x5da6('0x8d')]=function(_0x37eb10,_0xa1e089,_0x5824d7){return db[_0x5da6('0x36')][_0x5da6('0x54')]({'where':{'id':_0x37eb10['params']['id']}})[_0x5da6('0x2b')](handleEntityNotFound(_0xa1e089,null))['then'](function(_0x4580a0){if(_0x4580a0){return _0x4580a0['addAgents'](_0x37eb10[_0x5da6('0x5c')][_0x5da6('0x6e')],_[_0x5da6('0x8e')](_0x37eb10[_0x5da6('0x5c')],[_0x5da6('0x6e'),'id'])||{})[_0x5da6('0x8f')](function(_0x2388ad){for(var _0x3dacf4=0x0;_0x3dacf4<_0x37eb10['body']['ids'][_0x5da6('0x41')];_0x3dacf4+=0x1){socket[_0x5da6('0x77')](_0x5da6('0x78'),{'UserId':Number(_0x37eb10[_0x5da6('0x5c')][_0x5da6('0x6e')][_0x3dacf4]),'MailQueueId':Number(_0x37eb10[_0x5da6('0x51')]['id'])});}return _0x2388ad;});}})['then'](respondWithResult(_0xa1e089,null))[_0x5da6('0x4f')](handleError(_0xa1e089,null));};exports[_0x5da6('0x8b')]=function(_0x3e9354,_0x3117e1,_0x350095){return db[_0x5da6('0x36')][_0x5da6('0x54')]({'where':{'id':_0x3e9354[_0x5da6('0x51')]['id']}})['then'](handleEntityNotFound(_0x3117e1,null))[_0x5da6('0x2b')](function(_0x55df07){if(_0x55df07){return _0x55df07[_0x5da6('0x8b')](_0x3e9354[_0x5da6('0x3c')][_0x5da6('0x6e')])[_0x5da6('0x2b')](function(){if(_[_0x5da6('0x90')](_0x3e9354[_0x5da6('0x3c')][_0x5da6('0x6e')])){for(var _0x225c3c=0x0;_0x225c3c<_0x3e9354[_0x5da6('0x3c')]['ids'][_0x5da6('0x41')];_0x225c3c+=0x1){socket[_0x5da6('0x77')](_0x5da6('0x91'),{'UserId':Number(_0x3e9354[_0x5da6('0x3c')][_0x5da6('0x6e')][_0x225c3c]),'MailQueueId':Number(_0x3e9354[_0x5da6('0x51')]['id'])});}}else{socket[_0x5da6('0x77')]('userMailQueue:remove',{'UserId':Number(_0x3e9354[_0x5da6('0x3c')][_0x5da6('0x6e')]),'MailQueueId':Number(_0x3e9354[_0x5da6('0x51')]['id'])});}});}})[_0x5da6('0x2b')](respondWithStatusCode(_0x3117e1,null))[_0x5da6('0x4f')](handleError(_0x3117e1,null));};exports[_0x5da6('0x92')]=function(_0x4db926,_0x3ea695,_0x3bb873){var _0x307f81={};var _0x502eb4={};var _0x5d088b;var _0x4e06c5;return db['MailQueue']['findOne']({'where':{'id':_0x4db926[_0x5da6('0x51')]['id']}})[_0x5da6('0x2b')](handleEntityNotFound(_0x3ea695,null))['then'](function(_0x1b4285){if(_0x1b4285){_0x5d088b=_0x1b4285;_0x502eb4[_0x5da6('0x3b')]=_['keys'](db[_0x5da6('0x61')][_0x5da6('0x37')]);_0x502eb4[_0x5da6('0x3c')]=_[_0x5da6('0x52')](_0x4db926[_0x5da6('0x3c')]);_0x502eb4['filters']=_['intersection'](_0x502eb4[_0x5da6('0x3b')],_0x502eb4[_0x5da6('0x3c')]);_0x307f81[_0x5da6('0x3f')]=_[_0x5da6('0x3e')](_0x502eb4[_0x5da6('0x3b')],qs[_0x5da6('0x40')](_0x4db926[_0x5da6('0x3c')][_0x5da6('0x40')]));_0x307f81[_0x5da6('0x3f')]=_0x307f81[_0x5da6('0x3f')][_0x5da6('0x41')]?_0x307f81[_0x5da6('0x3f')]:_0x502eb4[_0x5da6('0x3b')];_0x307f81['order']=qs[_0x5da6('0x45')](_0x4db926['query'][_0x5da6('0x45')]);_0x307f81[_0x5da6('0x49')]=qs[_0x5da6('0x3d')](_[_0x5da6('0x46')](_0x4db926[_0x5da6('0x3c')],_0x502eb4[_0x5da6('0x3d')]));if(_0x4db926[_0x5da6('0x3c')][_0x5da6('0x47')]){_0x307f81[_0x5da6('0x49')]=_[_0x5da6('0x48')](_0x307f81[_0x5da6('0x49')],{'$or':_[_0x5da6('0x35')](_0x307f81[_0x5da6('0x3f')],function(_0x2e3281){var _0x26c8a7={};_0x26c8a7[_0x2e3281]={'$like':'%'+_0x4db926[_0x5da6('0x3c')][_0x5da6('0x47')]+'%'};return _0x26c8a7;})});}_0x307f81=_[_0x5da6('0x48')]({},_0x307f81,_0x4db926[_0x5da6('0x4b')]);return _0x5d088b[_0x5da6('0x92')](_0x307f81);}})[_0x5da6('0x2b')](function(_0x4d273a){if(_0x4d273a){_0x4e06c5=_0x4d273a[_0x5da6('0x41')];if(!_0x4db926['query'][_0x5da6('0x42')]('nolimit')){_0x307f81['limit']=qs['limit'](_0x4db926[_0x5da6('0x3c')]['limit']);_0x307f81[_0x5da6('0x25')]=qs[_0x5da6('0x25')](_0x4db926['query'][_0x5da6('0x25')]);}return _0x5d088b[_0x5da6('0x92')](_0x307f81);}})[_0x5da6('0x2b')](function(_0x19788c){if(_0x19788c){return _0x19788c?{'count':_0x4e06c5,'rows':_0x19788c}:null;}})[_0x5da6('0x2b')](respondWithResult(_0x3ea695,null))['catch'](handleError(_0x3ea695,null));};