d94c8d3f992a1ca36034d64cf01442109d76572c
[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 _0x0c08=['body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','MailQueues','find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserMailQueue','length','findAndCountAll','UserId','agent','updatedAt','rows','format','%s/%s','mailPause','createdAt','getTeams','addTeams','ids','User','Agents','online','voicePause','interface','flatMap','transaction','each','emit','userMailQueue:save','select','tq.TeamId','from','team_has_mail_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','every','includes','compact','removeTeams','isEmpty','forEach','userMailQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','localhost','socket.io-emitter','redis','./mailQueue.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','Content-Range','reject','update','then','destroy','get','error','stack','send','index','MailQueue','rawAttributes','fieldName','type','key','model','map','name','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','catch','show','params','keys','includeAll','create'];(function(_0x3b0731,_0xcf9925){var _0x4204d7=function(_0x635ac5){while(--_0x635ac5){_0x3b0731['push'](_0x3b0731['shift']());}};_0x4204d7(++_0xcf9925);}(_0x0c08,0x1e6));var _0x80c0=function(_0x1e7701,_0x13fd0f){_0x1e7701=_0x1e7701-0x0;var _0x3ab707=_0x0c08[_0x1e7701];return _0x3ab707;};'use strict';var emlformat=require(_0x80c0('0x0'));var rimraf=require(_0x80c0('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x80c0('0x2'));var rp=require(_0x80c0('0x3'));var moment=require(_0x80c0('0x4'));var BPromise=require(_0x80c0('0x5'));var Mustache=require(_0x80c0('0x6'));var util=require('util');var path=require(_0x80c0('0x7'));var sox=require('sox');var csv=require(_0x80c0('0x8'));var ejs=require(_0x80c0('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x80c0('0xa'));var squel=require(_0x80c0('0xb'));var crypto=require(_0x80c0('0xc'));var jsforce=require(_0x80c0('0xd'));var deskjs=require(_0x80c0('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x80c0('0xf'));var Redis=require(_0x80c0('0x10'));var authService=require(_0x80c0('0x11'));var qs=require(_0x80c0('0x12'));var as=require(_0x80c0('0x13'));var hardwareService=require(_0x80c0('0x14'));var logger=require('../../config/logger')(_0x80c0('0x15'));var utils=require(_0x80c0('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x80c0('0x17'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x80c0('0x18'),'port':0x18eb});var socket=require(_0x80c0('0x19'))(new Redis(config[_0x80c0('0x1a')]));require(_0x80c0('0x1b'))[_0x80c0('0x1c')](socket);function respondWithStatusCode(_0xbc152a,_0xea1ec0){_0xea1ec0=_0xea1ec0||0xcc;return function(_0x14eb32){if(_0x14eb32){return _0xbc152a[_0x80c0('0x1d')](_0xea1ec0);}return _0xbc152a[_0x80c0('0x1e')](_0xea1ec0)[_0x80c0('0x1f')]();};}function respondWithResult(_0x169701,_0x4d3341){_0x4d3341=_0x4d3341||0xc8;return function(_0x4e5394){if(_0x4e5394){return _0x169701[_0x80c0('0x1e')](_0x4d3341)[_0x80c0('0x20')](_0x4e5394);}};}function respondWithFilteredResult(_0x204eb6,_0x4f9325){return function(_0x230e77){if(_0x230e77){var _0x254475=typeof _0x4f9325['offset']===_0x80c0('0x21')&&typeof _0x4f9325[_0x80c0('0x22')]==='undefined';var _0x5163bf=_0x230e77[_0x80c0('0x23')];var _0x19ac32=_0x254475?0x0:_0x4f9325[_0x80c0('0x24')];var _0x5cee69=_0x254475?_0x230e77[_0x80c0('0x23')]:_0x4f9325[_0x80c0('0x24')]+_0x4f9325['limit'];var _0x20f480;if(_0x5cee69>=_0x5163bf){_0x5cee69=_0x5163bf;_0x20f480=0xc8;}else{_0x20f480=0xce;}_0x204eb6[_0x80c0('0x1e')](_0x20f480);return _0x204eb6['set'](_0x80c0('0x25'),_0x19ac32+'-'+_0x5cee69+'/'+_0x5163bf)[_0x80c0('0x20')](_0x230e77);}return null;};}function patchUpdates(_0x4879f3){return function(_0x3aabcf){try{jsonpatch['apply'](_0x3aabcf,_0x4879f3,!![]);}catch(_0x147cee){return BPromise[_0x80c0('0x26')](_0x147cee);}return _0x3aabcf['save']();};}function saveUpdates(_0x58bd36,_0x555513){return function(_0x5389f7){if(_0x5389f7){return _0x5389f7[_0x80c0('0x27')](_0x58bd36)[_0x80c0('0x28')](function(_0x588660){return _0x588660;});}return null;};}function removeEntity(_0x2e7c0b,_0x4851aa){return function(_0x2a742a){if(_0x2a742a){return _0x2a742a[_0x80c0('0x29')]()[_0x80c0('0x28')](function(){var _0x2e63ed=_0x2a742a[_0x80c0('0x2a')]({'plain':!![]});var _0x482929='MailQueues';return db['UserProfileResource'][_0x80c0('0x29')]({'where':{'type':_0x482929,'resourceId':_0x2e63ed['id']}})[_0x80c0('0x28')](function(){return _0x2a742a;});})[_0x80c0('0x28')](function(){_0x2e7c0b[_0x80c0('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x12a780,_0x581adc){return function(_0x531c46){if(!_0x531c46){_0x12a780[_0x80c0('0x1d')](0x194);}return _0x531c46;};}function handleError(_0x545f6b,_0x4eeb94){_0x4eeb94=_0x4eeb94||0x1f4;return function(_0x2a5f90){logger[_0x80c0('0x2b')](_0x2a5f90[_0x80c0('0x2c')]);if(_0x2a5f90['name']){delete _0x2a5f90['name'];}_0x545f6b[_0x80c0('0x1e')](_0x4eeb94)[_0x80c0('0x2d')](_0x2a5f90);};}exports[_0x80c0('0x2e')]=function(_0x343c12,_0x4cea18){var _0x593b42={},_0x36decd={},_0x330bf2={'count':0x0,'rows':[]};var _0x323458=_['map'](db[_0x80c0('0x2f')][_0x80c0('0x30')],function(_0x42e29c){return{'name':_0x42e29c[_0x80c0('0x31')],'type':_0x42e29c[_0x80c0('0x32')][_0x80c0('0x33')]};});_0x36decd[_0x80c0('0x34')]=_[_0x80c0('0x35')](_0x323458,_0x80c0('0x36'));_0x36decd[_0x80c0('0x37')]=_['keys'](_0x343c12['query']);_0x36decd[_0x80c0('0x38')]=_[_0x80c0('0x39')](_0x36decd[_0x80c0('0x34')],_0x36decd['query']);_0x593b42[_0x80c0('0x3a')]=_['intersection'](_0x36decd[_0x80c0('0x34')],qs[_0x80c0('0x3b')](_0x343c12[_0x80c0('0x37')]['fields']));_0x593b42['attributes']=_0x593b42[_0x80c0('0x3a')]['length']?_0x593b42[_0x80c0('0x3a')]:_0x36decd['model'];if(!_0x343c12[_0x80c0('0x37')][_0x80c0('0x3c')](_0x80c0('0x3d'))){_0x593b42[_0x80c0('0x22')]=qs[_0x80c0('0x22')](_0x343c12[_0x80c0('0x37')][_0x80c0('0x22')]);_0x593b42[_0x80c0('0x24')]=qs['offset'](_0x343c12['query'][_0x80c0('0x24')]);}_0x593b42[_0x80c0('0x3e')]=qs[_0x80c0('0x3f')](_0x343c12[_0x80c0('0x37')][_0x80c0('0x3f')]);_0x593b42[_0x80c0('0x40')]=qs['filters'](_[_0x80c0('0x41')](_0x343c12['query'],_0x36decd[_0x80c0('0x38')]),_0x323458);if(_0x343c12[_0x80c0('0x37')][_0x80c0('0x42')]){_0x593b42[_0x80c0('0x40')]=_[_0x80c0('0x43')](_0x593b42['where'],{'$or':_[_0x80c0('0x35')](_0x323458,function(_0x133d5e){if(_0x133d5e[_0x80c0('0x32')]!==_0x80c0('0x44')){var _0x270aca={};_0x270aca[_0x133d5e['name']]={'$like':'%'+_0x343c12['query'][_0x80c0('0x42')]+'%'};return _0x270aca;}})});}_0x593b42=_[_0x80c0('0x43')]({},_0x593b42,_0x343c12[_0x80c0('0x45')]);var _0x597a14={'where':_0x593b42[_0x80c0('0x40')]};return db[_0x80c0('0x2f')][_0x80c0('0x23')](_0x597a14)['then'](function(_0x195110){_0x330bf2[_0x80c0('0x23')]=_0x195110;if(_0x343c12['query']['includeAll']){_0x593b42[_0x80c0('0x46')]=[{'all':!![]}];}return db[_0x80c0('0x2f')][_0x80c0('0x47')](_0x593b42);})[_0x80c0('0x28')](function(_0x36eadb){_0x330bf2['rows']=_0x36eadb;return _0x330bf2;})['then'](respondWithFilteredResult(_0x4cea18,_0x593b42))[_0x80c0('0x48')](handleError(_0x4cea18,null));};exports[_0x80c0('0x49')]=function(_0x105218,_0x130e76){var _0x4f6677={'raw':!![],'where':{'id':_0x105218[_0x80c0('0x4a')]['id']}},_0x5aa0f2={};_0x5aa0f2['model']=_[_0x80c0('0x4b')](db[_0x80c0('0x2f')][_0x80c0('0x30')]);_0x5aa0f2[_0x80c0('0x37')]=_['keys'](_0x105218[_0x80c0('0x37')]);_0x5aa0f2[_0x80c0('0x38')]=_['intersection'](_0x5aa0f2['model'],_0x5aa0f2['query']);_0x4f6677[_0x80c0('0x3a')]=_[_0x80c0('0x39')](_0x5aa0f2[_0x80c0('0x34')],qs['fields'](_0x105218[_0x80c0('0x37')]['fields']));_0x4f6677[_0x80c0('0x3a')]=_0x4f6677[_0x80c0('0x3a')]['length']?_0x4f6677['attributes']:_0x5aa0f2[_0x80c0('0x34')];if(_0x105218['query'][_0x80c0('0x4c')]){_0x4f6677['include']=[{'all':!![]}];}_0x4f6677=_[_0x80c0('0x43')]({},_0x4f6677,_0x105218[_0x80c0('0x45')]);return db[_0x80c0('0x2f')]['find'](_0x4f6677)[_0x80c0('0x28')](handleEntityNotFound(_0x130e76,null))[_0x80c0('0x28')](respondWithResult(_0x130e76,null))[_0x80c0('0x48')](handleError(_0x130e76,null));};exports[_0x80c0('0x4d')]=function(_0x33c738,_0x2c0603){return db[_0x80c0('0x2f')][_0x80c0('0x4d')](_0x33c738[_0x80c0('0x4e')],{})[_0x80c0('0x28')](function(_0x44af76){var _0x1478b5=_0x33c738[_0x80c0('0x4f')][_0x80c0('0x2a')]({'plain':!![]});if(!_0x1478b5)throw new Error(_0x80c0('0x50'));if(_0x1478b5[_0x80c0('0x51')]===_0x80c0('0x4f')){var _0x51dcd7=_0x44af76[_0x80c0('0x2a')]({'plain':!![]});var _0x189fa0=_0x80c0('0x52');return db['UserProfileSection'][_0x80c0('0x53')]({'where':{'name':_0x189fa0,'userProfileId':_0x1478b5[_0x80c0('0x54')]},'raw':!![]})[_0x80c0('0x28')](function(_0x38b8af){if(_0x38b8af&&_0x38b8af[_0x80c0('0x55')]===0x0){return db[_0x80c0('0x56')]['create']({'name':_0x51dcd7[_0x80c0('0x36')],'resourceId':_0x51dcd7['id'],'type':_0x38b8af[_0x80c0('0x36')],'sectionId':_0x38b8af['id']},{})[_0x80c0('0x28')](function(){return _0x44af76;});}else{return _0x44af76;}})[_0x80c0('0x48')](function(_0xaa14af){logger[_0x80c0('0x2b')](_0x80c0('0x57'),_0xaa14af);throw _0xaa14af;});}return _0x44af76;})[_0x80c0('0x28')](respondWithResult(_0x2c0603,0xc9))[_0x80c0('0x48')](handleError(_0x2c0603,null));};exports[_0x80c0('0x27')]=function(_0xad0cbe,_0x4781f5){if(_0xad0cbe[_0x80c0('0x4e')]['id']){delete _0xad0cbe[_0x80c0('0x4e')]['id'];}return db[_0x80c0('0x2f')][_0x80c0('0x53')]({'where':{'id':_0xad0cbe['params']['id']}})[_0x80c0('0x28')](handleEntityNotFound(_0x4781f5,null))[_0x80c0('0x28')](saveUpdates(_0xad0cbe[_0x80c0('0x4e')],null))[_0x80c0('0x28')](respondWithResult(_0x4781f5,null))['catch'](handleError(_0x4781f5,null));};exports[_0x80c0('0x29')]=function(_0x581759,_0x571b0d){return db[_0x80c0('0x2f')][_0x80c0('0x53')]({'where':{'id':_0x581759[_0x80c0('0x4a')]['id']}})[_0x80c0('0x28')](handleEntityNotFound(_0x571b0d,null))['then'](removeEntity(_0x571b0d,null))[_0x80c0('0x48')](handleError(_0x571b0d,null));};exports[_0x80c0('0x58')]=function(_0x511272,_0x3ba5d9){return db[_0x80c0('0x2f')][_0x80c0('0x58')]()[_0x80c0('0x28')](respondWithResult(_0x3ba5d9,null))['catch'](handleError(_0x3ba5d9,null));};exports[_0x80c0('0x59')]=function(_0x5a7467,_0x482ce3,_0x1defd1){var _0xf5812={'raw':!![],'where':{}},_0x46e6c2={},_0xb2c114;return db['MailQueue'][_0x80c0('0x5a')]({'where':{'id':_0x5a7467[_0x80c0('0x4a')]['id']}})[_0x80c0('0x28')](handleEntityNotFound(_0x482ce3,null))['then'](function(_0x43c88c){if(_0x43c88c){_0xb2c114=_0x43c88c[_0x80c0('0x2a')]({'plain':!![]});_0x46e6c2['model']=_[_0x80c0('0x4b')](db[_0x80c0('0x5b')]['rawAttributes']);_0x46e6c2[_0x80c0('0x37')]=_['keys'](_0x5a7467[_0x80c0('0x37')]);_0x46e6c2['filters']=_[_0x80c0('0x39')](_0x46e6c2[_0x80c0('0x34')],_0x46e6c2[_0x80c0('0x37')]);_0xf5812[_0x80c0('0x3a')]=_['intersection'](_0x46e6c2[_0x80c0('0x34')],qs[_0x80c0('0x3b')](_0x5a7467[_0x80c0('0x37')][_0x80c0('0x3b')]));_0xf5812[_0x80c0('0x3a')]=_0xf5812['attributes'][_0x80c0('0x5c')]?_0xf5812['attributes']:_0x46e6c2[_0x80c0('0x34')];if(!_0x5a7467[_0x80c0('0x37')]['hasOwnProperty'](_0x80c0('0x3d'))){_0xf5812[_0x80c0('0x22')]=qs['limit'](_0x5a7467[_0x80c0('0x37')][_0x80c0('0x22')]);_0xf5812[_0x80c0('0x24')]=qs[_0x80c0('0x24')](_0x5a7467[_0x80c0('0x37')][_0x80c0('0x24')]);}_0xf5812[_0x80c0('0x3e')]=qs[_0x80c0('0x3f')](_0x5a7467[_0x80c0('0x37')][_0x80c0('0x3f')]);_0xf5812['where']=qs[_0x80c0('0x38')](_[_0x80c0('0x41')](_0x5a7467[_0x80c0('0x37')],_0x46e6c2[_0x80c0('0x38')]));_0xf5812['where']['MailQueueId']=_0x43c88c['id'];if(_0x5a7467[_0x80c0('0x37')][_0x80c0('0x42')]){_0xf5812['where']=_['merge'](_0xf5812[_0x80c0('0x40')],{'$or':_[_0x80c0('0x35')](_0xf5812[_0x80c0('0x3a')],function(_0x58a76c){var _0x48fadb={};_0x48fadb[_0x58a76c]={'$like':'%'+_0x5a7467[_0x80c0('0x37')]['filter']+'%'};return _0x48fadb;})});}_0xf5812=_[_0x80c0('0x43')]({},_0xf5812,_0x5a7467[_0x80c0('0x45')]);return db[_0x80c0('0x5b')][_0x80c0('0x47')](_0xf5812);}})[_0x80c0('0x28')](function(_0x2658cc){if(_0x2658cc){return db['User'][_0x80c0('0x5d')]({'where':{'id':_[_0x80c0('0x35')](_0x2658cc,_0x80c0('0x5e')),'role':_0x80c0('0x5f')},'attributes':['id',_0x80c0('0x36'),'mailPause',_0x80c0('0x60'),'createdAt']});}})[_0x80c0('0x28')](function(_0x552e4e){if(_0x552e4e){return{'count':_0x552e4e['count'],'rows':_['map'](_0x552e4e[_0x80c0('0x61')],function(_0x1793cb){return{'membername':_0x1793cb[_0x80c0('0x36')],'UserId':_0x1793cb['id'],'queue_name':_0xb2c114[_0x80c0('0x36')],'MailQueueId':_0xb2c114['id'],'interface':util[_0x80c0('0x62')](_0x80c0('0x63'),'SIP',_0x1793cb[_0x80c0('0x36')]),'penalty':0x0,'paused':_0x1793cb[_0x80c0('0x64')],'createdAt':_0x1793cb[_0x80c0('0x65')],'updatedAt':_0x1793cb[_0x80c0('0x60')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x80c0('0x28')](respondWithFilteredResult(_0x482ce3,_0xf5812))[_0x80c0('0x48')](handleError(_0x482ce3,null));};exports[_0x80c0('0x66')]=function(_0x5b7d11,_0x5a02c1,_0x538567){var _0x1a8573={};var _0x26189e={};var _0x54ca8c;var _0x5a5744;return db['MailQueue'][_0x80c0('0x5a')]({'where':{'id':_0x5b7d11[_0x80c0('0x4a')]['id']}})['then'](handleEntityNotFound(_0x5a02c1,null))['then'](function(_0x12cf4c){if(_0x12cf4c){_0x54ca8c=_0x12cf4c;_0x26189e[_0x80c0('0x34')]=_[_0x80c0('0x4b')](db['Team'][_0x80c0('0x30')]);_0x26189e[_0x80c0('0x37')]=_[_0x80c0('0x4b')](_0x5b7d11[_0x80c0('0x37')]);_0x26189e['filters']=_[_0x80c0('0x39')](_0x26189e[_0x80c0('0x34')],_0x26189e['query']);_0x1a8573[_0x80c0('0x3a')]=_[_0x80c0('0x39')](_0x26189e['model'],qs['fields'](_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x3b')]));_0x1a8573[_0x80c0('0x3a')]=_0x1a8573[_0x80c0('0x3a')][_0x80c0('0x5c')]?_0x1a8573[_0x80c0('0x3a')]:_0x26189e['model'];_0x1a8573['order']=qs['sort'](_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x3f')]);_0x1a8573['where']=qs['filters'](_[_0x80c0('0x41')](_0x5b7d11[_0x80c0('0x37')],_0x26189e[_0x80c0('0x38')]));if(_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x42')]){_0x1a8573[_0x80c0('0x40')]=_[_0x80c0('0x43')](_0x1a8573[_0x80c0('0x40')],{'$or':_['map'](_0x1a8573[_0x80c0('0x3a')],function(_0x119398){var _0x3f1dc8={};_0x3f1dc8[_0x119398]={'$like':'%'+_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x42')]+'%'};return _0x3f1dc8;})});}_0x1a8573=_[_0x80c0('0x43')]({},_0x1a8573,_0x5b7d11[_0x80c0('0x45')]);return _0x54ca8c[_0x80c0('0x66')](_0x1a8573);}})[_0x80c0('0x28')](function(_0x445d0d){if(_0x445d0d){_0x5a5744=_0x445d0d[_0x80c0('0x5c')];if(!_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x3c')](_0x80c0('0x3d'))){_0x1a8573['limit']=qs[_0x80c0('0x22')](_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x22')]);_0x1a8573[_0x80c0('0x24')]=qs['offset'](_0x5b7d11[_0x80c0('0x37')][_0x80c0('0x24')]);}return _0x54ca8c[_0x80c0('0x66')](_0x1a8573);}})[_0x80c0('0x28')](function(_0x1b9d15){if(_0x1b9d15){return _0x1b9d15?{'count':_0x5a5744,'rows':_0x1b9d15}:null;}})['then'](respondWithResult(_0x5a02c1,null))['catch'](handleError(_0x5a02c1,null));};exports[_0x80c0('0x67')]=function(_0x4af49d,_0x203570,_0x533896){var _0x4fcf38=_0x4af49d['body'][_0x80c0('0x68')];return db['Team'][_0x80c0('0x47')]({'where':{'id':_0x4fcf38},'attributes':['id'],'include':[{'model':db[_0x80c0('0x69')],'as':_0x80c0('0x6a'),'attributes':['id',_0x80c0('0x36'),_0x80c0('0x6b'),_0x80c0('0x6c'),_0x80c0('0x6d')],'raw':!![]}]})[_0x80c0('0x28')](function(_0x14b2b0){if(_0x14b2b0){var _0x1fd4ac=_[_0x80c0('0x6e')](_0x14b2b0,function(_0x7b3aa7){var _0x56e14c=_0x7b3aa7[_0x80c0('0x2a')]({'plain':!![]});return _0x56e14c[_0x80c0('0x6a')];});return db[_0x80c0('0x2f')][_0x80c0('0x53')]({'where':{'id':_0x4af49d['params']['id']}})[_0x80c0('0x28')](function(_0x3d42d0){return db['sequelize'][_0x80c0('0x6f')](function(_0x6aea6a){return _0x3d42d0[_0x80c0('0x67')](_0x4fcf38,{'transaction':_0x6aea6a})[_0x80c0('0x28')](function(){return BPromise[_0x80c0('0x70')](_0x1fd4ac,function(_0x3906d6){return db['UserMailQueue']['findOrCreate']({'where':{'UserId':_0x3906d6['id'],'MailQueueId':_0x4af49d['params']['id']},'transaction':_0x6aea6a});});})[_0x80c0('0x28')](function(){_0x1fd4ac['forEach'](function(_0x47946c){socket[_0x80c0('0x71')](_0x80c0('0x72'),{'UserId':_0x47946c['id'],'MailQueueId':_0x3d42d0['id']});});});});});}})[_0x80c0('0x28')](respondWithStatusCode(_0x203570,null))[_0x80c0('0x48')](handleError(_0x203570,null));};exports['removeTeams']=function(_0x4f64be,_0x3444f0,_0x4d9bfb){return db['Team'][_0x80c0('0x47')]({'where':{'id':_0x4f64be[_0x80c0('0x37')][_0x80c0('0x68')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x80c0('0x6a'),'attributes':['id'],'raw':!![]}]})[_0x80c0('0x28')](handleEntityNotFound(_0x3444f0,null))[_0x80c0('0x28')](function(_0x5423d8){var _0x9f3bf4=_[_0x80c0('0x35')](_0x5423d8,'id');var _0x135b80=[];var _0x786d70=[];var _0x37f0e5=squel[_0x80c0('0x73')]();_0x37f0e5['field'](_0x80c0('0x74'))[_0x80c0('0x75')](_0x80c0('0x76'),'tq')['join'](_0x80c0('0x77'),'ut',_0x80c0('0x78'))[_0x80c0('0x40')](_0x80c0('0x79'),_0x4f64be[_0x80c0('0x4a')]['id']);for(var _0x255ac1=0x0;_0x255ac1<_0x5423d8['length'];_0x255ac1+=0x1){let _0x3409b6=_0x5423d8[_0x255ac1];for(var _0x273195=0x0;_0x273195<_0x3409b6[_0x80c0('0x6a')]['length'];_0x273195+=0x1){let _0x2dc69d=_0x3409b6['Agents'][_0x273195];var _0x1e8eac=_0x37f0e5['clone']();_0x1e8eac[_0x80c0('0x40')](_0x80c0('0x7a'),_0x2dc69d['id']);_0x786d70[_0x80c0('0x7b')](db[_0x80c0('0x7c')][_0x80c0('0x37')](_0x1e8eac[_0x80c0('0x7d')](),{'type':db['sequelize'][_0x80c0('0x7e')][_0x80c0('0x7f')]})['then'](function(_0x26faf8){if(_0x26faf8[_0x80c0('0x5c')]===0x1){return _0x2dc69d['id'];}else{var _0x1b4515=_[_0x80c0('0x80')](_['map'](_0x26faf8,'TeamId'),function(_0x3cd328){return _[_0x80c0('0x81')](_0x9f3bf4,_0x3cd328);});if(_0x1b4515){return _0x2dc69d['id'];}}}));}}return BPromise['all'](_0x786d70)[_0x80c0('0x28')](function(_0x3089b2){_0x135b80=_(_0x135b80)['union'](_0x3089b2)[_0x80c0('0x82')]()['value']();return db[_0x80c0('0x2f')][_0x80c0('0x53')]({'where':{'id':_0x4f64be[_0x80c0('0x4a')]['id']}})[_0x80c0('0x28')](function(_0x51796b){return db[_0x80c0('0x7c')][_0x80c0('0x6f')](function(_0x330c3a){return _0x51796b[_0x80c0('0x83')](_0x4f64be[_0x80c0('0x37')][_0x80c0('0x68')],{'transaction':_0x330c3a})[_0x80c0('0x28')](function(){if(!_[_0x80c0('0x84')](_0x135b80)){return _0x51796b['removeAgents'](_0x135b80,{'transaction':_0x330c3a});}})['then'](function(){_0x135b80[_0x80c0('0x85')](function(_0x19ded1){socket[_0x80c0('0x71')](_0x80c0('0x86'),{'UserId':_0x19ded1,'MailQueueId':_0x51796b['id']});});});});});});})[_0x80c0('0x28')](respondWithStatusCode(_0x3444f0,null))[_0x80c0('0x48')](handleError(_0x3444f0,null));};exports[_0x80c0('0x87')]=function(_0xa5f631,_0x549ef6,_0x3fabaf){return db['MailQueue']['find']({'where':{'id':_0xa5f631[_0x80c0('0x4a')]['id']}})['then'](handleEntityNotFound(_0x549ef6,null))[_0x80c0('0x28')](function(_0x1d03cc){if(_0x1d03cc){return _0x1d03cc[_0x80c0('0x87')](_0xa5f631[_0x80c0('0x4e')][_0x80c0('0x68')],_[_0x80c0('0x88')](_0xa5f631[_0x80c0('0x4e')],['ids','id'])||{})[_0x80c0('0x89')](function(_0x297bbe){for(var _0x306e7a=0x0;_0x306e7a<_0xa5f631[_0x80c0('0x4e')][_0x80c0('0x68')]['length'];_0x306e7a+=0x1){socket[_0x80c0('0x71')](_0x80c0('0x72'),{'UserId':Number(_0xa5f631[_0x80c0('0x4e')][_0x80c0('0x68')][_0x306e7a]),'MailQueueId':Number(_0xa5f631[_0x80c0('0x4a')]['id'])});}return _0x297bbe;});}})[_0x80c0('0x28')](respondWithResult(_0x549ef6,null))[_0x80c0('0x48')](handleError(_0x549ef6,null));};exports[_0x80c0('0x8a')]=function(_0x237163,_0x21109d,_0x29056a){return db[_0x80c0('0x2f')][_0x80c0('0x53')]({'where':{'id':_0x237163['params']['id']}})[_0x80c0('0x28')](handleEntityNotFound(_0x21109d,null))[_0x80c0('0x28')](function(_0x774ad){if(_0x774ad){return _0x774ad[_0x80c0('0x8a')](_0x237163[_0x80c0('0x37')][_0x80c0('0x68')])['then'](function(){if(_[_0x80c0('0x8b')](_0x237163[_0x80c0('0x37')]['ids'])){for(var _0x1ba344=0x0;_0x1ba344<_0x237163['query'][_0x80c0('0x68')]['length'];_0x1ba344+=0x1){socket['emit'](_0x80c0('0x86'),{'UserId':Number(_0x237163[_0x80c0('0x37')]['ids'][_0x1ba344]),'MailQueueId':Number(_0x237163[_0x80c0('0x4a')]['id'])});}}else{socket[_0x80c0('0x71')]('userMailQueue:remove',{'UserId':Number(_0x237163[_0x80c0('0x37')]['ids']),'MailQueueId':Number(_0x237163['params']['id'])});}});}})['then'](respondWithStatusCode(_0x21109d,null))[_0x80c0('0x48')](handleError(_0x21109d,null));};exports[_0x80c0('0x8c')]=function(_0x47b6fe,_0xb823f3,_0x54c2e1){var _0xc105df={};var _0x59d94f={};var _0x48a1fb;var _0x4f1231;return db['MailQueue'][_0x80c0('0x5a')]({'where':{'id':_0x47b6fe[_0x80c0('0x4a')]['id']}})[_0x80c0('0x28')](handleEntityNotFound(_0xb823f3,null))[_0x80c0('0x28')](function(_0x127dbb){if(_0x127dbb){_0x48a1fb=_0x127dbb;_0x59d94f['model']=_[_0x80c0('0x4b')](db['User']['rawAttributes']);_0x59d94f[_0x80c0('0x37')]=_['keys'](_0x47b6fe['query']);_0x59d94f[_0x80c0('0x38')]=_[_0x80c0('0x39')](_0x59d94f['model'],_0x59d94f[_0x80c0('0x37')]);_0xc105df[_0x80c0('0x3a')]=_['intersection'](_0x59d94f['model'],qs[_0x80c0('0x3b')](_0x47b6fe[_0x80c0('0x37')]['fields']));_0xc105df[_0x80c0('0x3a')]=_0xc105df[_0x80c0('0x3a')][_0x80c0('0x5c')]?_0xc105df['attributes']:_0x59d94f[_0x80c0('0x34')];_0xc105df[_0x80c0('0x3e')]=qs['sort'](_0x47b6fe['query'][_0x80c0('0x3f')]);_0xc105df[_0x80c0('0x40')]=qs[_0x80c0('0x38')](_['pick'](_0x47b6fe['query'],_0x59d94f[_0x80c0('0x38')]));if(_0x47b6fe[_0x80c0('0x37')][_0x80c0('0x42')]){_0xc105df[_0x80c0('0x40')]=_[_0x80c0('0x43')](_0xc105df[_0x80c0('0x40')],{'$or':_['map'](_0xc105df[_0x80c0('0x3a')],function(_0x3afec9){var _0xd5c549={};_0xd5c549[_0x3afec9]={'$like':'%'+_0x47b6fe['query'][_0x80c0('0x42')]+'%'};return _0xd5c549;})});}_0xc105df=_[_0x80c0('0x43')]({},_0xc105df,_0x47b6fe[_0x80c0('0x45')]);return _0x48a1fb[_0x80c0('0x8c')](_0xc105df);}})[_0x80c0('0x28')](function(_0xe78d34){if(_0xe78d34){_0x4f1231=_0xe78d34['length'];if(!_0x47b6fe['query'][_0x80c0('0x3c')](_0x80c0('0x3d'))){_0xc105df[_0x80c0('0x22')]=qs[_0x80c0('0x22')](_0x47b6fe[_0x80c0('0x37')][_0x80c0('0x22')]);_0xc105df[_0x80c0('0x24')]=qs[_0x80c0('0x24')](_0x47b6fe[_0x80c0('0x37')][_0x80c0('0x24')]);}return _0x48a1fb[_0x80c0('0x8c')](_0xc105df);}})['then'](function(_0xb15c93){if(_0xb15c93){return _0xb15c93?{'count':_0x4f1231,'rows':_0xb15c93}:null;}})[_0x80c0('0x28')](respondWithResult(_0xb823f3,null))[_0x80c0('0x48')](handleError(_0xb823f3,null));};