10f2df43899d1350e9471f910132810ea622320a
[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 _0x6d45=['name','send','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','length','nolimit','limit','order','sort','merge','VIRTUAL','options','where','MailQueue','include','catch','params','keys','fields','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','findOne','UserMailQueue','hasOwnProperty','pick','filter','UserId','agent','mailPause','rows','format','%s/%s','SIP','createdAt','updatedAt','getTeams','addTeams','ids','findAll','User','online','voicePause','interface','Agents','sequelize','transaction','findOrCreate','forEach','emit','userMailQueue:save','field','tq.TeamId','from','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','toString','SELECT','every','TeamId','all','union','compact','value','removeTeams','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','./mailQueue.socket','sendStatus','end','status','json','count','offset','set','apply','reject','save','then','destroy','get','MailQueues','UserProfileResource','error'];(function(_0x528850,_0x5835a4){var _0x5ad49b=function(_0x3aeabc){while(--_0x3aeabc){_0x528850['push'](_0x528850['shift']());}};_0x5ad49b(++_0x5835a4);}(_0x6d45,0xe1));var _0x56d4=function(_0x40a73a,_0x4d3623){_0x40a73a=_0x40a73a-0x0;var _0x46e6cb=_0x6d45[_0x40a73a];return _0x46e6cb;};'use strict';var pdf=require(_0x56d4('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x56d4('0x1'));var zipdir=require(_0x56d4('0x2'));var jsonpatch=require(_0x56d4('0x3'));var rp=require(_0x56d4('0x4'));var moment=require(_0x56d4('0x5'));var BPromise=require(_0x56d4('0x6'));var Mustache=require('mustache');var util=require(_0x56d4('0x7'));var path=require(_0x56d4('0x8'));var sox=require(_0x56d4('0x9'));var csv=require(_0x56d4('0xa'));var ejs=require(_0x56d4('0xb'));var fs=require('fs');var _=require(_0x56d4('0xc'));var squel=require(_0x56d4('0xd'));var crypto=require('crypto');var jsforce=require(_0x56d4('0xe'));var deskjs=require(_0x56d4('0xf'));var toCsv=require(_0x56d4('0xa'));var querystring=require(_0x56d4('0x10'));var Papa=require('papaparse');var Redis=require(_0x56d4('0x11'));var authService=require(_0x56d4('0x12'));var qs=require(_0x56d4('0x13'));var as=require(_0x56d4('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x56d4('0x15'));var utils=require(_0x56d4('0x16'));var config=require(_0x56d4('0x17'));var licenseUtil=require(_0x56d4('0x18'));var db=require('../../mysqldb')['db'];config[_0x56d4('0x19')]=_['defaults'](config[_0x56d4('0x19')],{'host':_0x56d4('0x1a'),'port':0x18eb});var socket=require(_0x56d4('0x1b'))(new Redis(config[_0x56d4('0x19')]));require(_0x56d4('0x1c'))['register'](socket);function respondWithStatusCode(_0x1f7012,_0x4c6422){_0x4c6422=_0x4c6422||0xcc;return function(_0xff164a){if(_0xff164a){return _0x1f7012[_0x56d4('0x1d')](_0x4c6422);}return _0x1f7012['status'](_0x4c6422)[_0x56d4('0x1e')]();};}function respondWithResult(_0x12cada,_0x36a23e){_0x36a23e=_0x36a23e||0xc8;return function(_0x21b304){if(_0x21b304){return _0x12cada[_0x56d4('0x1f')](_0x36a23e)[_0x56d4('0x20')](_0x21b304);}};}function respondWithFilteredResult(_0x4848e0,_0x5c7097){return function(_0x1285fc){if(_0x1285fc){var _0x17d6d1=_0x1285fc[_0x56d4('0x21')],_0x3657dd=_0x5c7097[_0x56d4('0x22')],_0x5d7e7b=_0x5c7097[_0x56d4('0x22')]+_0x5c7097['limit'],_0x185685;if(_0x5d7e7b>=_0x17d6d1){_0x5d7e7b=_0x17d6d1;_0x185685=0xc8;}else{_0x185685=0xce;}_0x4848e0[_0x56d4('0x1f')](_0x185685);return _0x4848e0[_0x56d4('0x23')]('Content-Range',_0x3657dd+'-'+_0x5d7e7b+'/'+_0x17d6d1)[_0x56d4('0x20')](_0x1285fc);}return null;};}function patchUpdates(_0x4c4836){return function(_0x3c7195){try{jsonpatch[_0x56d4('0x24')](_0x3c7195,_0x4c4836,!![]);}catch(_0x42c0a6){return BPromise[_0x56d4('0x25')](_0x42c0a6);}return _0x3c7195[_0x56d4('0x26')]();};}function saveUpdates(_0x5806cd,_0x3ca53c){return function(_0x23175b){if(_0x23175b){return _0x23175b['update'](_0x5806cd)[_0x56d4('0x27')](function(_0x18d6b6){return _0x18d6b6;});}return null;};}function removeEntity(_0x35b400,_0x395ea2){return function(_0x2b53ff){if(_0x2b53ff){return _0x2b53ff[_0x56d4('0x28')]()[_0x56d4('0x27')](function(){var _0x50a6b5=_0x2b53ff[_0x56d4('0x29')]({'plain':!![]});var _0xb083b1=_0x56d4('0x2a');return db[_0x56d4('0x2b')][_0x56d4('0x28')]({'where':{'type':_0xb083b1,'resourceId':_0x50a6b5['id']}})['then'](function(){return _0x2b53ff;});})[_0x56d4('0x27')](function(){_0x35b400['status'](0xcc)[_0x56d4('0x1e')]();});}};}function handleEntityNotFound(_0x12e304,_0x3da28b){return function(_0xca1097){if(!_0xca1097){_0x12e304[_0x56d4('0x1d')](0x194);}return _0xca1097;};}function handleError(_0x3f138c,_0x28ab1b){_0x28ab1b=_0x28ab1b||0x1f4;return function(_0x4ac1f7){logger[_0x56d4('0x2c')](_0x4ac1f7['stack']);if(_0x4ac1f7[_0x56d4('0x2d')]){delete _0x4ac1f7[_0x56d4('0x2d')];}_0x3f138c[_0x56d4('0x1f')](_0x28ab1b)[_0x56d4('0x2e')](_0x4ac1f7);};}exports['index']=function(_0x2795e1,_0x44677f){var _0x17def2={},_0x59d115={},_0x2be4cd={'count':0x0,'rows':[]};var _0x42725c=_[_0x56d4('0x2f')](db['MailQueue'][_0x56d4('0x30')],function(_0x15e2d3){return{'name':_0x15e2d3[_0x56d4('0x31')],'type':_0x15e2d3[_0x56d4('0x32')][_0x56d4('0x33')]};});_0x59d115[_0x56d4('0x34')]=_['map'](_0x42725c,'name');_0x59d115[_0x56d4('0x35')]=_['keys'](_0x2795e1[_0x56d4('0x35')]);_0x59d115[_0x56d4('0x36')]=_[_0x56d4('0x37')](_0x59d115[_0x56d4('0x34')],_0x59d115[_0x56d4('0x35')]);_0x17def2['attributes']=_[_0x56d4('0x37')](_0x59d115['model'],qs['fields'](_0x2795e1['query']['fields']));_0x17def2['attributes']=_0x17def2[_0x56d4('0x38')][_0x56d4('0x39')]?_0x17def2[_0x56d4('0x38')]:_0x59d115['model'];if(!_0x2795e1[_0x56d4('0x35')]['hasOwnProperty'](_0x56d4('0x3a'))){_0x17def2[_0x56d4('0x3b')]=qs[_0x56d4('0x3b')](_0x2795e1[_0x56d4('0x35')][_0x56d4('0x3b')]);_0x17def2['offset']=qs[_0x56d4('0x22')](_0x2795e1[_0x56d4('0x35')][_0x56d4('0x22')]);}_0x17def2[_0x56d4('0x3c')]=qs[_0x56d4('0x3d')](_0x2795e1[_0x56d4('0x35')][_0x56d4('0x3d')]);_0x17def2['where']=qs[_0x56d4('0x36')](_['pick'](_0x2795e1[_0x56d4('0x35')],_0x59d115[_0x56d4('0x36')]),_0x42725c);if(_0x2795e1[_0x56d4('0x35')]['filter']){_0x17def2['where']=_[_0x56d4('0x3e')](_0x17def2['where'],{'$or':_[_0x56d4('0x2f')](_0x42725c,function(_0x30d092){if(_0x30d092['type']!==_0x56d4('0x3f')){var _0x30198a={};_0x30198a[_0x30d092[_0x56d4('0x2d')]]={'$like':'%'+_0x2795e1[_0x56d4('0x35')]['filter']+'%'};return _0x30198a;}})});}_0x17def2=_[_0x56d4('0x3e')]({},_0x17def2,_0x2795e1[_0x56d4('0x40')]);var _0x1b4fc6={'where':_0x17def2[_0x56d4('0x41')]};return db[_0x56d4('0x42')]['count'](_0x1b4fc6)[_0x56d4('0x27')](function(_0x14ce9a){_0x2be4cd[_0x56d4('0x21')]=_0x14ce9a;if(_0x2795e1[_0x56d4('0x35')]['includeAll']){_0x17def2[_0x56d4('0x43')]=[{'all':!![]}];}return db[_0x56d4('0x42')]['findAll'](_0x17def2);})['then'](function(_0x2bf8c1){_0x2be4cd['rows']=_0x2bf8c1;return _0x2be4cd;})[_0x56d4('0x27')](respondWithFilteredResult(_0x44677f,_0x17def2))[_0x56d4('0x44')](handleError(_0x44677f,null));};exports['show']=function(_0x4e80f1,_0x2c25bc){var _0x269996={'raw':!![],'where':{'id':_0x4e80f1[_0x56d4('0x45')]['id']}},_0x2ac434={};_0x2ac434[_0x56d4('0x34')]=_[_0x56d4('0x46')](db['MailQueue']['rawAttributes']);_0x2ac434['query']=_[_0x56d4('0x46')](_0x4e80f1['query']);_0x2ac434[_0x56d4('0x36')]=_[_0x56d4('0x37')](_0x2ac434[_0x56d4('0x34')],_0x2ac434[_0x56d4('0x35')]);_0x269996[_0x56d4('0x38')]=_[_0x56d4('0x37')](_0x2ac434[_0x56d4('0x34')],qs[_0x56d4('0x47')](_0x4e80f1[_0x56d4('0x35')]['fields']));_0x269996[_0x56d4('0x38')]=_0x269996['attributes'][_0x56d4('0x39')]?_0x269996['attributes']:_0x2ac434['model'];if(_0x4e80f1[_0x56d4('0x35')]['includeAll']){_0x269996[_0x56d4('0x43')]=[{'all':!![]}];}_0x269996=_['merge']({},_0x269996,_0x4e80f1[_0x56d4('0x40')]);return db[_0x56d4('0x42')][_0x56d4('0x48')](_0x269996)['then'](handleEntityNotFound(_0x2c25bc,null))['then'](respondWithResult(_0x2c25bc,null))[_0x56d4('0x44')](handleError(_0x2c25bc,null));};exports[_0x56d4('0x49')]=function(_0x29d0ca,_0xe52104){return db['MailQueue'][_0x56d4('0x49')](_0x29d0ca[_0x56d4('0x4a')],{})[_0x56d4('0x27')](function(_0x25b00b){var _0x495abc=_0x29d0ca['user'][_0x56d4('0x29')]({'plain':!![]});if(!_0x495abc)throw new Error(_0x56d4('0x4b'));if(_0x495abc[_0x56d4('0x4c')]===_0x56d4('0x4d')){var _0x2303bc=_0x25b00b['get']({'plain':!![]});var _0x5df5d5=_0x56d4('0x2a');return db[_0x56d4('0x4e')]['find']({'where':{'name':_0x5df5d5,'userProfileId':_0x495abc['userProfileId']},'raw':!![]})[_0x56d4('0x27')](function(_0x2332d0){if(_0x2332d0&&_0x2332d0['autoAssociation']===0x0){return db['UserProfileResource'][_0x56d4('0x49')]({'name':_0x2303bc['name'],'resourceId':_0x2303bc['id'],'type':_0x2332d0['name'],'sectionId':_0x2332d0['id']},{})[_0x56d4('0x27')](function(){return _0x25b00b;});}else{return _0x25b00b;}})['catch'](function(_0x14a331){logger[_0x56d4('0x2c')](_0x56d4('0x4f'),_0x14a331);throw _0x14a331;});}return _0x25b00b;})[_0x56d4('0x27')](respondWithResult(_0xe52104,0xc9))[_0x56d4('0x44')](handleError(_0xe52104,null));};exports[_0x56d4('0x50')]=function(_0x4c64ce,_0x3f3e29){if(_0x4c64ce[_0x56d4('0x4a')]['id']){delete _0x4c64ce[_0x56d4('0x4a')]['id'];}return db[_0x56d4('0x42')][_0x56d4('0x48')]({'where':{'id':_0x4c64ce[_0x56d4('0x45')]['id']}})[_0x56d4('0x27')](handleEntityNotFound(_0x3f3e29,null))[_0x56d4('0x27')](saveUpdates(_0x4c64ce[_0x56d4('0x4a')],null))[_0x56d4('0x27')](respondWithResult(_0x3f3e29,null))[_0x56d4('0x44')](handleError(_0x3f3e29,null));};exports['destroy']=function(_0x4415fa,_0xb7a06c){return db[_0x56d4('0x42')][_0x56d4('0x48')]({'where':{'id':_0x4415fa[_0x56d4('0x45')]['id']}})[_0x56d4('0x27')](handleEntityNotFound(_0xb7a06c,null))[_0x56d4('0x27')](removeEntity(_0xb7a06c,null))['catch'](handleError(_0xb7a06c,null));};exports[_0x56d4('0x51')]=function(_0x23ea9d,_0x2d06c6){return db[_0x56d4('0x42')]['describe']()[_0x56d4('0x27')](respondWithResult(_0x2d06c6,null))[_0x56d4('0x44')](handleError(_0x2d06c6,null));};exports['getMembers']=function(_0x249367,_0xe6475,_0x310b1c){var _0x5c429f={'raw':!![],'where':{}},_0x299d02={},_0x22f78f;return db[_0x56d4('0x42')][_0x56d4('0x52')]({'where':{'id':_0x249367[_0x56d4('0x45')]['id']}})[_0x56d4('0x27')](handleEntityNotFound(_0xe6475,null))[_0x56d4('0x27')](function(_0x132849){if(_0x132849){_0x22f78f=_0x132849['get']({'plain':!![]});_0x299d02[_0x56d4('0x34')]=_[_0x56d4('0x46')](db[_0x56d4('0x53')]['rawAttributes']);_0x299d02[_0x56d4('0x35')]=_[_0x56d4('0x46')](_0x249367['query']);_0x299d02['filters']=_[_0x56d4('0x37')](_0x299d02[_0x56d4('0x34')],_0x299d02[_0x56d4('0x35')]);_0x5c429f['attributes']=_['intersection'](_0x299d02['model'],qs[_0x56d4('0x47')](_0x249367[_0x56d4('0x35')][_0x56d4('0x47')]));_0x5c429f[_0x56d4('0x38')]=_0x5c429f['attributes'][_0x56d4('0x39')]?_0x5c429f[_0x56d4('0x38')]:_0x299d02[_0x56d4('0x34')];if(!_0x249367[_0x56d4('0x35')][_0x56d4('0x54')](_0x56d4('0x3a'))){_0x5c429f[_0x56d4('0x3b')]=qs['limit'](_0x249367['query'][_0x56d4('0x3b')]);_0x5c429f['offset']=qs[_0x56d4('0x22')](_0x249367[_0x56d4('0x35')][_0x56d4('0x22')]);}_0x5c429f[_0x56d4('0x3c')]=qs[_0x56d4('0x3d')](_0x249367['query'][_0x56d4('0x3d')]);_0x5c429f['where']=qs[_0x56d4('0x36')](_[_0x56d4('0x55')](_0x249367['query'],_0x299d02[_0x56d4('0x36')]));_0x5c429f[_0x56d4('0x41')]['MailQueueId']=_0x132849['id'];if(_0x249367[_0x56d4('0x35')]['filter']){_0x5c429f[_0x56d4('0x41')]=_[_0x56d4('0x3e')](_0x5c429f['where'],{'$or':_[_0x56d4('0x2f')](_0x5c429f[_0x56d4('0x38')],function(_0x100c69){var _0x5a56b7={};_0x5a56b7[_0x100c69]={'$like':'%'+_0x249367[_0x56d4('0x35')][_0x56d4('0x56')]+'%'};return _0x5a56b7;})});}_0x5c429f=_[_0x56d4('0x3e')]({},_0x5c429f,_0x249367[_0x56d4('0x40')]);return db[_0x56d4('0x53')]['findAll'](_0x5c429f);}})[_0x56d4('0x27')](function(_0x2da69f){if(_0x2da69f){return db['User']['findAndCountAll']({'where':{'id':_[_0x56d4('0x2f')](_0x2da69f,_0x56d4('0x57')),'role':_0x56d4('0x58')},'attributes':['id','name',_0x56d4('0x59'),'updatedAt','createdAt']});}})['then'](function(_0x2d3878){if(_0x2d3878){return{'count':_0x2d3878[_0x56d4('0x21')],'rows':_[_0x56d4('0x2f')](_0x2d3878[_0x56d4('0x5a')],function(_0x2a55b2){return{'membername':_0x2a55b2[_0x56d4('0x2d')],'UserId':_0x2a55b2['id'],'queue_name':_0x22f78f[_0x56d4('0x2d')],'MailQueueId':_0x22f78f['id'],'interface':util[_0x56d4('0x5b')](_0x56d4('0x5c'),_0x56d4('0x5d'),_0x2a55b2['name']),'penalty':0x0,'paused':_0x2a55b2[_0x56d4('0x59')],'createdAt':_0x2a55b2[_0x56d4('0x5e')],'updatedAt':_0x2a55b2[_0x56d4('0x5f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x56d4('0x27')](respondWithFilteredResult(_0xe6475,_0x5c429f))[_0x56d4('0x44')](handleError(_0xe6475,null));};exports[_0x56d4('0x60')]=function(_0x4e229b,_0x5e6110,_0x505aab){var _0x4132b8={};var _0x5c813b={};var _0x1d4dce;var _0x5528d9;return db[_0x56d4('0x42')]['findOne']({'where':{'id':_0x4e229b['params']['id']}})['then'](handleEntityNotFound(_0x5e6110,null))[_0x56d4('0x27')](function(_0x209fea){if(_0x209fea){_0x1d4dce=_0x209fea;_0x5c813b['model']=_[_0x56d4('0x46')](db['Team'][_0x56d4('0x30')]);_0x5c813b[_0x56d4('0x35')]=_[_0x56d4('0x46')](_0x4e229b[_0x56d4('0x35')]);_0x5c813b[_0x56d4('0x36')]=_[_0x56d4('0x37')](_0x5c813b[_0x56d4('0x34')],_0x5c813b['query']);_0x4132b8[_0x56d4('0x38')]=_[_0x56d4('0x37')](_0x5c813b['model'],qs['fields'](_0x4e229b['query']['fields']));_0x4132b8[_0x56d4('0x38')]=_0x4132b8[_0x56d4('0x38')][_0x56d4('0x39')]?_0x4132b8['attributes']:_0x5c813b[_0x56d4('0x34')];_0x4132b8[_0x56d4('0x3c')]=qs[_0x56d4('0x3d')](_0x4e229b[_0x56d4('0x35')]['sort']);_0x4132b8[_0x56d4('0x41')]=qs[_0x56d4('0x36')](_[_0x56d4('0x55')](_0x4e229b[_0x56d4('0x35')],_0x5c813b['filters']));if(_0x4e229b[_0x56d4('0x35')][_0x56d4('0x56')]){_0x4132b8[_0x56d4('0x41')]=_[_0x56d4('0x3e')](_0x4132b8[_0x56d4('0x41')],{'$or':_[_0x56d4('0x2f')](_0x4132b8[_0x56d4('0x38')],function(_0x5d55d2){var _0x2912db={};_0x2912db[_0x5d55d2]={'$like':'%'+_0x4e229b['query']['filter']+'%'};return _0x2912db;})});}_0x4132b8=_['merge']({},_0x4132b8,_0x4e229b['options']);return _0x1d4dce[_0x56d4('0x60')](_0x4132b8);}})[_0x56d4('0x27')](function(_0x574294){if(_0x574294){_0x5528d9=_0x574294[_0x56d4('0x39')];if(!_0x4e229b['query'][_0x56d4('0x54')]('nolimit')){_0x4132b8[_0x56d4('0x3b')]=qs['limit'](_0x4e229b[_0x56d4('0x35')]['limit']);_0x4132b8[_0x56d4('0x22')]=qs[_0x56d4('0x22')](_0x4e229b[_0x56d4('0x35')]['offset']);}return _0x1d4dce[_0x56d4('0x60')](_0x4132b8);}})['then'](function(_0x1ee3c5){if(_0x1ee3c5){return _0x1ee3c5?{'count':_0x5528d9,'rows':_0x1ee3c5}:null;}})[_0x56d4('0x27')](respondWithResult(_0x5e6110,null))['catch'](handleError(_0x5e6110,null));};exports[_0x56d4('0x61')]=function(_0x398e72,_0x1b456b,_0x2cc062){var _0x495a48=_0x398e72[_0x56d4('0x4a')][_0x56d4('0x62')];return db['Team'][_0x56d4('0x63')]({'where':{'id':_0x495a48},'attributes':['id'],'include':[{'model':db[_0x56d4('0x64')],'as':'Agents','attributes':['id','name',_0x56d4('0x65'),_0x56d4('0x66'),_0x56d4('0x67')],'raw':!![]}]})[_0x56d4('0x27')](function(_0x495bfe){if(_0x495bfe){var _0x286257=_['flatMap'](_0x495bfe,function(_0x3d9190){var _0x37fe54=_0x3d9190[_0x56d4('0x29')]({'plain':!![]});return _0x37fe54[_0x56d4('0x68')];});return db[_0x56d4('0x42')][_0x56d4('0x48')]({'where':{'id':_0x398e72['params']['id']}})[_0x56d4('0x27')](function(_0x20b33e){return db[_0x56d4('0x69')][_0x56d4('0x6a')](function(_0x4d2c8e){return _0x20b33e[_0x56d4('0x61')](_0x495a48,{'transaction':_0x4d2c8e})[_0x56d4('0x27')](function(){return BPromise['each'](_0x286257,function(_0x1660cf){return db[_0x56d4('0x53')][_0x56d4('0x6b')]({'where':{'UserId':_0x1660cf['id'],'MailQueueId':_0x398e72['params']['id']},'transaction':_0x4d2c8e});});})['then'](function(){_0x286257[_0x56d4('0x6c')](function(_0x252985){socket[_0x56d4('0x6d')](_0x56d4('0x6e'),{'UserId':_0x252985['id'],'MailQueueId':_0x20b33e['id']});});});});});}})[_0x56d4('0x27')](respondWithStatusCode(_0x1b456b,null))[_0x56d4('0x44')](handleError(_0x1b456b,null));};exports['removeTeams']=function(_0x3c428e,_0x13fe72,_0x26d7b1){return db['Team'][_0x56d4('0x63')]({'where':{'id':_0x3c428e[_0x56d4('0x35')][_0x56d4('0x62')]},'attributes':['id'],'include':[{'model':db[_0x56d4('0x64')],'as':_0x56d4('0x68'),'attributes':['id'],'raw':!![]}]})[_0x56d4('0x27')](handleEntityNotFound(_0x13fe72,null))['then'](function(_0x2d62c0){var _0x2a1669=_['map'](_0x2d62c0,'id');var _0x344207=[];var _0x198829=[];var _0x538181=squel['select']();_0x538181[_0x56d4('0x6f')](_0x56d4('0x70'))[_0x56d4('0x71')](_0x56d4('0x72'),'tq')[_0x56d4('0x73')]('user_has_teams','ut',_0x56d4('0x74'))[_0x56d4('0x41')]('MailQueueId\x20=\x20?',_0x3c428e[_0x56d4('0x45')]['id']);for(var _0x5c6d8a=0x0;_0x5c6d8a<_0x2d62c0[_0x56d4('0x39')];_0x5c6d8a+=0x1){let _0xe71cb0=_0x2d62c0[_0x5c6d8a];for(var _0x23edca=0x0;_0x23edca<_0xe71cb0[_0x56d4('0x68')][_0x56d4('0x39')];_0x23edca+=0x1){let _0x395fd1=_0xe71cb0[_0x56d4('0x68')][_0x23edca];var _0x54dbe9=_0x538181[_0x56d4('0x75')]();_0x54dbe9[_0x56d4('0x41')](_0x56d4('0x76'),_0x395fd1['id']);_0x198829['push'](db[_0x56d4('0x69')][_0x56d4('0x35')](_0x54dbe9[_0x56d4('0x77')](),{'type':db['sequelize']['QueryTypes'][_0x56d4('0x78')]})[_0x56d4('0x27')](function(_0x59d0b1){if(_0x59d0b1[_0x56d4('0x39')]===0x1){return _0x395fd1['id'];}else{var _0x312ca6=_[_0x56d4('0x79')](_[_0x56d4('0x2f')](_0x59d0b1,_0x56d4('0x7a')),function(_0x3727ed){return _['includes'](_0x2a1669,_0x3727ed);});if(_0x312ca6){return _0x395fd1['id'];}}}));}}return BPromise[_0x56d4('0x7b')](_0x198829)[_0x56d4('0x27')](function(_0x29d8ee){_0x344207=_(_0x344207)[_0x56d4('0x7c')](_0x29d8ee)[_0x56d4('0x7d')]()[_0x56d4('0x7e')]();return db[_0x56d4('0x42')][_0x56d4('0x48')]({'where':{'id':_0x3c428e[_0x56d4('0x45')]['id']}})['then'](function(_0x100744){return db[_0x56d4('0x69')]['transaction'](function(_0x1528e0){return _0x100744[_0x56d4('0x7f')](_0x3c428e[_0x56d4('0x35')][_0x56d4('0x62')],{'transaction':_0x1528e0})[_0x56d4('0x27')](function(){if(!_['isEmpty'](_0x344207)){return _0x100744[_0x56d4('0x80')](_0x344207,{'transaction':_0x1528e0});}})[_0x56d4('0x27')](function(){_0x344207[_0x56d4('0x6c')](function(_0x538301){socket[_0x56d4('0x6d')](_0x56d4('0x81'),{'UserId':_0x538301,'MailQueueId':_0x100744['id']});});});});});});})[_0x56d4('0x27')](respondWithStatusCode(_0x13fe72,null))[_0x56d4('0x44')](handleError(_0x13fe72,null));};exports[_0x56d4('0x82')]=function(_0x1fad0b,_0x5d7050,_0x5f3b99){return db[_0x56d4('0x42')][_0x56d4('0x48')]({'where':{'id':_0x1fad0b['params']['id']}})['then'](handleEntityNotFound(_0x5d7050,null))[_0x56d4('0x27')](function(_0x5df3ff){if(_0x5df3ff){return _0x5df3ff[_0x56d4('0x82')](_0x1fad0b[_0x56d4('0x4a')]['ids'],_[_0x56d4('0x83')](_0x1fad0b['body'],[_0x56d4('0x62'),'id'])||{})[_0x56d4('0x84')](function(_0x58827d){for(var _0x277ac0=0x0;_0x277ac0<_0x1fad0b['body'][_0x56d4('0x62')][_0x56d4('0x39')];_0x277ac0+=0x1){socket[_0x56d4('0x6d')]('userMailQueue:save',{'UserId':_0x1fad0b[_0x56d4('0x4a')][_0x56d4('0x62')][_0x277ac0],'MailQueueId':_0x1fad0b[_0x56d4('0x45')]['id']});}return _0x58827d;});}})[_0x56d4('0x27')](respondWithResult(_0x5d7050,null))[_0x56d4('0x44')](handleError(_0x5d7050,null));};exports[_0x56d4('0x80')]=function(_0x4bb918,_0x1a50f3,_0x40c923){return db['MailQueue'][_0x56d4('0x48')]({'where':{'id':_0x4bb918[_0x56d4('0x45')]['id']}})[_0x56d4('0x27')](handleEntityNotFound(_0x1a50f3,null))[_0x56d4('0x27')](function(_0x2e924f){if(_0x2e924f){return _0x2e924f['removeAgents'](_0x4bb918['query']['ids'])['then'](function(){if(_[_0x56d4('0x85')](_0x4bb918['query'][_0x56d4('0x62')])){for(var _0x3025de=0x0;_0x3025de<_0x4bb918[_0x56d4('0x35')]['ids'][_0x56d4('0x39')];_0x3025de+=0x1){socket[_0x56d4('0x6d')](_0x56d4('0x81'),{'UserId':Number(_0x4bb918[_0x56d4('0x35')][_0x56d4('0x62')][_0x3025de]),'MailQueueId':Number(_0x4bb918[_0x56d4('0x45')]['id'])});}}else{socket['emit'](_0x56d4('0x81'),{'UserId':Number(_0x4bb918[_0x56d4('0x35')][_0x56d4('0x62')]),'MailQueueId':Number(_0x4bb918[_0x56d4('0x45')]['id'])});}});}})['then'](respondWithStatusCode(_0x1a50f3,null))['catch'](handleError(_0x1a50f3,null));};exports[_0x56d4('0x86')]=function(_0x18e002,_0x3b0097,_0x327a5c){var _0x439e91={};var _0x636ea0={};var _0x47741b;var _0x36592f;return db[_0x56d4('0x42')][_0x56d4('0x52')]({'where':{'id':_0x18e002[_0x56d4('0x45')]['id']}})['then'](handleEntityNotFound(_0x3b0097,null))['then'](function(_0x4c5293){if(_0x4c5293){_0x47741b=_0x4c5293;_0x636ea0[_0x56d4('0x34')]=_[_0x56d4('0x46')](db['User'][_0x56d4('0x30')]);_0x636ea0[_0x56d4('0x35')]=_['keys'](_0x18e002[_0x56d4('0x35')]);_0x636ea0[_0x56d4('0x36')]=_[_0x56d4('0x37')](_0x636ea0[_0x56d4('0x34')],_0x636ea0['query']);_0x439e91[_0x56d4('0x38')]=_[_0x56d4('0x37')](_0x636ea0[_0x56d4('0x34')],qs[_0x56d4('0x47')](_0x18e002[_0x56d4('0x35')][_0x56d4('0x47')]));_0x439e91[_0x56d4('0x38')]=_0x439e91[_0x56d4('0x38')][_0x56d4('0x39')]?_0x439e91[_0x56d4('0x38')]:_0x636ea0['model'];_0x439e91[_0x56d4('0x3c')]=qs[_0x56d4('0x3d')](_0x18e002[_0x56d4('0x35')]['sort']);_0x439e91[_0x56d4('0x41')]=qs['filters'](_[_0x56d4('0x55')](_0x18e002[_0x56d4('0x35')],_0x636ea0[_0x56d4('0x36')]));if(_0x18e002[_0x56d4('0x35')][_0x56d4('0x56')]){_0x439e91['where']=_[_0x56d4('0x3e')](_0x439e91[_0x56d4('0x41')],{'$or':_['map'](_0x439e91[_0x56d4('0x38')],function(_0x6d1cb){var _0x333635={};_0x333635[_0x6d1cb]={'$like':'%'+_0x18e002[_0x56d4('0x35')][_0x56d4('0x56')]+'%'};return _0x333635;})});}_0x439e91=_[_0x56d4('0x3e')]({},_0x439e91,_0x18e002[_0x56d4('0x40')]);return _0x47741b['getAgents'](_0x439e91);}})[_0x56d4('0x27')](function(_0x344ee7){if(_0x344ee7){_0x36592f=_0x344ee7[_0x56d4('0x39')];if(!_0x18e002[_0x56d4('0x35')][_0x56d4('0x54')](_0x56d4('0x3a'))){_0x439e91[_0x56d4('0x3b')]=qs['limit'](_0x18e002[_0x56d4('0x35')][_0x56d4('0x3b')]);_0x439e91['offset']=qs[_0x56d4('0x22')](_0x18e002['query'][_0x56d4('0x22')]);}return _0x47741b['getAgents'](_0x439e91);}})[_0x56d4('0x27')](function(_0x5b66eb){if(_0x5b66eb){return _0x5b66eb?{'count':_0x36592f,'rows':_0x5b66eb}:null;}})['then'](respondWithResult(_0x3b0097,null))[_0x56d4('0x44')](handleError(_0x3b0097,null));};