6e03fedf614d41471ee1c6f2f0d169ef01ea3c80
[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 _0xfd85=['UserMailQueue','nolimit','User','findAndCountAll','agent','mailPause','createdAt','format','SIP','getTeams','ids','Team','Agents','online','voicePause','interface','sequelize','addTeams','forEach','emit','userMailQueue:save','removeTeams','select','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','union','compact','value','isEmpty','userMailQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./mailQueue.socket','register','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','reject','save','update','then','get','MailQueues','destroy','end','error','stack','name','send','index','MailQueue','type','key','model','map','query','filters','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','findAll','rows','catch','show','params','keys','rawAttributes','intersection','options','find','create','user','UserProfileSection','userProfileId','UserProfileResource','body','describe','getMembers','findOne'];(function(_0x2f1929,_0x220a01){var _0x4b6fb1=function(_0x5c954b){while(--_0x5c954b){_0x2f1929['push'](_0x2f1929['shift']());}};_0x4b6fb1(++_0x220a01);}(_0xfd85,0xba));var _0x5fd8=function(_0x46ae5a,_0x2a38d0){_0x46ae5a=_0x46ae5a-0x0;var _0x434986=_0xfd85[_0x46ae5a];return _0x434986;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x5fd8('0x0'));var jsonpatch=require(_0x5fd8('0x1'));var rp=require(_0x5fd8('0x2'));var moment=require(_0x5fd8('0x3'));var BPromise=require(_0x5fd8('0x4'));var Mustache=require(_0x5fd8('0x5'));var util=require(_0x5fd8('0x6'));var path=require(_0x5fd8('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x5fd8('0x8'));var fs=require('fs');var fs_extra=require(_0x5fd8('0x9'));var _=require('lodash');var squel=require(_0x5fd8('0xa'));var crypto=require(_0x5fd8('0xb'));var jsforce=require(_0x5fd8('0xc'));var deskjs=require(_0x5fd8('0xd'));var toCsv=require(_0x5fd8('0xe'));var querystring=require('querystring');var Papa=require(_0x5fd8('0xf'));var Redis=require(_0x5fd8('0x10'));var authService=require(_0x5fd8('0x11'));var qs=require(_0x5fd8('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5fd8('0x13'))(_0x5fd8('0x14'));var utils=require(_0x5fd8('0x15'));var config=require(_0x5fd8('0x16'));var licenseUtil=require(_0x5fd8('0x17'));var db=require(_0x5fd8('0x18'))['db'];config[_0x5fd8('0x19')]=_[_0x5fd8('0x1a')](config[_0x5fd8('0x19')],{'host':_0x5fd8('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x5fd8('0x1c'))[_0x5fd8('0x1d')](socket);function respondWithStatusCode(_0x4149de,_0x4eb3c1){_0x4eb3c1=_0x4eb3c1||0xcc;return function(_0x1a0baa){if(_0x1a0baa){return _0x4149de[_0x5fd8('0x1e')](_0x4eb3c1);}return _0x4149de[_0x5fd8('0x1f')](_0x4eb3c1)['end']();};}function respondWithResult(_0x39aa04,_0x47cbcc){_0x47cbcc=_0x47cbcc||0xc8;return function(_0x20caf2){if(_0x20caf2){return _0x39aa04['status'](_0x47cbcc)[_0x5fd8('0x20')](_0x20caf2);}};}function respondWithFilteredResult(_0x5b13f7,_0x2577c6){return function(_0xbd1079){if(_0xbd1079){var _0x40c8c1=typeof _0x2577c6[_0x5fd8('0x21')]==='undefined'&&typeof _0x2577c6[_0x5fd8('0x22')]===_0x5fd8('0x23');var _0x58fd2d=_0xbd1079[_0x5fd8('0x24')];var _0x58f593=_0x40c8c1?0x0:_0x2577c6[_0x5fd8('0x21')];var _0xc65bea=_0x40c8c1?_0xbd1079['count']:_0x2577c6[_0x5fd8('0x21')]+_0x2577c6['limit'];var _0x56d54d;if(_0xc65bea>=_0x58fd2d){_0xc65bea=_0x58fd2d;_0x56d54d=0xc8;}else{_0x56d54d=0xce;}_0x5b13f7['status'](_0x56d54d);return _0x5b13f7[_0x5fd8('0x25')](_0x5fd8('0x26'),_0x58f593+'-'+_0xc65bea+'/'+_0x58fd2d)[_0x5fd8('0x20')](_0xbd1079);}return null;};}function patchUpdates(_0x87d6bb){return function(_0x1a32f9){try{jsonpatch['apply'](_0x1a32f9,_0x87d6bb,!![]);}catch(_0x56420c){return BPromise[_0x5fd8('0x27')](_0x56420c);}return _0x1a32f9[_0x5fd8('0x28')]();};}function saveUpdates(_0x1cbeed,_0x14dc4a){return function(_0x1cd076){if(_0x1cd076){return _0x1cd076[_0x5fd8('0x29')](_0x1cbeed)[_0x5fd8('0x2a')](function(_0x202f23){return _0x202f23;});}return null;};}function removeEntity(_0x1fb650,_0x5524e1){return function(_0x33beb1){if(_0x33beb1){return _0x33beb1['destroy']()['then'](function(){var _0x239a54=_0x33beb1[_0x5fd8('0x2b')]({'plain':!![]});var _0x105898=_0x5fd8('0x2c');return db['UserProfileResource'][_0x5fd8('0x2d')]({'where':{'type':_0x105898,'resourceId':_0x239a54['id']}})[_0x5fd8('0x2a')](function(){return _0x33beb1;});})[_0x5fd8('0x2a')](function(){_0x1fb650[_0x5fd8('0x1f')](0xcc)[_0x5fd8('0x2e')]();});}};}function handleEntityNotFound(_0x18ae21,_0x1fbb24){return function(_0x293454){if(!_0x293454){_0x18ae21[_0x5fd8('0x1e')](0x194);}return _0x293454;};}function handleError(_0x6b3d9f,_0x18e1e8){_0x18e1e8=_0x18e1e8||0x1f4;return function(_0x15e16e){logger[_0x5fd8('0x2f')](_0x15e16e[_0x5fd8('0x30')]);if(_0x15e16e['name']){delete _0x15e16e[_0x5fd8('0x31')];}_0x6b3d9f[_0x5fd8('0x1f')](_0x18e1e8)[_0x5fd8('0x32')](_0x15e16e);};}exports[_0x5fd8('0x33')]=function(_0x30b1c5,_0x4d7baa){var _0x34494e={},_0x32dfd7={},_0x5e445c={'count':0x0,'rows':[]};var _0x295f18=_['map'](db[_0x5fd8('0x34')]['rawAttributes'],function(_0x3ec20d){return{'name':_0x3ec20d['fieldName'],'type':_0x3ec20d[_0x5fd8('0x35')][_0x5fd8('0x36')]};});_0x32dfd7[_0x5fd8('0x37')]=_[_0x5fd8('0x38')](_0x295f18,'name');_0x32dfd7[_0x5fd8('0x39')]=_['keys'](_0x30b1c5['query']);_0x32dfd7[_0x5fd8('0x3a')]=_['intersection'](_0x32dfd7[_0x5fd8('0x37')],_0x32dfd7['query']);_0x34494e['attributes']=_['intersection'](_0x32dfd7[_0x5fd8('0x37')],qs[_0x5fd8('0x3b')](_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x3b')]));_0x34494e[_0x5fd8('0x3c')]=_0x34494e[_0x5fd8('0x3c')][_0x5fd8('0x3d')]?_0x34494e[_0x5fd8('0x3c')]:_0x32dfd7[_0x5fd8('0x37')];if(!_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x3e')]('nolimit')){_0x34494e['limit']=qs[_0x5fd8('0x22')](_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x22')]);_0x34494e['offset']=qs[_0x5fd8('0x21')](_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x21')]);}_0x34494e[_0x5fd8('0x3f')]=qs['sort'](_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x40')]);_0x34494e[_0x5fd8('0x41')]=qs[_0x5fd8('0x3a')](_[_0x5fd8('0x42')](_0x30b1c5[_0x5fd8('0x39')],_0x32dfd7['filters']),_0x295f18);if(_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x43')]){_0x34494e[_0x5fd8('0x41')]=_[_0x5fd8('0x44')](_0x34494e[_0x5fd8('0x41')],{'$or':_['map'](_0x295f18,function(_0x153629){if(_0x153629['type']!==_0x5fd8('0x45')){var _0x1d1f39={};_0x1d1f39[_0x153629[_0x5fd8('0x31')]]={'$like':'%'+_0x30b1c5[_0x5fd8('0x39')][_0x5fd8('0x43')]+'%'};return _0x1d1f39;}})});}_0x34494e=_[_0x5fd8('0x44')]({},_0x34494e,_0x30b1c5['options']);var _0x14efdb={'where':_0x34494e[_0x5fd8('0x41')]};return db[_0x5fd8('0x34')][_0x5fd8('0x24')](_0x14efdb)[_0x5fd8('0x2a')](function(_0x2304c8){_0x5e445c[_0x5fd8('0x24')]=_0x2304c8;if(_0x30b1c5['query'][_0x5fd8('0x46')]){_0x34494e['include']=[{'all':!![]}];}return db['MailQueue'][_0x5fd8('0x47')](_0x34494e);})[_0x5fd8('0x2a')](function(_0x36569b){_0x5e445c[_0x5fd8('0x48')]=_0x36569b;return _0x5e445c;})[_0x5fd8('0x2a')](respondWithFilteredResult(_0x4d7baa,_0x34494e))[_0x5fd8('0x49')](handleError(_0x4d7baa,null));};exports[_0x5fd8('0x4a')]=function(_0x11c430,_0x3a39f0){var _0x4058d4={'raw':!![],'where':{'id':_0x11c430[_0x5fd8('0x4b')]['id']}},_0x1cc1f5={};_0x1cc1f5[_0x5fd8('0x37')]=_[_0x5fd8('0x4c')](db[_0x5fd8('0x34')][_0x5fd8('0x4d')]);_0x1cc1f5['query']=_[_0x5fd8('0x4c')](_0x11c430[_0x5fd8('0x39')]);_0x1cc1f5['filters']=_[_0x5fd8('0x4e')](_0x1cc1f5[_0x5fd8('0x37')],_0x1cc1f5[_0x5fd8('0x39')]);_0x4058d4['attributes']=_[_0x5fd8('0x4e')](_0x1cc1f5['model'],qs[_0x5fd8('0x3b')](_0x11c430[_0x5fd8('0x39')]['fields']));_0x4058d4['attributes']=_0x4058d4['attributes'][_0x5fd8('0x3d')]?_0x4058d4[_0x5fd8('0x3c')]:_0x1cc1f5[_0x5fd8('0x37')];if(_0x11c430['query'][_0x5fd8('0x46')]){_0x4058d4['include']=[{'all':!![]}];}_0x4058d4=_[_0x5fd8('0x44')]({},_0x4058d4,_0x11c430[_0x5fd8('0x4f')]);return db[_0x5fd8('0x34')][_0x5fd8('0x50')](_0x4058d4)['then'](handleEntityNotFound(_0x3a39f0,null))['then'](respondWithResult(_0x3a39f0,null))[_0x5fd8('0x49')](handleError(_0x3a39f0,null));};exports[_0x5fd8('0x51')]=function(_0x59ff73,_0x3876ce){return db[_0x5fd8('0x34')][_0x5fd8('0x51')](_0x59ff73['body'],{})[_0x5fd8('0x2a')](function(_0x46a720){var _0x435853=_0x59ff73[_0x5fd8('0x52')]['get']({'plain':!![]});if(!_0x435853)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x435853['role']==='user'){var _0x1ea3ed=_0x46a720[_0x5fd8('0x2b')]({'plain':!![]});var _0x396409=_0x5fd8('0x2c');return db[_0x5fd8('0x53')][_0x5fd8('0x50')]({'where':{'name':_0x396409,'userProfileId':_0x435853[_0x5fd8('0x54')]},'raw':!![]})[_0x5fd8('0x2a')](function(_0x5351a3){if(_0x5351a3&&_0x5351a3['autoAssociation']===0x0){return db[_0x5fd8('0x55')]['create']({'name':_0x1ea3ed[_0x5fd8('0x31')],'resourceId':_0x1ea3ed['id'],'type':_0x5351a3['name'],'sectionId':_0x5351a3['id']},{})[_0x5fd8('0x2a')](function(){return _0x46a720;});}else{return _0x46a720;}})[_0x5fd8('0x49')](function(_0x19cd16){logger[_0x5fd8('0x2f')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x19cd16);throw _0x19cd16;});}return _0x46a720;})[_0x5fd8('0x2a')](respondWithResult(_0x3876ce,0xc9))[_0x5fd8('0x49')](handleError(_0x3876ce,null));};exports['update']=function(_0x4eb6f6,_0x910f54){if(_0x4eb6f6[_0x5fd8('0x56')]['id']){delete _0x4eb6f6['body']['id'];}return db[_0x5fd8('0x34')]['find']({'where':{'id':_0x4eb6f6[_0x5fd8('0x4b')]['id']}})[_0x5fd8('0x2a')](handleEntityNotFound(_0x910f54,null))['then'](saveUpdates(_0x4eb6f6[_0x5fd8('0x56')],null))[_0x5fd8('0x2a')](respondWithResult(_0x910f54,null))[_0x5fd8('0x49')](handleError(_0x910f54,null));};exports['destroy']=function(_0x2f6f03,_0x1874ba){return db[_0x5fd8('0x34')]['find']({'where':{'id':_0x2f6f03['params']['id']}})['then'](handleEntityNotFound(_0x1874ba,null))['then'](removeEntity(_0x1874ba,null))[_0x5fd8('0x49')](handleError(_0x1874ba,null));};exports[_0x5fd8('0x57')]=function(_0x47f33e,_0x5c8b7e){return db[_0x5fd8('0x34')]['describe']()['then'](respondWithResult(_0x5c8b7e,null))[_0x5fd8('0x49')](handleError(_0x5c8b7e,null));};exports[_0x5fd8('0x58')]=function(_0x4071f4,_0x1a4e84,_0x1d961b){var _0xbcf4b8={'raw':!![],'where':{}},_0x2ad397={},_0x12cd1d;return db[_0x5fd8('0x34')][_0x5fd8('0x59')]({'where':{'id':_0x4071f4[_0x5fd8('0x4b')]['id']}})[_0x5fd8('0x2a')](handleEntityNotFound(_0x1a4e84,null))[_0x5fd8('0x2a')](function(_0x5e9212){if(_0x5e9212){_0x12cd1d=_0x5e9212[_0x5fd8('0x2b')]({'plain':!![]});_0x2ad397[_0x5fd8('0x37')]=_['keys'](db[_0x5fd8('0x5a')][_0x5fd8('0x4d')]);_0x2ad397[_0x5fd8('0x39')]=_[_0x5fd8('0x4c')](_0x4071f4[_0x5fd8('0x39')]);_0x2ad397[_0x5fd8('0x3a')]=_[_0x5fd8('0x4e')](_0x2ad397[_0x5fd8('0x37')],_0x2ad397[_0x5fd8('0x39')]);_0xbcf4b8[_0x5fd8('0x3c')]=_[_0x5fd8('0x4e')](_0x2ad397[_0x5fd8('0x37')],qs[_0x5fd8('0x3b')](_0x4071f4[_0x5fd8('0x39')][_0x5fd8('0x3b')]));_0xbcf4b8[_0x5fd8('0x3c')]=_0xbcf4b8[_0x5fd8('0x3c')][_0x5fd8('0x3d')]?_0xbcf4b8[_0x5fd8('0x3c')]:_0x2ad397['model'];if(!_0x4071f4[_0x5fd8('0x39')]['hasOwnProperty'](_0x5fd8('0x5b'))){_0xbcf4b8['limit']=qs[_0x5fd8('0x22')](_0x4071f4[_0x5fd8('0x39')]['limit']);_0xbcf4b8[_0x5fd8('0x21')]=qs[_0x5fd8('0x21')](_0x4071f4[_0x5fd8('0x39')]['offset']);}_0xbcf4b8[_0x5fd8('0x3f')]=qs['sort'](_0x4071f4[_0x5fd8('0x39')][_0x5fd8('0x40')]);_0xbcf4b8[_0x5fd8('0x41')]=qs[_0x5fd8('0x3a')](_[_0x5fd8('0x42')](_0x4071f4[_0x5fd8('0x39')],_0x2ad397[_0x5fd8('0x3a')]));_0xbcf4b8[_0x5fd8('0x41')]['MailQueueId']=_0x5e9212['id'];if(_0x4071f4[_0x5fd8('0x39')]['filter']){_0xbcf4b8[_0x5fd8('0x41')]=_[_0x5fd8('0x44')](_0xbcf4b8[_0x5fd8('0x41')],{'$or':_[_0x5fd8('0x38')](_0xbcf4b8['attributes'],function(_0x1e8fcb){var _0x3da8ff={};_0x3da8ff[_0x1e8fcb]={'$like':'%'+_0x4071f4[_0x5fd8('0x39')][_0x5fd8('0x43')]+'%'};return _0x3da8ff;})});}_0xbcf4b8=_[_0x5fd8('0x44')]({},_0xbcf4b8,_0x4071f4['options']);return db[_0x5fd8('0x5a')][_0x5fd8('0x47')](_0xbcf4b8);}})['then'](function(_0x1e206e){if(_0x1e206e){return db[_0x5fd8('0x5c')][_0x5fd8('0x5d')]({'where':{'id':_[_0x5fd8('0x38')](_0x1e206e,'UserId'),'role':_0x5fd8('0x5e')},'attributes':['id',_0x5fd8('0x31'),_0x5fd8('0x5f'),'updatedAt',_0x5fd8('0x60')]});}})[_0x5fd8('0x2a')](function(_0x577293){if(_0x577293){return{'count':_0x577293[_0x5fd8('0x24')],'rows':_[_0x5fd8('0x38')](_0x577293[_0x5fd8('0x48')],function(_0x180ff3){return{'membername':_0x180ff3[_0x5fd8('0x31')],'UserId':_0x180ff3['id'],'queue_name':_0x12cd1d[_0x5fd8('0x31')],'MailQueueId':_0x12cd1d['id'],'interface':util[_0x5fd8('0x61')]('%s/%s',_0x5fd8('0x62'),_0x180ff3[_0x5fd8('0x31')]),'penalty':0x0,'paused':_0x180ff3[_0x5fd8('0x5f')],'createdAt':_0x180ff3[_0x5fd8('0x60')],'updatedAt':_0x180ff3['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x5fd8('0x2a')](respondWithFilteredResult(_0x1a4e84,_0xbcf4b8))[_0x5fd8('0x49')](handleError(_0x1a4e84,null));};exports['getTeams']=function(_0x18d376,_0x45c70a,_0x522493){var _0x521d48={};var _0x331e89={};var _0x40aa57;var _0x292fb5;return db[_0x5fd8('0x34')][_0x5fd8('0x59')]({'where':{'id':_0x18d376[_0x5fd8('0x4b')]['id']}})['then'](handleEntityNotFound(_0x45c70a,null))['then'](function(_0x352517){if(_0x352517){_0x40aa57=_0x352517;_0x331e89[_0x5fd8('0x37')]=_['keys'](db['Team'][_0x5fd8('0x4d')]);_0x331e89[_0x5fd8('0x39')]=_['keys'](_0x18d376[_0x5fd8('0x39')]);_0x331e89[_0x5fd8('0x3a')]=_[_0x5fd8('0x4e')](_0x331e89[_0x5fd8('0x37')],_0x331e89[_0x5fd8('0x39')]);_0x521d48[_0x5fd8('0x3c')]=_[_0x5fd8('0x4e')](_0x331e89[_0x5fd8('0x37')],qs[_0x5fd8('0x3b')](_0x18d376['query']['fields']));_0x521d48[_0x5fd8('0x3c')]=_0x521d48[_0x5fd8('0x3c')][_0x5fd8('0x3d')]?_0x521d48[_0x5fd8('0x3c')]:_0x331e89[_0x5fd8('0x37')];_0x521d48[_0x5fd8('0x3f')]=qs[_0x5fd8('0x40')](_0x18d376[_0x5fd8('0x39')][_0x5fd8('0x40')]);_0x521d48[_0x5fd8('0x41')]=qs[_0x5fd8('0x3a')](_[_0x5fd8('0x42')](_0x18d376['query'],_0x331e89[_0x5fd8('0x3a')]));if(_0x18d376[_0x5fd8('0x39')][_0x5fd8('0x43')]){_0x521d48['where']=_[_0x5fd8('0x44')](_0x521d48[_0x5fd8('0x41')],{'$or':_['map'](_0x521d48[_0x5fd8('0x3c')],function(_0x2ace0f){var _0x930d24={};_0x930d24[_0x2ace0f]={'$like':'%'+_0x18d376[_0x5fd8('0x39')]['filter']+'%'};return _0x930d24;})});}_0x521d48=_[_0x5fd8('0x44')]({},_0x521d48,_0x18d376[_0x5fd8('0x4f')]);return _0x40aa57['getTeams'](_0x521d48);}})[_0x5fd8('0x2a')](function(_0x31bf0a){if(_0x31bf0a){_0x292fb5=_0x31bf0a[_0x5fd8('0x3d')];if(!_0x18d376[_0x5fd8('0x39')]['hasOwnProperty'](_0x5fd8('0x5b'))){_0x521d48[_0x5fd8('0x22')]=qs[_0x5fd8('0x22')](_0x18d376['query'][_0x5fd8('0x22')]);_0x521d48[_0x5fd8('0x21')]=qs['offset'](_0x18d376['query'][_0x5fd8('0x21')]);}return _0x40aa57[_0x5fd8('0x63')](_0x521d48);}})['then'](function(_0x1b0000){if(_0x1b0000){return _0x1b0000?{'count':_0x292fb5,'rows':_0x1b0000}:null;}})[_0x5fd8('0x2a')](respondWithResult(_0x45c70a,null))[_0x5fd8('0x49')](handleError(_0x45c70a,null));};exports['addTeams']=function(_0x20e816,_0x13c92d,_0x4cf9a0){var _0x4fd2e1=_0x20e816[_0x5fd8('0x56')][_0x5fd8('0x64')];return db[_0x5fd8('0x65')][_0x5fd8('0x47')]({'where':{'id':_0x4fd2e1},'attributes':['id'],'include':[{'model':db[_0x5fd8('0x5c')],'as':_0x5fd8('0x66'),'attributes':['id',_0x5fd8('0x31'),_0x5fd8('0x67'),_0x5fd8('0x68'),_0x5fd8('0x69')],'raw':!![]}]})[_0x5fd8('0x2a')](function(_0x13aab6){if(_0x13aab6){var _0x549290=_['flatMap'](_0x13aab6,function(_0xaf3319){var _0x55c67e=_0xaf3319['get']({'plain':!![]});return _0x55c67e['Agents'];});return db[_0x5fd8('0x34')][_0x5fd8('0x50')]({'where':{'id':_0x20e816[_0x5fd8('0x4b')]['id']}})[_0x5fd8('0x2a')](function(_0x7ed854){return db[_0x5fd8('0x6a')]['transaction'](function(_0x179579){return _0x7ed854[_0x5fd8('0x6b')](_0x4fd2e1,{'transaction':_0x179579})[_0x5fd8('0x2a')](function(){return BPromise['each'](_0x549290,function(_0x1db603){return db[_0x5fd8('0x5a')]['findOrCreate']({'where':{'UserId':_0x1db603['id'],'MailQueueId':_0x20e816['params']['id']},'transaction':_0x179579});});})[_0x5fd8('0x2a')](function(){_0x549290[_0x5fd8('0x6c')](function(_0x14c394){socket[_0x5fd8('0x6d')](_0x5fd8('0x6e'),{'UserId':_0x14c394['id'],'MailQueueId':_0x7ed854['id']});});});});});}})[_0x5fd8('0x2a')](respondWithStatusCode(_0x13c92d,null))[_0x5fd8('0x49')](handleError(_0x13c92d,null));};exports[_0x5fd8('0x6f')]=function(_0x4d4477,_0x2f0c86,_0x15b33a){return db[_0x5fd8('0x65')]['findAll']({'where':{'id':_0x4d4477[_0x5fd8('0x39')][_0x5fd8('0x64')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x5fd8('0x66'),'attributes':['id'],'raw':!![]}]})[_0x5fd8('0x2a')](handleEntityNotFound(_0x2f0c86,null))[_0x5fd8('0x2a')](function(_0x50c4ab){var _0x5a99f1=_[_0x5fd8('0x38')](_0x50c4ab,'id');var _0x3f153f=[];var _0x54d8b0=[];var _0x23e20e=squel[_0x5fd8('0x70')]();_0x23e20e['field'](_0x5fd8('0x71'))[_0x5fd8('0x72')]('team_has_mail_queues','tq')[_0x5fd8('0x73')](_0x5fd8('0x74'),'ut',_0x5fd8('0x75'))[_0x5fd8('0x41')]('MailQueueId\x20=\x20?',_0x4d4477[_0x5fd8('0x4b')]['id']);for(var _0xeb5860=0x0;_0xeb5860<_0x50c4ab['length'];_0xeb5860+=0x1){let _0x288c48=_0x50c4ab[_0xeb5860];for(var _0x3f7f63=0x0;_0x3f7f63<_0x288c48[_0x5fd8('0x66')]['length'];_0x3f7f63+=0x1){let _0x5f4ad9=_0x288c48[_0x5fd8('0x66')][_0x3f7f63];var _0x861db3=_0x23e20e[_0x5fd8('0x76')]();_0x861db3[_0x5fd8('0x41')](_0x5fd8('0x77'),_0x5f4ad9['id']);_0x54d8b0[_0x5fd8('0x78')](db[_0x5fd8('0x6a')][_0x5fd8('0x39')](_0x861db3[_0x5fd8('0x79')](),{'type':db['sequelize'][_0x5fd8('0x7a')][_0x5fd8('0x7b')]})['then'](function(_0x2e42aa){if(_0x2e42aa[_0x5fd8('0x3d')]===0x1){return _0x5f4ad9['id'];}else{var _0x1fa2df=_[_0x5fd8('0x7c')](_[_0x5fd8('0x38')](_0x2e42aa,_0x5fd8('0x7d')),function(_0xad5bec){return _[_0x5fd8('0x7e')](_0x5a99f1,_0xad5bec);});if(_0x1fa2df){return _0x5f4ad9['id'];}}}));}}return BPromise['all'](_0x54d8b0)[_0x5fd8('0x2a')](function(_0x39e47b){_0x3f153f=_(_0x3f153f)[_0x5fd8('0x7f')](_0x39e47b)[_0x5fd8('0x80')]()[_0x5fd8('0x81')]();return db['MailQueue'][_0x5fd8('0x50')]({'where':{'id':_0x4d4477['params']['id']}})[_0x5fd8('0x2a')](function(_0x952b67){return db[_0x5fd8('0x6a')]['transaction'](function(_0x4e31cd){return _0x952b67['removeTeams'](_0x4d4477[_0x5fd8('0x39')][_0x5fd8('0x64')],{'transaction':_0x4e31cd})[_0x5fd8('0x2a')](function(){if(!_[_0x5fd8('0x82')](_0x3f153f)){return _0x952b67['removeAgents'](_0x3f153f,{'transaction':_0x4e31cd});}})[_0x5fd8('0x2a')](function(){_0x3f153f[_0x5fd8('0x6c')](function(_0x107e93){socket['emit'](_0x5fd8('0x83'),{'UserId':_0x107e93,'MailQueueId':_0x952b67['id']});});});});});});})['then'](respondWithStatusCode(_0x2f0c86,null))[_0x5fd8('0x49')](handleError(_0x2f0c86,null));};exports[_0x5fd8('0x84')]=function(_0x4bd04c,_0x515061,_0x67aedc){return db['MailQueue']['find']({'where':{'id':_0x4bd04c[_0x5fd8('0x4b')]['id']}})[_0x5fd8('0x2a')](handleEntityNotFound(_0x515061,null))[_0x5fd8('0x2a')](function(_0x59ecef){if(_0x59ecef){return _0x59ecef[_0x5fd8('0x84')](_0x4bd04c['body'][_0x5fd8('0x64')],_[_0x5fd8('0x85')](_0x4bd04c[_0x5fd8('0x56')],[_0x5fd8('0x64'),'id'])||{})[_0x5fd8('0x86')](function(_0x4ff3e9){for(var _0x58a0a1=0x0;_0x58a0a1<_0x4bd04c[_0x5fd8('0x56')][_0x5fd8('0x64')][_0x5fd8('0x3d')];_0x58a0a1+=0x1){socket[_0x5fd8('0x6d')](_0x5fd8('0x6e'),{'UserId':_0x4bd04c[_0x5fd8('0x56')][_0x5fd8('0x64')][_0x58a0a1],'MailQueueId':_0x4bd04c[_0x5fd8('0x4b')]['id']});}return _0x4ff3e9;});}})[_0x5fd8('0x2a')](respondWithResult(_0x515061,null))['catch'](handleError(_0x515061,null));};exports[_0x5fd8('0x87')]=function(_0x19d738,_0x4c003a,_0x8891e6){return db[_0x5fd8('0x34')]['find']({'where':{'id':_0x19d738[_0x5fd8('0x4b')]['id']}})[_0x5fd8('0x2a')](handleEntityNotFound(_0x4c003a,null))[_0x5fd8('0x2a')](function(_0x4e9761){if(_0x4e9761){return _0x4e9761['removeAgents'](_0x19d738[_0x5fd8('0x39')][_0x5fd8('0x64')])[_0x5fd8('0x2a')](function(){if(_[_0x5fd8('0x88')](_0x19d738[_0x5fd8('0x39')][_0x5fd8('0x64')])){for(var _0x42c63d=0x0;_0x42c63d<_0x19d738['query'][_0x5fd8('0x64')][_0x5fd8('0x3d')];_0x42c63d+=0x1){socket[_0x5fd8('0x6d')]('userMailQueue:remove',{'UserId':Number(_0x19d738['query'][_0x5fd8('0x64')][_0x42c63d]),'MailQueueId':Number(_0x19d738[_0x5fd8('0x4b')]['id'])});}}else{socket['emit'](_0x5fd8('0x83'),{'UserId':Number(_0x19d738[_0x5fd8('0x39')][_0x5fd8('0x64')]),'MailQueueId':Number(_0x19d738['params']['id'])});}});}})[_0x5fd8('0x2a')](respondWithStatusCode(_0x4c003a,null))[_0x5fd8('0x49')](handleError(_0x4c003a,null));};exports['getAgents']=function(_0x578125,_0x55eb7d,_0x5cb15c){var _0x33df3b={};var _0x1a4e37={};var _0x254aa4;var _0x3ecf00;return db[_0x5fd8('0x34')]['findOne']({'where':{'id':_0x578125[_0x5fd8('0x4b')]['id']}})[_0x5fd8('0x2a')](handleEntityNotFound(_0x55eb7d,null))['then'](function(_0x137d97){if(_0x137d97){_0x254aa4=_0x137d97;_0x1a4e37[_0x5fd8('0x37')]=_[_0x5fd8('0x4c')](db['User'][_0x5fd8('0x4d')]);_0x1a4e37['query']=_[_0x5fd8('0x4c')](_0x578125['query']);_0x1a4e37[_0x5fd8('0x3a')]=_[_0x5fd8('0x4e')](_0x1a4e37[_0x5fd8('0x37')],_0x1a4e37[_0x5fd8('0x39')]);_0x33df3b['attributes']=_[_0x5fd8('0x4e')](_0x1a4e37[_0x5fd8('0x37')],qs[_0x5fd8('0x3b')](_0x578125['query'][_0x5fd8('0x3b')]));_0x33df3b[_0x5fd8('0x3c')]=_0x33df3b[_0x5fd8('0x3c')][_0x5fd8('0x3d')]?_0x33df3b[_0x5fd8('0x3c')]:_0x1a4e37[_0x5fd8('0x37')];_0x33df3b[_0x5fd8('0x3f')]=qs[_0x5fd8('0x40')](_0x578125[_0x5fd8('0x39')][_0x5fd8('0x40')]);_0x33df3b[_0x5fd8('0x41')]=qs[_0x5fd8('0x3a')](_[_0x5fd8('0x42')](_0x578125[_0x5fd8('0x39')],_0x1a4e37[_0x5fd8('0x3a')]));if(_0x578125['query'][_0x5fd8('0x43')]){_0x33df3b[_0x5fd8('0x41')]=_[_0x5fd8('0x44')](_0x33df3b[_0x5fd8('0x41')],{'$or':_[_0x5fd8('0x38')](_0x33df3b['attributes'],function(_0x5caa8c){var _0x43a30f={};_0x43a30f[_0x5caa8c]={'$like':'%'+_0x578125['query'][_0x5fd8('0x43')]+'%'};return _0x43a30f;})});}_0x33df3b=_[_0x5fd8('0x44')]({},_0x33df3b,_0x578125[_0x5fd8('0x4f')]);return _0x254aa4[_0x5fd8('0x89')](_0x33df3b);}})[_0x5fd8('0x2a')](function(_0x287e86){if(_0x287e86){_0x3ecf00=_0x287e86[_0x5fd8('0x3d')];if(!_0x578125[_0x5fd8('0x39')][_0x5fd8('0x3e')](_0x5fd8('0x5b'))){_0x33df3b[_0x5fd8('0x22')]=qs['limit'](_0x578125[_0x5fd8('0x39')]['limit']);_0x33df3b[_0x5fd8('0x21')]=qs[_0x5fd8('0x21')](_0x578125[_0x5fd8('0x39')][_0x5fd8('0x21')]);}return _0x254aa4[_0x5fd8('0x89')](_0x33df3b);}})['then'](function(_0xdf0ef1){if(_0xdf0ef1){return _0xdf0ef1?{'count':_0x3ecf00,'rows':_0xdf0ef1}:null;}})['then'](respondWithResult(_0x55eb7d,null))[_0x5fd8('0x49')](handleError(_0x55eb7d,null));};