ccc3744f794ddd31c0f8ea53f6a5092a6a017edc
[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 _0xd023=['MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','sequelize','SELECT','every','TeamId','includes','all','union','compact','value','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','request-promise','mustache','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','json','offset','undefined','limit','count','set','apply','save','then','destroy','MailQueues','end','error','name','send','index','map','MailQueue','rawAttributes','type','key','model','query','keys','attributes','intersection','fields','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','params','create','body','user','get','role','UserProfileSection','autoAssociation','UserProfileResource','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','find','describe','getMembers','findOne','UserMailQueue','length','hasOwnProperty','order','MailQueueId','User','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','online','flatMap','transaction','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','select','field','tq.TeamId','join','user_has_teams'];(function(_0x11005e,_0x20c3d2){var _0x29338f=function(_0x3384e9){while(--_0x3384e9){_0x11005e['push'](_0x11005e['shift']());}};_0x29338f(++_0x20c3d2);}(_0xd023,0x1b1));var _0x3d02=function(_0x2f1f08,_0x158f35){_0x2f1f08=_0x2f1f08-0x0;var _0x32f365=_0xd023[_0x2f1f08];return _0x32f365;};'use strict';var emlformat=require(_0x3d02('0x0'));var rimraf=require(_0x3d02('0x1'));var zipdir=require(_0x3d02('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x3d02('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x3d02('0x4'));var util=require('util');var path=require(_0x3d02('0x5'));var sox=require('sox');var csv=require(_0x3d02('0x6'));var ejs=require(_0x3d02('0x7'));var fs=require('fs');var fs_extra=require(_0x3d02('0x8'));var _=require(_0x3d02('0x9'));var squel=require(_0x3d02('0xa'));var crypto=require('crypto');var jsforce=require(_0x3d02('0xb'));var deskjs=require(_0x3d02('0xc'));var toCsv=require('to-csv');var querystring=require(_0x3d02('0xd'));var Papa=require(_0x3d02('0xe'));var Redis=require(_0x3d02('0xf'));var authService=require(_0x3d02('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x3d02('0x11'));var hardwareService=require(_0x3d02('0x12'));var logger=require(_0x3d02('0x13'))('api');var utils=require(_0x3d02('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x3d02('0x15'));var db=require(_0x3d02('0x16'))['db'];config[_0x3d02('0x17')]=_[_0x3d02('0x18')](config[_0x3d02('0x17')],{'host':'localhost','port':0x18eb});var socket=require(_0x3d02('0x19'))(new Redis(config[_0x3d02('0x17')]));require(_0x3d02('0x1a'))[_0x3d02('0x1b')](socket);function respondWithStatusCode(_0x271302,_0x201b41){_0x201b41=_0x201b41||0xcc;return function(_0x48d6ab){if(_0x48d6ab){return _0x271302[_0x3d02('0x1c')](_0x201b41);}return _0x271302[_0x3d02('0x1d')](_0x201b41)['end']();};}function respondWithResult(_0x4c503f,_0x336e72){_0x336e72=_0x336e72||0xc8;return function(_0x430d96){if(_0x430d96){return _0x4c503f['status'](_0x336e72)[_0x3d02('0x1e')](_0x430d96);}};}function respondWithFilteredResult(_0x5cfb5a,_0x4ec82a){return function(_0x4162b8){if(_0x4162b8){var _0x5523e0=typeof _0x4ec82a[_0x3d02('0x1f')]===_0x3d02('0x20')&&typeof _0x4ec82a[_0x3d02('0x21')]===_0x3d02('0x20');var _0x3835a2=_0x4162b8[_0x3d02('0x22')];var _0x17ec9d=_0x5523e0?0x0:_0x4ec82a[_0x3d02('0x1f')];var _0x3b2af0=_0x5523e0?_0x4162b8[_0x3d02('0x22')]:_0x4ec82a[_0x3d02('0x1f')]+_0x4ec82a['limit'];var _0x4032c5;if(_0x3b2af0>=_0x3835a2){_0x3b2af0=_0x3835a2;_0x4032c5=0xc8;}else{_0x4032c5=0xce;}_0x5cfb5a[_0x3d02('0x1d')](_0x4032c5);return _0x5cfb5a[_0x3d02('0x23')]('Content-Range',_0x17ec9d+'-'+_0x3b2af0+'/'+_0x3835a2)[_0x3d02('0x1e')](_0x4162b8);}return null;};}function patchUpdates(_0x2aaac3){return function(_0x37f99c){try{jsonpatch[_0x3d02('0x24')](_0x37f99c,_0x2aaac3,!![]);}catch(_0x4084ee){return BPromise['reject'](_0x4084ee);}return _0x37f99c[_0x3d02('0x25')]();};}function saveUpdates(_0x13c9cd,_0x55b9b3){return function(_0x590c17){if(_0x590c17){return _0x590c17['update'](_0x13c9cd)[_0x3d02('0x26')](function(_0x16c2f7){return _0x16c2f7;});}return null;};}function removeEntity(_0x2bd11e,_0x3c531){return function(_0x27cee7){if(_0x27cee7){return _0x27cee7[_0x3d02('0x27')]()[_0x3d02('0x26')](function(){var _0x2944a9=_0x27cee7['get']({'plain':!![]});var _0x1396bf=_0x3d02('0x28');return db['UserProfileResource'][_0x3d02('0x27')]({'where':{'type':_0x1396bf,'resourceId':_0x2944a9['id']}})[_0x3d02('0x26')](function(){return _0x27cee7;});})['then'](function(){_0x2bd11e[_0x3d02('0x1d')](0xcc)[_0x3d02('0x29')]();});}};}function handleEntityNotFound(_0x57208b,_0x1fb31c){return function(_0x1701e5){if(!_0x1701e5){_0x57208b[_0x3d02('0x1c')](0x194);}return _0x1701e5;};}function handleError(_0x7440c,_0x28a479){_0x28a479=_0x28a479||0x1f4;return function(_0x492fc1){logger[_0x3d02('0x2a')](_0x492fc1['stack']);if(_0x492fc1[_0x3d02('0x2b')]){delete _0x492fc1['name'];}_0x7440c[_0x3d02('0x1d')](_0x28a479)[_0x3d02('0x2c')](_0x492fc1);};}exports[_0x3d02('0x2d')]=function(_0x7626dc,_0x44e01a){var _0x1dbcb8={},_0x7c1129={},_0x4cdf9f={'count':0x0,'rows':[]};var _0x3b7091=_[_0x3d02('0x2e')](db[_0x3d02('0x2f')][_0x3d02('0x30')],function(_0x20fbd9){return{'name':_0x20fbd9['fieldName'],'type':_0x20fbd9[_0x3d02('0x31')][_0x3d02('0x32')]};});_0x7c1129[_0x3d02('0x33')]=_['map'](_0x3b7091,'name');_0x7c1129[_0x3d02('0x34')]=_[_0x3d02('0x35')](_0x7626dc[_0x3d02('0x34')]);_0x7c1129['filters']=_['intersection'](_0x7c1129['model'],_0x7c1129[_0x3d02('0x34')]);_0x1dbcb8[_0x3d02('0x36')]=_[_0x3d02('0x37')](_0x7c1129[_0x3d02('0x33')],qs['fields'](_0x7626dc[_0x3d02('0x34')][_0x3d02('0x38')]));_0x1dbcb8[_0x3d02('0x36')]=_0x1dbcb8[_0x3d02('0x36')]['length']?_0x1dbcb8[_0x3d02('0x36')]:_0x7c1129['model'];if(!_0x7626dc['query']['hasOwnProperty'](_0x3d02('0x39'))){_0x1dbcb8['limit']=qs[_0x3d02('0x21')](_0x7626dc['query'][_0x3d02('0x21')]);_0x1dbcb8[_0x3d02('0x1f')]=qs[_0x3d02('0x1f')](_0x7626dc[_0x3d02('0x34')][_0x3d02('0x1f')]);}_0x1dbcb8['order']=qs[_0x3d02('0x3a')](_0x7626dc[_0x3d02('0x34')]['sort']);_0x1dbcb8[_0x3d02('0x3b')]=qs[_0x3d02('0x3c')](_[_0x3d02('0x3d')](_0x7626dc['query'],_0x7c1129[_0x3d02('0x3c')]),_0x3b7091);if(_0x7626dc['query'][_0x3d02('0x3e')]){_0x1dbcb8[_0x3d02('0x3b')]=_['merge'](_0x1dbcb8[_0x3d02('0x3b')],{'$or':_[_0x3d02('0x2e')](_0x3b7091,function(_0x15ce29){if(_0x15ce29['type']!==_0x3d02('0x3f')){var _0x29fc08={};_0x29fc08[_0x15ce29['name']]={'$like':'%'+_0x7626dc[_0x3d02('0x34')][_0x3d02('0x3e')]+'%'};return _0x29fc08;}})});}_0x1dbcb8=_[_0x3d02('0x40')]({},_0x1dbcb8,_0x7626dc[_0x3d02('0x41')]);var _0x40263d={'where':_0x1dbcb8[_0x3d02('0x3b')]};return db[_0x3d02('0x2f')][_0x3d02('0x22')](_0x40263d)[_0x3d02('0x26')](function(_0x2af5d8){_0x4cdf9f['count']=_0x2af5d8;if(_0x7626dc[_0x3d02('0x34')][_0x3d02('0x42')]){_0x1dbcb8[_0x3d02('0x43')]=[{'all':!![]}];}return db[_0x3d02('0x2f')][_0x3d02('0x44')](_0x1dbcb8);})[_0x3d02('0x26')](function(_0xeffafe){_0x4cdf9f[_0x3d02('0x45')]=_0xeffafe;return _0x4cdf9f;})[_0x3d02('0x26')](respondWithFilteredResult(_0x44e01a,_0x1dbcb8))['catch'](handleError(_0x44e01a,null));};exports[_0x3d02('0x46')]=function(_0x659c60,_0x22c878){var _0x224936={'raw':!![],'where':{'id':_0x659c60[_0x3d02('0x47')]['id']}},_0x518b2d={};_0x518b2d[_0x3d02('0x33')]=_[_0x3d02('0x35')](db['MailQueue'][_0x3d02('0x30')]);_0x518b2d[_0x3d02('0x34')]=_[_0x3d02('0x35')](_0x659c60[_0x3d02('0x34')]);_0x518b2d[_0x3d02('0x3c')]=_[_0x3d02('0x37')](_0x518b2d[_0x3d02('0x33')],_0x518b2d[_0x3d02('0x34')]);_0x224936[_0x3d02('0x36')]=_[_0x3d02('0x37')](_0x518b2d[_0x3d02('0x33')],qs['fields'](_0x659c60[_0x3d02('0x34')][_0x3d02('0x38')]));_0x224936[_0x3d02('0x36')]=_0x224936['attributes']['length']?_0x224936[_0x3d02('0x36')]:_0x518b2d[_0x3d02('0x33')];if(_0x659c60['query'][_0x3d02('0x42')]){_0x224936['include']=[{'all':!![]}];}_0x224936=_['merge']({},_0x224936,_0x659c60[_0x3d02('0x41')]);return db[_0x3d02('0x2f')]['find'](_0x224936)[_0x3d02('0x26')](handleEntityNotFound(_0x22c878,null))[_0x3d02('0x26')](respondWithResult(_0x22c878,null))['catch'](handleError(_0x22c878,null));};exports[_0x3d02('0x48')]=function(_0x50305a,_0x1e94c8){return db[_0x3d02('0x2f')][_0x3d02('0x48')](_0x50305a[_0x3d02('0x49')],{})['then'](function(_0x319794){var _0x412f72=_0x50305a[_0x3d02('0x4a')][_0x3d02('0x4b')]({'plain':!![]});if(!_0x412f72)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x412f72[_0x3d02('0x4c')]===_0x3d02('0x4a')){var _0x51f08c=_0x319794['get']({'plain':!![]});var _0x26f217='MailQueues';return db[_0x3d02('0x4d')]['find']({'where':{'name':_0x26f217,'userProfileId':_0x412f72['userProfileId']},'raw':!![]})[_0x3d02('0x26')](function(_0x3e4344){if(_0x3e4344&&_0x3e4344[_0x3d02('0x4e')]===0x0){return db[_0x3d02('0x4f')][_0x3d02('0x48')]({'name':_0x51f08c[_0x3d02('0x2b')],'resourceId':_0x51f08c['id'],'type':_0x3e4344[_0x3d02('0x2b')],'sectionId':_0x3e4344['id']},{})[_0x3d02('0x26')](function(){return _0x319794;});}else{return _0x319794;}})[_0x3d02('0x50')](function(_0x34300b){logger[_0x3d02('0x2a')](_0x3d02('0x51'),_0x34300b);throw _0x34300b;});}return _0x319794;})[_0x3d02('0x26')](respondWithResult(_0x1e94c8,0xc9))[_0x3d02('0x50')](handleError(_0x1e94c8,null));};exports[_0x3d02('0x52')]=function(_0x539d97,_0x3b20f0){if(_0x539d97[_0x3d02('0x49')]['id']){delete _0x539d97[_0x3d02('0x49')]['id'];}return db['MailQueue']['find']({'where':{'id':_0x539d97['params']['id']}})['then'](handleEntityNotFound(_0x3b20f0,null))[_0x3d02('0x26')](saveUpdates(_0x539d97['body'],null))[_0x3d02('0x26')](respondWithResult(_0x3b20f0,null))[_0x3d02('0x50')](handleError(_0x3b20f0,null));};exports[_0x3d02('0x27')]=function(_0x5f4225,_0x5d2992){return db[_0x3d02('0x2f')][_0x3d02('0x53')]({'where':{'id':_0x5f4225[_0x3d02('0x47')]['id']}})[_0x3d02('0x26')](handleEntityNotFound(_0x5d2992,null))[_0x3d02('0x26')](removeEntity(_0x5d2992,null))['catch'](handleError(_0x5d2992,null));};exports[_0x3d02('0x54')]=function(_0x1b1ac2,_0xf10c21){return db['MailQueue'][_0x3d02('0x54')]()[_0x3d02('0x26')](respondWithResult(_0xf10c21,null))[_0x3d02('0x50')](handleError(_0xf10c21,null));};exports[_0x3d02('0x55')]=function(_0x2e934a,_0x1c969e,_0x12b887){var _0x419b5f={'raw':!![],'where':{}},_0x4c6873={},_0x3c8f5d;return db[_0x3d02('0x2f')][_0x3d02('0x56')]({'where':{'id':_0x2e934a[_0x3d02('0x47')]['id']}})[_0x3d02('0x26')](handleEntityNotFound(_0x1c969e,null))['then'](function(_0x3033ef){if(_0x3033ef){_0x3c8f5d=_0x3033ef[_0x3d02('0x4b')]({'plain':!![]});_0x4c6873[_0x3d02('0x33')]=_[_0x3d02('0x35')](db[_0x3d02('0x57')]['rawAttributes']);_0x4c6873[_0x3d02('0x34')]=_[_0x3d02('0x35')](_0x2e934a['query']);_0x4c6873[_0x3d02('0x3c')]=_['intersection'](_0x4c6873[_0x3d02('0x33')],_0x4c6873[_0x3d02('0x34')]);_0x419b5f[_0x3d02('0x36')]=_[_0x3d02('0x37')](_0x4c6873[_0x3d02('0x33')],qs['fields'](_0x2e934a['query'][_0x3d02('0x38')]));_0x419b5f[_0x3d02('0x36')]=_0x419b5f[_0x3d02('0x36')][_0x3d02('0x58')]?_0x419b5f[_0x3d02('0x36')]:_0x4c6873[_0x3d02('0x33')];if(!_0x2e934a[_0x3d02('0x34')][_0x3d02('0x59')]('nolimit')){_0x419b5f[_0x3d02('0x21')]=qs[_0x3d02('0x21')](_0x2e934a[_0x3d02('0x34')][_0x3d02('0x21')]);_0x419b5f[_0x3d02('0x1f')]=qs[_0x3d02('0x1f')](_0x2e934a[_0x3d02('0x34')][_0x3d02('0x1f')]);}_0x419b5f[_0x3d02('0x5a')]=qs[_0x3d02('0x3a')](_0x2e934a[_0x3d02('0x34')][_0x3d02('0x3a')]);_0x419b5f[_0x3d02('0x3b')]=qs[_0x3d02('0x3c')](_[_0x3d02('0x3d')](_0x2e934a['query'],_0x4c6873[_0x3d02('0x3c')]));_0x419b5f[_0x3d02('0x3b')][_0x3d02('0x5b')]=_0x3033ef['id'];if(_0x2e934a['query'][_0x3d02('0x3e')]){_0x419b5f[_0x3d02('0x3b')]=_[_0x3d02('0x40')](_0x419b5f['where'],{'$or':_[_0x3d02('0x2e')](_0x419b5f['attributes'],function(_0x5076ff){var _0x522037={};_0x522037[_0x5076ff]={'$like':'%'+_0x2e934a[_0x3d02('0x34')][_0x3d02('0x3e')]+'%'};return _0x522037;})});}_0x419b5f=_[_0x3d02('0x40')]({},_0x419b5f,_0x2e934a[_0x3d02('0x41')]);return db[_0x3d02('0x57')]['findAll'](_0x419b5f);}})[_0x3d02('0x26')](function(_0x22db93){if(_0x22db93){return db[_0x3d02('0x5c')]['findAndCountAll']({'where':{'id':_[_0x3d02('0x2e')](_0x22db93,_0x3d02('0x5d')),'role':_0x3d02('0x5e')},'attributes':['id',_0x3d02('0x2b'),_0x3d02('0x5f'),_0x3d02('0x60'),_0x3d02('0x61')]});}})[_0x3d02('0x26')](function(_0x31e7f7){if(_0x31e7f7){return{'count':_0x31e7f7[_0x3d02('0x22')],'rows':_[_0x3d02('0x2e')](_0x31e7f7['rows'],function(_0x7b442a){return{'membername':_0x7b442a['name'],'UserId':_0x7b442a['id'],'queue_name':_0x3c8f5d[_0x3d02('0x2b')],'MailQueueId':_0x3c8f5d['id'],'interface':util[_0x3d02('0x62')](_0x3d02('0x63'),_0x3d02('0x64'),_0x7b442a['name']),'penalty':0x0,'paused':_0x7b442a[_0x3d02('0x5f')],'createdAt':_0x7b442a[_0x3d02('0x61')],'updatedAt':_0x7b442a['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x3d02('0x26')](respondWithFilteredResult(_0x1c969e,_0x419b5f))[_0x3d02('0x50')](handleError(_0x1c969e,null));};exports[_0x3d02('0x65')]=function(_0x5917a3,_0x46164c,_0x2dedec){var _0x2bbe97={};var _0x2f3365={};var _0x58f468;var _0xace6cc;return db[_0x3d02('0x2f')][_0x3d02('0x56')]({'where':{'id':_0x5917a3[_0x3d02('0x47')]['id']}})[_0x3d02('0x26')](handleEntityNotFound(_0x46164c,null))['then'](function(_0x1a6f85){if(_0x1a6f85){_0x58f468=_0x1a6f85;_0x2f3365['model']=_[_0x3d02('0x35')](db[_0x3d02('0x66')]['rawAttributes']);_0x2f3365['query']=_['keys'](_0x5917a3[_0x3d02('0x34')]);_0x2f3365[_0x3d02('0x3c')]=_[_0x3d02('0x37')](_0x2f3365[_0x3d02('0x33')],_0x2f3365[_0x3d02('0x34')]);_0x2bbe97['attributes']=_[_0x3d02('0x37')](_0x2f3365[_0x3d02('0x33')],qs[_0x3d02('0x38')](_0x5917a3['query'][_0x3d02('0x38')]));_0x2bbe97[_0x3d02('0x36')]=_0x2bbe97[_0x3d02('0x36')]['length']?_0x2bbe97[_0x3d02('0x36')]:_0x2f3365[_0x3d02('0x33')];_0x2bbe97[_0x3d02('0x5a')]=qs[_0x3d02('0x3a')](_0x5917a3[_0x3d02('0x34')][_0x3d02('0x3a')]);_0x2bbe97[_0x3d02('0x3b')]=qs['filters'](_[_0x3d02('0x3d')](_0x5917a3['query'],_0x2f3365['filters']));if(_0x5917a3[_0x3d02('0x34')]['filter']){_0x2bbe97['where']=_['merge'](_0x2bbe97[_0x3d02('0x3b')],{'$or':_['map'](_0x2bbe97['attributes'],function(_0x5d5e66){var _0x1ff816={};_0x1ff816[_0x5d5e66]={'$like':'%'+_0x5917a3['query']['filter']+'%'};return _0x1ff816;})});}_0x2bbe97=_[_0x3d02('0x40')]({},_0x2bbe97,_0x5917a3[_0x3d02('0x41')]);return _0x58f468[_0x3d02('0x65')](_0x2bbe97);}})[_0x3d02('0x26')](function(_0x42e7fa){if(_0x42e7fa){_0xace6cc=_0x42e7fa[_0x3d02('0x58')];if(!_0x5917a3[_0x3d02('0x34')][_0x3d02('0x59')](_0x3d02('0x39'))){_0x2bbe97['limit']=qs[_0x3d02('0x21')](_0x5917a3[_0x3d02('0x34')][_0x3d02('0x21')]);_0x2bbe97[_0x3d02('0x1f')]=qs[_0x3d02('0x1f')](_0x5917a3['query'][_0x3d02('0x1f')]);}return _0x58f468[_0x3d02('0x65')](_0x2bbe97);}})['then'](function(_0x2d95dc){if(_0x2d95dc){return _0x2d95dc?{'count':_0xace6cc,'rows':_0x2d95dc}:null;}})[_0x3d02('0x26')](respondWithResult(_0x46164c,null))[_0x3d02('0x50')](handleError(_0x46164c,null));};exports[_0x3d02('0x67')]=function(_0x226d72,_0x4e4160,_0x3b00ad){var _0x5a4a15=_0x226d72[_0x3d02('0x49')][_0x3d02('0x68')];return db[_0x3d02('0x66')][_0x3d02('0x44')]({'where':{'id':_0x5a4a15},'attributes':['id'],'include':[{'model':db[_0x3d02('0x5c')],'as':_0x3d02('0x69'),'attributes':['id',_0x3d02('0x2b'),_0x3d02('0x6a'),'voicePause','interface'],'raw':!![]}]})['then'](function(_0x51a378){if(_0x51a378){var _0x15e182=_[_0x3d02('0x6b')](_0x51a378,function(_0x3c643e){var _0x5fc3c7=_0x3c643e[_0x3d02('0x4b')]({'plain':!![]});return _0x5fc3c7[_0x3d02('0x69')];});return db['MailQueue']['find']({'where':{'id':_0x226d72[_0x3d02('0x47')]['id']}})[_0x3d02('0x26')](function(_0x4018cd){return db['sequelize'][_0x3d02('0x6c')](function(_0x4bacf5){return _0x4018cd[_0x3d02('0x67')](_0x5a4a15,{'transaction':_0x4bacf5})[_0x3d02('0x26')](function(){return BPromise['each'](_0x15e182,function(_0x58f4ea){return db[_0x3d02('0x57')][_0x3d02('0x6d')]({'where':{'UserId':_0x58f4ea['id'],'MailQueueId':_0x226d72[_0x3d02('0x47')]['id']},'transaction':_0x4bacf5});});})[_0x3d02('0x26')](function(){_0x15e182[_0x3d02('0x6e')](function(_0x1873cb){socket[_0x3d02('0x6f')](_0x3d02('0x70'),{'UserId':_0x1873cb['id'],'MailQueueId':_0x4018cd['id']});});});});});}})['then'](respondWithStatusCode(_0x4e4160,null))[_0x3d02('0x50')](handleError(_0x4e4160,null));};exports[_0x3d02('0x71')]=function(_0x282734,_0x2885b1,_0x56a7ad){return db[_0x3d02('0x66')][_0x3d02('0x44')]({'where':{'id':_0x282734[_0x3d02('0x34')][_0x3d02('0x68')]},'attributes':['id'],'include':[{'model':db[_0x3d02('0x5c')],'as':_0x3d02('0x69'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x2885b1,null))['then'](function(_0x1b3936){var _0x1b9fbf=_[_0x3d02('0x2e')](_0x1b3936,'id');var _0x2fb2cf=[];var _0x2cd73d=[];var _0x3badb0=squel[_0x3d02('0x72')]();_0x3badb0[_0x3d02('0x73')](_0x3d02('0x74'))['from']('team_has_mail_queues','tq')[_0x3d02('0x75')](_0x3d02('0x76'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x3d02('0x3b')](_0x3d02('0x77'),_0x282734[_0x3d02('0x47')]['id']);for(var _0x23194b=0x0;_0x23194b<_0x1b3936[_0x3d02('0x58')];_0x23194b+=0x1){let _0x37edd9=_0x1b3936[_0x23194b];for(var _0x56ee18=0x0;_0x56ee18<_0x37edd9[_0x3d02('0x69')][_0x3d02('0x58')];_0x56ee18+=0x1){let _0x58712b=_0x37edd9[_0x3d02('0x69')][_0x56ee18];var _0x2be60c=_0x3badb0['clone']();_0x2be60c['where'](_0x3d02('0x78'),_0x58712b['id']);_0x2cd73d[_0x3d02('0x79')](db[_0x3d02('0x7a')][_0x3d02('0x34')](_0x2be60c['toString'](),{'type':db['sequelize']['QueryTypes'][_0x3d02('0x7b')]})[_0x3d02('0x26')](function(_0x1cf88f){if(_0x1cf88f['length']===0x1){return _0x58712b['id'];}else{var _0x660c88=_[_0x3d02('0x7c')](_[_0x3d02('0x2e')](_0x1cf88f,_0x3d02('0x7d')),function(_0xb0760b){return _[_0x3d02('0x7e')](_0x1b9fbf,_0xb0760b);});if(_0x660c88){return _0x58712b['id'];}}}));}}return BPromise[_0x3d02('0x7f')](_0x2cd73d)[_0x3d02('0x26')](function(_0x4aed39){_0x2fb2cf=_(_0x2fb2cf)[_0x3d02('0x80')](_0x4aed39)[_0x3d02('0x81')]()[_0x3d02('0x82')]();return db[_0x3d02('0x2f')][_0x3d02('0x53')]({'where':{'id':_0x282734[_0x3d02('0x47')]['id']}})[_0x3d02('0x26')](function(_0x1d0657){return db[_0x3d02('0x7a')][_0x3d02('0x6c')](function(_0x2efe1a){return _0x1d0657[_0x3d02('0x71')](_0x282734[_0x3d02('0x34')][_0x3d02('0x68')],{'transaction':_0x2efe1a})[_0x3d02('0x26')](function(){if(!_['isEmpty'](_0x2fb2cf)){return _0x1d0657[_0x3d02('0x83')](_0x2fb2cf,{'transaction':_0x2efe1a});}})['then'](function(){_0x2fb2cf[_0x3d02('0x6e')](function(_0x52bd77){socket[_0x3d02('0x6f')](_0x3d02('0x84'),{'UserId':_0x52bd77,'MailQueueId':_0x1d0657['id']});});});});});});})[_0x3d02('0x26')](respondWithStatusCode(_0x2885b1,null))[_0x3d02('0x50')](handleError(_0x2885b1,null));};exports[_0x3d02('0x85')]=function(_0xbc1376,_0x1ca947,_0x52ae57){return db[_0x3d02('0x2f')][_0x3d02('0x53')]({'where':{'id':_0xbc1376['params']['id']}})[_0x3d02('0x26')](handleEntityNotFound(_0x1ca947,null))[_0x3d02('0x26')](function(_0x1cec5f){if(_0x1cec5f){return _0x1cec5f[_0x3d02('0x85')](_0xbc1376['body']['ids'],_[_0x3d02('0x86')](_0xbc1376[_0x3d02('0x49')],[_0x3d02('0x68'),'id'])||{})[_0x3d02('0x87')](function(_0x1e45dd){for(var _0x4cc099=0x0;_0x4cc099<_0xbc1376[_0x3d02('0x49')][_0x3d02('0x68')]['length'];_0x4cc099+=0x1){socket[_0x3d02('0x6f')](_0x3d02('0x70'),{'UserId':Number(_0xbc1376[_0x3d02('0x49')][_0x3d02('0x68')][_0x4cc099]),'MailQueueId':Number(_0xbc1376[_0x3d02('0x47')]['id'])});}return _0x1e45dd;});}})[_0x3d02('0x26')](respondWithResult(_0x1ca947,null))['catch'](handleError(_0x1ca947,null));};exports[_0x3d02('0x83')]=function(_0x41452c,_0x19b899,_0x220075){return db['MailQueue'][_0x3d02('0x53')]({'where':{'id':_0x41452c[_0x3d02('0x47')]['id']}})[_0x3d02('0x26')](handleEntityNotFound(_0x19b899,null))[_0x3d02('0x26')](function(_0x4de7d7){if(_0x4de7d7){return _0x4de7d7[_0x3d02('0x83')](_0x41452c['query'][_0x3d02('0x68')])[_0x3d02('0x26')](function(){if(_[_0x3d02('0x88')](_0x41452c[_0x3d02('0x34')]['ids'])){for(var _0x48c3dc=0x0;_0x48c3dc<_0x41452c[_0x3d02('0x34')][_0x3d02('0x68')][_0x3d02('0x58')];_0x48c3dc+=0x1){socket[_0x3d02('0x6f')](_0x3d02('0x84'),{'UserId':Number(_0x41452c['query'][_0x3d02('0x68')][_0x48c3dc]),'MailQueueId':Number(_0x41452c[_0x3d02('0x47')]['id'])});}}else{socket[_0x3d02('0x6f')](_0x3d02('0x84'),{'UserId':Number(_0x41452c[_0x3d02('0x34')]['ids']),'MailQueueId':Number(_0x41452c[_0x3d02('0x47')]['id'])});}});}})[_0x3d02('0x26')](respondWithStatusCode(_0x19b899,null))['catch'](handleError(_0x19b899,null));};exports[_0x3d02('0x89')]=function(_0x5b168b,_0x22601a,_0x255f50){var _0x15eb21={};var _0xc5c10b={};var _0x1499b3;var _0x1ec195;return db[_0x3d02('0x2f')][_0x3d02('0x56')]({'where':{'id':_0x5b168b['params']['id']}})[_0x3d02('0x26')](handleEntityNotFound(_0x22601a,null))['then'](function(_0x17bb25){if(_0x17bb25){_0x1499b3=_0x17bb25;_0xc5c10b[_0x3d02('0x33')]=_[_0x3d02('0x35')](db[_0x3d02('0x5c')][_0x3d02('0x30')]);_0xc5c10b['query']=_['keys'](_0x5b168b[_0x3d02('0x34')]);_0xc5c10b['filters']=_[_0x3d02('0x37')](_0xc5c10b[_0x3d02('0x33')],_0xc5c10b[_0x3d02('0x34')]);_0x15eb21[_0x3d02('0x36')]=_[_0x3d02('0x37')](_0xc5c10b[_0x3d02('0x33')],qs['fields'](_0x5b168b['query'][_0x3d02('0x38')]));_0x15eb21[_0x3d02('0x36')]=_0x15eb21[_0x3d02('0x36')][_0x3d02('0x58')]?_0x15eb21[_0x3d02('0x36')]:_0xc5c10b[_0x3d02('0x33')];_0x15eb21[_0x3d02('0x5a')]=qs[_0x3d02('0x3a')](_0x5b168b[_0x3d02('0x34')][_0x3d02('0x3a')]);_0x15eb21[_0x3d02('0x3b')]=qs[_0x3d02('0x3c')](_[_0x3d02('0x3d')](_0x5b168b[_0x3d02('0x34')],_0xc5c10b[_0x3d02('0x3c')]));if(_0x5b168b[_0x3d02('0x34')][_0x3d02('0x3e')]){_0x15eb21[_0x3d02('0x3b')]=_[_0x3d02('0x40')](_0x15eb21[_0x3d02('0x3b')],{'$or':_[_0x3d02('0x2e')](_0x15eb21[_0x3d02('0x36')],function(_0x205d03){var _0x1daf26={};_0x1daf26[_0x205d03]={'$like':'%'+_0x5b168b[_0x3d02('0x34')][_0x3d02('0x3e')]+'%'};return _0x1daf26;})});}_0x15eb21=_['merge']({},_0x15eb21,_0x5b168b[_0x3d02('0x41')]);return _0x1499b3[_0x3d02('0x89')](_0x15eb21);}})[_0x3d02('0x26')](function(_0x1918f5){if(_0x1918f5){_0x1ec195=_0x1918f5[_0x3d02('0x58')];if(!_0x5b168b[_0x3d02('0x34')][_0x3d02('0x59')](_0x3d02('0x39'))){_0x15eb21[_0x3d02('0x21')]=qs[_0x3d02('0x21')](_0x5b168b[_0x3d02('0x34')][_0x3d02('0x21')]);_0x15eb21[_0x3d02('0x1f')]=qs['offset'](_0x5b168b[_0x3d02('0x34')][_0x3d02('0x1f')]);}return _0x1499b3[_0x3d02('0x89')](_0x15eb21);}})['then'](function(_0xd25b3d){if(_0xd25b3d){return _0xd25b3d?{'count':_0x1ec195,'rows':_0xd25b3d}:null;}})['then'](respondWithResult(_0x22601a,null))[_0x3d02('0x50')](handleError(_0x22601a,null));};