Built motion from commit (unavailable).|2.5.0
[motion2.git] / server / api / mailQueue / mailQueue.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xada4=['MailQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','all','compact','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','userMailQueue:save','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','register','sendStatus','status','end','json','offset','limit','set','apply','reject','save','update','destroy','get','MailQueues','UserProfileResource','then','stack','name','send','map','MailQueue','fieldName','type','keys','filters','intersection','model','query','fields','attributes','length','order','sort','where','pick','filter','merge','count','includeAll','include','findAll','rows','show','params','rawAttributes','options','find','catch','body','user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserMailQueue','hasOwnProperty','nolimit','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','SIP','findOne','Team','getTeams','User','voicePause','interface','sequelize','transaction','each','findOrCreate','forEach','emit','removeTeams','ids','Agents','select','field','join','user_has_teams'];(function(_0x7f537a,_0x20b5cc){var _0x3b4d37=function(_0x58022c){while(--_0x58022c){_0x7f537a['push'](_0x7f537a['shift']());}};_0x3b4d37(++_0x20b5cc);}(_0xada4,0x97));var _0x4ada=function(_0xa52502,_0x46e116){_0xa52502=_0xa52502-0x0;var _0x26d411=_0xada4[_0xa52502];return _0x26d411;};'use strict';var pdf=require(_0x4ada('0x0'));var emlformat=require(_0x4ada('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x4ada('0x2'));var jsonpatch=require(_0x4ada('0x3'));var rp=require(_0x4ada('0x4'));var moment=require(_0x4ada('0x5'));var BPromise=require(_0x4ada('0x6'));var Mustache=require(_0x4ada('0x7'));var util=require('util');var path=require(_0x4ada('0x8'));var sox=require('sox');var csv=require(_0x4ada('0x9'));var ejs=require(_0x4ada('0xa'));var fs=require('fs');var _=require(_0x4ada('0xb'));var squel=require(_0x4ada('0xc'));var crypto=require(_0x4ada('0xd'));var jsforce=require(_0x4ada('0xe'));var deskjs=require(_0x4ada('0xf'));var toCsv=require(_0x4ada('0x9'));var querystring=require(_0x4ada('0x10'));var Papa=require(_0x4ada('0x11'));var Redis=require(_0x4ada('0x12'));var authService=require(_0x4ada('0x13'));var qs=require(_0x4ada('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x4ada('0x15'));var logger=require('../../config/logger')(_0x4ada('0x16'));var utils=require(_0x4ada('0x17'));var config=require(_0x4ada('0x18'));var db=require(_0x4ada('0x19'))['db'];config[_0x4ada('0x1a')]=_[_0x4ada('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0x4ada('0x1c'))(new Redis(config[_0x4ada('0x1a')]));require('./mailQueue.socket')[_0x4ada('0x1d')](socket);function respondWithStatusCode(_0x4ebb8f,_0x414bd9){_0x414bd9=_0x414bd9||0xcc;return function(_0x5cb136){if(_0x5cb136){return _0x4ebb8f[_0x4ada('0x1e')](_0x414bd9);}return _0x4ebb8f[_0x4ada('0x1f')](_0x414bd9)[_0x4ada('0x20')]();};}function respondWithResult(_0x48be09,_0x16f51f){_0x16f51f=_0x16f51f||0xc8;return function(_0x4fa1b1){if(_0x4fa1b1){return _0x48be09['status'](_0x16f51f)[_0x4ada('0x21')](_0x4fa1b1);}};}function respondWithFilteredResult(_0x59e08e,_0x439e83){return function(_0x1f2efa){if(_0x1f2efa){var _0xdd21c8=_0x1f2efa['count'],_0x21923b=_0x439e83[_0x4ada('0x22')],_0x25fc10=_0x439e83[_0x4ada('0x22')]+_0x439e83[_0x4ada('0x23')],_0x4fc17f;if(_0x25fc10>=_0xdd21c8){_0x25fc10=_0xdd21c8;_0x4fc17f=0xc8;}else{_0x4fc17f=0xce;}_0x59e08e[_0x4ada('0x1f')](_0x4fc17f);return _0x59e08e[_0x4ada('0x24')]('Content-Range',_0x21923b+'-'+_0x25fc10+'/'+_0xdd21c8)[_0x4ada('0x21')](_0x1f2efa);}return null;};}function patchUpdates(_0x461d01){return function(_0x430c4b){try{jsonpatch[_0x4ada('0x25')](_0x430c4b,_0x461d01,!![]);}catch(_0x1898e8){return BPromise[_0x4ada('0x26')](_0x1898e8);}return _0x430c4b[_0x4ada('0x27')]();};}function saveUpdates(_0x1d8972,_0x91945e){return function(_0x2f485b){if(_0x2f485b){return _0x2f485b[_0x4ada('0x28')](_0x1d8972)['then'](function(_0x33cd4f){return _0x33cd4f;});}return null;};}function removeEntity(_0x187db5,_0x135da7){return function(_0x16601a){if(_0x16601a){return _0x16601a[_0x4ada('0x29')]()['then'](function(){var _0x4edea2=_0x16601a[_0x4ada('0x2a')]({'plain':!![]});var _0x4041a2=_0x4ada('0x2b');return db[_0x4ada('0x2c')][_0x4ada('0x29')]({'where':{'type':_0x4041a2,'resourceId':_0x4edea2['id']}})[_0x4ada('0x2d')](function(){return _0x16601a;});})[_0x4ada('0x2d')](function(){_0x187db5[_0x4ada('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5e2fa1,_0x31d7e1){return function(_0x39628e){if(!_0x39628e){_0x5e2fa1['sendStatus'](0x194);}return _0x39628e;};}function handleError(_0x3464a6,_0x3cc32d){_0x3cc32d=_0x3cc32d||0x1f4;return function(_0x183d02){logger['error'](_0x183d02[_0x4ada('0x2e')]);if(_0x183d02[_0x4ada('0x2f')]){delete _0x183d02[_0x4ada('0x2f')];}_0x3464a6['status'](_0x3cc32d)[_0x4ada('0x30')](_0x183d02);};}exports['index']=function(_0x28b522,_0x4c67fd){var _0xbb4e8f={},_0x21e4e8={},_0x37803d={'count':0x0,'rows':[]};var _0x3ddc76=_[_0x4ada('0x31')](db[_0x4ada('0x32')]['rawAttributes'],function(_0x2c1b24){return{'name':_0x2c1b24[_0x4ada('0x33')],'type':_0x2c1b24[_0x4ada('0x34')]['key']};});_0x21e4e8['model']=_[_0x4ada('0x31')](_0x3ddc76,_0x4ada('0x2f'));_0x21e4e8['query']=_[_0x4ada('0x35')](_0x28b522['query']);_0x21e4e8[_0x4ada('0x36')]=_[_0x4ada('0x37')](_0x21e4e8[_0x4ada('0x38')],_0x21e4e8[_0x4ada('0x39')]);_0xbb4e8f['attributes']=_[_0x4ada('0x37')](_0x21e4e8[_0x4ada('0x38')],qs[_0x4ada('0x3a')](_0x28b522[_0x4ada('0x39')][_0x4ada('0x3a')]));_0xbb4e8f[_0x4ada('0x3b')]=_0xbb4e8f[_0x4ada('0x3b')][_0x4ada('0x3c')]?_0xbb4e8f['attributes']:_0x21e4e8['model'];if(!_0x28b522[_0x4ada('0x39')]['hasOwnProperty']('nolimit')){_0xbb4e8f['limit']=qs['limit'](_0x28b522['query'][_0x4ada('0x23')]);_0xbb4e8f[_0x4ada('0x22')]=qs[_0x4ada('0x22')](_0x28b522[_0x4ada('0x39')][_0x4ada('0x22')]);}_0xbb4e8f[_0x4ada('0x3d')]=qs[_0x4ada('0x3e')](_0x28b522['query']['sort']);_0xbb4e8f[_0x4ada('0x3f')]=qs[_0x4ada('0x36')](_[_0x4ada('0x40')](_0x28b522['query'],_0x21e4e8['filters']));if(_0x28b522[_0x4ada('0x39')][_0x4ada('0x41')]){_0xbb4e8f[_0x4ada('0x3f')]=_[_0x4ada('0x42')](_0xbb4e8f[_0x4ada('0x3f')],{'$or':_[_0x4ada('0x31')](_0x3ddc76,function(_0x3b9057){if(_0x3b9057[_0x4ada('0x34')]!=='VIRTUAL'){var _0x31947b={};_0x31947b[_0x3b9057[_0x4ada('0x2f')]]={'$like':'%'+_0x28b522[_0x4ada('0x39')]['filter']+'%'};return _0x31947b;}})});}_0xbb4e8f=_[_0x4ada('0x42')]({},_0xbb4e8f,_0x28b522['options']);var _0x38fa45={'where':_0xbb4e8f[_0x4ada('0x3f')]};return db[_0x4ada('0x32')][_0x4ada('0x43')](_0x38fa45)[_0x4ada('0x2d')](function(_0x1640cf){_0x37803d[_0x4ada('0x43')]=_0x1640cf;if(_0x28b522[_0x4ada('0x39')][_0x4ada('0x44')]){_0xbb4e8f[_0x4ada('0x45')]=[{'all':!![]}];}return db['MailQueue'][_0x4ada('0x46')](_0xbb4e8f);})['then'](function(_0x2f0b5f){_0x37803d[_0x4ada('0x47')]=_0x2f0b5f;return _0x37803d;})[_0x4ada('0x2d')](respondWithFilteredResult(_0x4c67fd,_0xbb4e8f))['catch'](handleError(_0x4c67fd,null));};exports[_0x4ada('0x48')]=function(_0x25a7cf,_0x20ccfc){var _0x429ca8={'raw':!![],'where':{'id':_0x25a7cf[_0x4ada('0x49')]['id']}},_0x4253a8={};_0x4253a8[_0x4ada('0x38')]=_[_0x4ada('0x35')](db['MailQueue'][_0x4ada('0x4a')]);_0x4253a8[_0x4ada('0x39')]=_[_0x4ada('0x35')](_0x25a7cf[_0x4ada('0x39')]);_0x4253a8['filters']=_[_0x4ada('0x37')](_0x4253a8[_0x4ada('0x38')],_0x4253a8[_0x4ada('0x39')]);_0x429ca8[_0x4ada('0x3b')]=_[_0x4ada('0x37')](_0x4253a8['model'],qs[_0x4ada('0x3a')](_0x25a7cf[_0x4ada('0x39')][_0x4ada('0x3a')]));_0x429ca8[_0x4ada('0x3b')]=_0x429ca8[_0x4ada('0x3b')][_0x4ada('0x3c')]?_0x429ca8[_0x4ada('0x3b')]:_0x4253a8[_0x4ada('0x38')];if(_0x25a7cf[_0x4ada('0x39')][_0x4ada('0x44')]){_0x429ca8['include']=[{'all':!![]}];}_0x429ca8=_[_0x4ada('0x42')]({},_0x429ca8,_0x25a7cf[_0x4ada('0x4b')]);return db[_0x4ada('0x32')][_0x4ada('0x4c')](_0x429ca8)[_0x4ada('0x2d')](handleEntityNotFound(_0x20ccfc,null))['then'](respondWithResult(_0x20ccfc,null))[_0x4ada('0x4d')](handleError(_0x20ccfc,null));};exports['create']=function(_0x4a2397,_0x4b38e4){return db[_0x4ada('0x32')]['create'](_0x4a2397[_0x4ada('0x4e')],{})[_0x4ada('0x2d')](function(_0x3d67db){var _0xd5eb1d=_0x4a2397[_0x4ada('0x4f')]['get']({'plain':!![]});if(!_0xd5eb1d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xd5eb1d[_0x4ada('0x50')]==='user'){var _0x10f92b=_0x3d67db[_0x4ada('0x2a')]({'plain':!![]});var _0x76f646='MailQueues';return db[_0x4ada('0x51')][_0x4ada('0x4c')]({'where':{'name':_0x76f646,'userProfileId':_0xd5eb1d[_0x4ada('0x52')]},'raw':!![]})[_0x4ada('0x2d')](function(_0x14b92f){if(_0x14b92f&&_0x14b92f[_0x4ada('0x53')]===0x0){return db[_0x4ada('0x2c')]['create']({'name':_0x10f92b[_0x4ada('0x2f')],'resourceId':_0x10f92b['id'],'type':_0x14b92f['name'],'sectionId':_0x14b92f['id']},{})[_0x4ada('0x2d')](function(){return _0x3d67db;});}else{return _0x3d67db;}})[_0x4ada('0x4d')](function(_0x40eb72){logger[_0x4ada('0x54')](_0x4ada('0x55'),_0x40eb72);throw _0x40eb72;});}return _0x3d67db;})['then'](respondWithResult(_0x4b38e4,0xc9))['catch'](handleError(_0x4b38e4,null));};exports[_0x4ada('0x28')]=function(_0x345d39,_0x19503e){if(_0x345d39[_0x4ada('0x4e')]['id']){delete _0x345d39['body']['id'];}return db[_0x4ada('0x32')][_0x4ada('0x4c')]({'where':{'id':_0x345d39[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x19503e,null))[_0x4ada('0x2d')](saveUpdates(_0x345d39[_0x4ada('0x4e')],null))['then'](respondWithResult(_0x19503e,null))[_0x4ada('0x4d')](handleError(_0x19503e,null));};exports[_0x4ada('0x29')]=function(_0x2222f6,_0x1f3b89){return db[_0x4ada('0x32')][_0x4ada('0x4c')]({'where':{'id':_0x2222f6[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x1f3b89,null))[_0x4ada('0x2d')](removeEntity(_0x1f3b89,null))['catch'](handleError(_0x1f3b89,null));};exports[_0x4ada('0x56')]=function(_0x422531,_0x4802ad){return db[_0x4ada('0x32')][_0x4ada('0x56')]()[_0x4ada('0x2d')](respondWithResult(_0x4802ad,null))[_0x4ada('0x4d')](handleError(_0x4802ad,null));};exports[_0x4ada('0x57')]=function(_0x3e440e,_0x307248,_0x16e3d1){var _0x3050c6={'raw':!![],'where':{}},_0x1ea41c={},_0x488fa0;return db[_0x4ada('0x32')]['findOne']({'where':{'id':_0x3e440e[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x307248,null))[_0x4ada('0x2d')](function(_0xb8d5f9){if(_0xb8d5f9){_0x488fa0=_0xb8d5f9[_0x4ada('0x2a')]({'plain':!![]});_0x1ea41c[_0x4ada('0x38')]=_[_0x4ada('0x35')](db[_0x4ada('0x58')][_0x4ada('0x4a')]);_0x1ea41c[_0x4ada('0x39')]=_[_0x4ada('0x35')](_0x3e440e[_0x4ada('0x39')]);_0x1ea41c[_0x4ada('0x36')]=_['intersection'](_0x1ea41c[_0x4ada('0x38')],_0x1ea41c['query']);_0x3050c6['attributes']=_['intersection'](_0x1ea41c[_0x4ada('0x38')],qs['fields'](_0x3e440e[_0x4ada('0x39')][_0x4ada('0x3a')]));_0x3050c6[_0x4ada('0x3b')]=_0x3050c6[_0x4ada('0x3b')][_0x4ada('0x3c')]?_0x3050c6['attributes']:_0x1ea41c[_0x4ada('0x38')];if(!_0x3e440e[_0x4ada('0x39')][_0x4ada('0x59')](_0x4ada('0x5a'))){_0x3050c6[_0x4ada('0x23')]=qs[_0x4ada('0x23')](_0x3e440e[_0x4ada('0x39')][_0x4ada('0x23')]);_0x3050c6[_0x4ada('0x22')]=qs['offset'](_0x3e440e['query']['offset']);}_0x3050c6[_0x4ada('0x3d')]=qs[_0x4ada('0x3e')](_0x3e440e[_0x4ada('0x39')][_0x4ada('0x3e')]);_0x3050c6[_0x4ada('0x3f')]=qs['filters'](_['pick'](_0x3e440e['query'],_0x1ea41c[_0x4ada('0x36')]));_0x3050c6[_0x4ada('0x3f')]['MailQueueId']=_0xb8d5f9['id'];if(_0x3e440e['query'][_0x4ada('0x41')]){_0x3050c6[_0x4ada('0x3f')]=_[_0x4ada('0x42')](_0x3050c6[_0x4ada('0x3f')],{'$or':_[_0x4ada('0x31')](_0x3050c6[_0x4ada('0x3b')],function(_0x331dd6){var _0x10c255={};_0x10c255[_0x331dd6]={'$like':'%'+_0x3e440e[_0x4ada('0x39')][_0x4ada('0x41')]+'%'};return _0x10c255;})});}_0x3050c6=_[_0x4ada('0x42')]({},_0x3050c6,_0x3e440e[_0x4ada('0x4b')]);return db[_0x4ada('0x58')][_0x4ada('0x46')](_0x3050c6);}})['then'](function(_0x37033d){if(_0x37033d){return db['User'][_0x4ada('0x5b')]({'where':{'id':_[_0x4ada('0x31')](_0x37033d,_0x4ada('0x5c')),'role':_0x4ada('0x5d')},'attributes':['id',_0x4ada('0x2f'),_0x4ada('0x5e'),_0x4ada('0x5f'),_0x4ada('0x60')]});}})['then'](function(_0x111843){if(_0x111843){return{'count':_0x111843['count'],'rows':_[_0x4ada('0x31')](_0x111843[_0x4ada('0x47')],function(_0x125743){return{'membername':_0x125743[_0x4ada('0x2f')],'UserId':_0x125743['id'],'queue_name':_0x488fa0[_0x4ada('0x2f')],'MailQueueId':_0x488fa0['id'],'interface':util['format']('%s/%s',_0x4ada('0x61'),_0x125743[_0x4ada('0x2f')]),'penalty':0x0,'paused':_0x125743[_0x4ada('0x5e')],'createdAt':_0x125743[_0x4ada('0x60')],'updatedAt':_0x125743[_0x4ada('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x4ada('0x2d')](respondWithFilteredResult(_0x307248,_0x3050c6))[_0x4ada('0x4d')](handleError(_0x307248,null));};exports['getTeams']=function(_0x44c67f,_0x9a13e5,_0x1c18eb){var _0x308ac8={};var _0x4e397c={};var _0x45ed40;var _0xe552a1;return db['MailQueue'][_0x4ada('0x62')]({'where':{'id':_0x44c67f[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x9a13e5,null))[_0x4ada('0x2d')](function(_0x44a889){if(_0x44a889){_0x45ed40=_0x44a889;_0x4e397c[_0x4ada('0x38')]=_['keys'](db[_0x4ada('0x63')][_0x4ada('0x4a')]);_0x4e397c['query']=_[_0x4ada('0x35')](_0x44c67f[_0x4ada('0x39')]);_0x4e397c[_0x4ada('0x36')]=_[_0x4ada('0x37')](_0x4e397c['model'],_0x4e397c['query']);_0x308ac8['attributes']=_[_0x4ada('0x37')](_0x4e397c[_0x4ada('0x38')],qs['fields'](_0x44c67f[_0x4ada('0x39')]['fields']));_0x308ac8[_0x4ada('0x3b')]=_0x308ac8['attributes'][_0x4ada('0x3c')]?_0x308ac8[_0x4ada('0x3b')]:_0x4e397c[_0x4ada('0x38')];_0x308ac8['order']=qs[_0x4ada('0x3e')](_0x44c67f[_0x4ada('0x39')]['sort']);_0x308ac8[_0x4ada('0x3f')]=qs[_0x4ada('0x36')](_[_0x4ada('0x40')](_0x44c67f[_0x4ada('0x39')],_0x4e397c[_0x4ada('0x36')]));if(_0x44c67f[_0x4ada('0x39')][_0x4ada('0x41')]){_0x308ac8['where']=_['merge'](_0x308ac8['where'],{'$or':_[_0x4ada('0x31')](_0x308ac8['attributes'],function(_0x2dda84){var _0x14741d={};_0x14741d[_0x2dda84]={'$like':'%'+_0x44c67f['query'][_0x4ada('0x41')]+'%'};return _0x14741d;})});}_0x308ac8=_['merge']({},_0x308ac8,_0x44c67f[_0x4ada('0x4b')]);return _0x45ed40[_0x4ada('0x64')](_0x308ac8);}})[_0x4ada('0x2d')](function(_0x1e7a37){if(_0x1e7a37){_0xe552a1=_0x1e7a37[_0x4ada('0x3c')];if(!_0x44c67f[_0x4ada('0x39')][_0x4ada('0x59')](_0x4ada('0x5a'))){_0x308ac8[_0x4ada('0x23')]=qs[_0x4ada('0x23')](_0x44c67f[_0x4ada('0x39')][_0x4ada('0x23')]);_0x308ac8[_0x4ada('0x22')]=qs[_0x4ada('0x22')](_0x44c67f[_0x4ada('0x39')][_0x4ada('0x22')]);}return _0x45ed40[_0x4ada('0x64')](_0x308ac8);}})['then'](function(_0x482500){if(_0x482500){return _0x482500?{'count':_0xe552a1,'rows':_0x482500}:null;}})[_0x4ada('0x2d')](respondWithResult(_0x9a13e5,null))[_0x4ada('0x4d')](handleError(_0x9a13e5,null));};exports['addTeams']=function(_0x4857d2,_0x1c4a0c,_0x2e3457){var _0xabfb33=_0x4857d2[_0x4ada('0x4e')]['ids'];return db[_0x4ada('0x63')][_0x4ada('0x46')]({'where':{'id':_0xabfb33},'attributes':['id'],'include':[{'model':db[_0x4ada('0x65')],'as':'Agents','attributes':['id','name','online',_0x4ada('0x66'),_0x4ada('0x67')],'raw':!![]}]})[_0x4ada('0x2d')](function(_0x148ce7){if(_0x148ce7){var _0x4f3fd1=_['flatMap'](_0x148ce7,function(_0x41453f){var _0x2f70ae=_0x41453f[_0x4ada('0x2a')]({'plain':!![]});return _0x2f70ae['Agents'];});return db[_0x4ada('0x32')]['find']({'where':{'id':_0x4857d2[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](function(_0xe59c8d){return db[_0x4ada('0x68')][_0x4ada('0x69')](function(_0x4c49ad){return _0xe59c8d['addTeams'](_0xabfb33,{'transaction':_0x4c49ad})[_0x4ada('0x2d')](function(){return BPromise[_0x4ada('0x6a')](_0x4f3fd1,function(_0x389196){return db[_0x4ada('0x58')][_0x4ada('0x6b')]({'where':{'UserId':_0x389196['id'],'MailQueueId':_0x4857d2['params']['id']},'transaction':_0x4c49ad});});})[_0x4ada('0x2d')](function(){_0x4f3fd1[_0x4ada('0x6c')](function(_0xb9758f){socket[_0x4ada('0x6d')]('userMailQueue:save',{'UserId':_0xb9758f['id'],'MailQueueId':_0xe59c8d['id']});});});});});}})[_0x4ada('0x2d')](respondWithStatusCode(_0x1c4a0c,null))[_0x4ada('0x4d')](handleError(_0x1c4a0c,null));};exports[_0x4ada('0x6e')]=function(_0xc3d0bb,_0x2a55c0,_0x4fe711){return db[_0x4ada('0x63')][_0x4ada('0x46')]({'where':{'id':_0xc3d0bb[_0x4ada('0x39')][_0x4ada('0x6f')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x4ada('0x70'),'attributes':['id'],'raw':!![]}]})[_0x4ada('0x2d')](handleEntityNotFound(_0x2a55c0,null))[_0x4ada('0x2d')](function(_0x39931d){var _0x5c280f=_['map'](_0x39931d,'id');var _0x167b82=[];var _0x11faef=[];var _0x3e928f=squel[_0x4ada('0x71')]();_0x3e928f[_0x4ada('0x72')]('tq.TeamId')['from']('team_has_mail_queues','tq')[_0x4ada('0x73')](_0x4ada('0x74'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x4ada('0x3f')](_0x4ada('0x75'),_0xc3d0bb[_0x4ada('0x49')]['id']);for(var _0x4f17c8=0x0;_0x4f17c8<_0x39931d[_0x4ada('0x3c')];_0x4f17c8+=0x1){let _0xbab071=_0x39931d[_0x4f17c8];for(var _0x267f71=0x0;_0x267f71<_0xbab071[_0x4ada('0x70')]['length'];_0x267f71+=0x1){let _0x227dc3=_0xbab071[_0x4ada('0x70')][_0x267f71];var _0x32a959=_0x3e928f[_0x4ada('0x76')]();_0x32a959['where']('ut.UserId\x20=\x20?',_0x227dc3['id']);_0x11faef[_0x4ada('0x77')](db[_0x4ada('0x68')][_0x4ada('0x39')](_0x32a959[_0x4ada('0x78')](),{'type':db[_0x4ada('0x68')][_0x4ada('0x79')][_0x4ada('0x7a')]})['then'](function(_0x53eab5){if(_0x53eab5[_0x4ada('0x3c')]===0x1){return _0x227dc3['id'];}else{var _0x293774=_[_0x4ada('0x7b')](_[_0x4ada('0x31')](_0x53eab5,_0x4ada('0x7c')),function(_0x1a0aa0){return _['includes'](_0x5c280f,_0x1a0aa0);});if(_0x293774){return _0x227dc3['id'];}}}));}}return BPromise[_0x4ada('0x7d')](_0x11faef)[_0x4ada('0x2d')](function(_0x2b4b69){_0x167b82=_(_0x167b82)['union'](_0x2b4b69)[_0x4ada('0x7e')]()[_0x4ada('0x7f')]();return db[_0x4ada('0x32')]['find']({'where':{'id':_0xc3d0bb[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](function(_0x4bd438){return db['sequelize']['transaction'](function(_0x18609b){return _0x4bd438[_0x4ada('0x6e')](_0xc3d0bb[_0x4ada('0x39')][_0x4ada('0x6f')],{'transaction':_0x18609b})['then'](function(){if(!_[_0x4ada('0x80')](_0x167b82)){return _0x4bd438[_0x4ada('0x81')](_0x167b82,{'transaction':_0x18609b});}})[_0x4ada('0x2d')](function(){_0x167b82['forEach'](function(_0x47599f){socket['emit'](_0x4ada('0x82'),{'UserId':_0x47599f,'MailQueueId':_0x4bd438['id']});});});});});});})[_0x4ada('0x2d')](respondWithStatusCode(_0x2a55c0,null))[_0x4ada('0x4d')](handleError(_0x2a55c0,null));};exports[_0x4ada('0x83')]=function(_0x27053e,_0x2389af,_0x1a2ce1){return db['MailQueue'][_0x4ada('0x4c')]({'where':{'id':_0x27053e[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x2389af,null))[_0x4ada('0x2d')](function(_0xde7adf){if(_0xde7adf){return _0xde7adf[_0x4ada('0x83')](_0x27053e[_0x4ada('0x4e')][_0x4ada('0x6f')],_['omit'](_0x27053e[_0x4ada('0x4e')],[_0x4ada('0x6f'),'id'])||{})['spread'](function(_0x126eef){for(var _0x405df9=0x0;_0x405df9<_0x27053e[_0x4ada('0x4e')]['ids'][_0x4ada('0x3c')];_0x405df9+=0x1){socket['emit'](_0x4ada('0x84'),{'UserId':_0x27053e[_0x4ada('0x4e')][_0x4ada('0x6f')][_0x405df9],'MailQueueId':_0x27053e['params']['id']});}return _0x126eef;});}})[_0x4ada('0x2d')](respondWithResult(_0x2389af,null))[_0x4ada('0x4d')](handleError(_0x2389af,null));};exports[_0x4ada('0x81')]=function(_0x30f4c3,_0x153339,_0x132c35){return db[_0x4ada('0x32')][_0x4ada('0x4c')]({'where':{'id':_0x30f4c3[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x153339,null))[_0x4ada('0x2d')](function(_0x3cc594){if(_0x3cc594){return _0x3cc594[_0x4ada('0x81')](_0x30f4c3[_0x4ada('0x39')]['ids'])[_0x4ada('0x2d')](function(){if(_['isArray'](_0x30f4c3[_0x4ada('0x39')][_0x4ada('0x6f')])){for(var _0x635d90=0x0;_0x635d90<_0x30f4c3[_0x4ada('0x39')][_0x4ada('0x6f')]['length'];_0x635d90+=0x1){socket['emit'](_0x4ada('0x82'),{'UserId':Number(_0x30f4c3[_0x4ada('0x39')][_0x4ada('0x6f')][_0x635d90]),'MailQueueId':Number(_0x30f4c3[_0x4ada('0x49')]['id'])});}}else{socket[_0x4ada('0x6d')]('userMailQueue:remove',{'UserId':Number(_0x30f4c3['query']['ids']),'MailQueueId':Number(_0x30f4c3[_0x4ada('0x49')]['id'])});}});}})[_0x4ada('0x2d')](respondWithStatusCode(_0x153339,null))['catch'](handleError(_0x153339,null));};exports[_0x4ada('0x85')]=function(_0x277dcc,_0x9dee59,_0x718dc9){var _0x141df0={};var _0x3359fe={};var _0x6a9acc;var _0x17d803;return db[_0x4ada('0x32')][_0x4ada('0x62')]({'where':{'id':_0x277dcc[_0x4ada('0x49')]['id']}})[_0x4ada('0x2d')](handleEntityNotFound(_0x9dee59,null))[_0x4ada('0x2d')](function(_0x409771){if(_0x409771){_0x6a9acc=_0x409771;_0x3359fe['model']=_[_0x4ada('0x35')](db['User'][_0x4ada('0x4a')]);_0x3359fe[_0x4ada('0x39')]=_['keys'](_0x277dcc[_0x4ada('0x39')]);_0x3359fe[_0x4ada('0x36')]=_[_0x4ada('0x37')](_0x3359fe[_0x4ada('0x38')],_0x3359fe[_0x4ada('0x39')]);_0x141df0[_0x4ada('0x3b')]=_[_0x4ada('0x37')](_0x3359fe['model'],qs[_0x4ada('0x3a')](_0x277dcc[_0x4ada('0x39')][_0x4ada('0x3a')]));_0x141df0['attributes']=_0x141df0[_0x4ada('0x3b')]['length']?_0x141df0[_0x4ada('0x3b')]:_0x3359fe['model'];_0x141df0[_0x4ada('0x3d')]=qs[_0x4ada('0x3e')](_0x277dcc[_0x4ada('0x39')][_0x4ada('0x3e')]);_0x141df0[_0x4ada('0x3f')]=qs[_0x4ada('0x36')](_[_0x4ada('0x40')](_0x277dcc[_0x4ada('0x39')],_0x3359fe[_0x4ada('0x36')]));if(_0x277dcc[_0x4ada('0x39')][_0x4ada('0x41')]){_0x141df0[_0x4ada('0x3f')]=_[_0x4ada('0x42')](_0x141df0[_0x4ada('0x3f')],{'$or':_[_0x4ada('0x31')](_0x141df0[_0x4ada('0x3b')],function(_0x2f528){var _0x5bfd18={};_0x5bfd18[_0x2f528]={'$like':'%'+_0x277dcc['query'][_0x4ada('0x41')]+'%'};return _0x5bfd18;})});}_0x141df0=_[_0x4ada('0x42')]({},_0x141df0,_0x277dcc[_0x4ada('0x4b')]);return _0x6a9acc[_0x4ada('0x85')](_0x141df0);}})[_0x4ada('0x2d')](function(_0x17c02d){if(_0x17c02d){_0x17d803=_0x17c02d[_0x4ada('0x3c')];if(!_0x277dcc[_0x4ada('0x39')][_0x4ada('0x59')](_0x4ada('0x5a'))){_0x141df0[_0x4ada('0x23')]=qs[_0x4ada('0x23')](_0x277dcc[_0x4ada('0x39')][_0x4ada('0x23')]);_0x141df0[_0x4ada('0x22')]=qs['offset'](_0x277dcc['query'][_0x4ada('0x22')]);}return _0x6a9acc[_0x4ada('0x85')](_0x141df0);}})[_0x4ada('0x2d')](function(_0x3dd2b1){if(_0x3dd2b1){return _0x3dd2b1?{'count':_0x17d803,'rows':_0x3dd2b1}:null;}})['then'](respondWithResult(_0x9dee59,null))[_0x4ada('0x4d')](handleError(_0x9dee59,null));};