212af7ba6b9735ca402653e740e7bd800e5e6692
[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 _0x3360=['online','voicePause','interface','sequelize','transaction','addTeams','UserMailQueue','findOrCreate','removeTeams','ids','tq.TeamId','from','team_has_mail_queues','join','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','isEmpty','forEach','userMailQueue:remove','addAgents','omit','spread','userMailQueue:save','removeAgents','isArray','emit','getAgents','findOne','pick','eml-format','rimraf','moment','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','end','json','undefined','limit','count','offset','status','set','Content-Range','apply','reject','save','update','then','destroy','MailQueues','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','nolimit','order','sort','where','filter','merge','options','MailQueue','includeAll','include','rows','show','params','length','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','hasOwnProperty','MailQueueId','findAll','User','findAndCountAll','UserId','agent','mailPause','createdAt','format','%s/%s','SIP','updatedAt','getTeams','Team','Agents'];(function(_0x54265a,_0x4d6099){var _0x3267e1=function(_0x4ec166){while(--_0x4ec166){_0x54265a['push'](_0x54265a['shift']());}};_0x3267e1(++_0x4d6099);}(_0x3360,0x1d7));var _0x0336=function(_0x3f8b83,_0x1a068a){_0x3f8b83=_0x3f8b83-0x0;var _0x454106=_0x3360[_0x3f8b83];return _0x454106;};'use strict';var emlformat=require(_0x0336('0x0'));var rimraf=require(_0x0336('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0336('0x2'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x0336('0x3'));var path=require(_0x0336('0x4'));var sox=require(_0x0336('0x5'));var csv=require(_0x0336('0x6'));var ejs=require(_0x0336('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x0336('0x8'));var crypto=require(_0x0336('0x9'));var jsforce=require(_0x0336('0xa'));var deskjs=require(_0x0336('0xb'));var toCsv=require(_0x0336('0x6'));var querystring=require('querystring');var Papa=require(_0x0336('0xc'));var Redis=require(_0x0336('0xd'));var authService=require(_0x0336('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0x0336('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0336('0x10'))(_0x0336('0x11'));var utils=require(_0x0336('0x12'));var config=require(_0x0336('0x13'));var licenseUtil=require(_0x0336('0x14'));var db=require('../../mysqldb')['db'];config[_0x0336('0x15')]=_[_0x0336('0x16')](config[_0x0336('0x15')],{'host':_0x0336('0x17'),'port':0x18eb});var socket=require(_0x0336('0x18'))(new Redis(config['redis']));require(_0x0336('0x19'))[_0x0336('0x1a')](socket);function respondWithStatusCode(_0x260584,_0xf12764){_0xf12764=_0xf12764||0xcc;return function(_0x4ac3e6){if(_0x4ac3e6){return _0x260584[_0x0336('0x1b')](_0xf12764);}return _0x260584['status'](_0xf12764)[_0x0336('0x1c')]();};}function respondWithResult(_0x451c76,_0x5dbd61){_0x5dbd61=_0x5dbd61||0xc8;return function(_0x5ea4c6){if(_0x5ea4c6){return _0x451c76['status'](_0x5dbd61)[_0x0336('0x1d')](_0x5ea4c6);}};}function respondWithFilteredResult(_0x15a59b,_0x9393a8){return function(_0x2f6e9a){if(_0x2f6e9a){var _0x1bc5c2=typeof _0x9393a8['offset']===_0x0336('0x1e')&&typeof _0x9393a8[_0x0336('0x1f')]===_0x0336('0x1e');var _0xafcdd9=_0x2f6e9a['count'];var _0x5591f4=_0x1bc5c2?0x0:_0x9393a8['offset'];var _0x3941d8=_0x1bc5c2?_0x2f6e9a[_0x0336('0x20')]:_0x9393a8[_0x0336('0x21')]+_0x9393a8[_0x0336('0x1f')];var _0x5d9f83;if(_0x3941d8>=_0xafcdd9){_0x3941d8=_0xafcdd9;_0x5d9f83=0xc8;}else{_0x5d9f83=0xce;}_0x15a59b[_0x0336('0x22')](_0x5d9f83);return _0x15a59b[_0x0336('0x23')](_0x0336('0x24'),_0x5591f4+'-'+_0x3941d8+'/'+_0xafcdd9)['json'](_0x2f6e9a);}return null;};}function patchUpdates(_0x5c9e4d){return function(_0x139d5e){try{jsonpatch[_0x0336('0x25')](_0x139d5e,_0x5c9e4d,!![]);}catch(_0x63af92){return BPromise[_0x0336('0x26')](_0x63af92);}return _0x139d5e[_0x0336('0x27')]();};}function saveUpdates(_0x1a2616,_0x142da3){return function(_0x49f1a8){if(_0x49f1a8){return _0x49f1a8[_0x0336('0x28')](_0x1a2616)[_0x0336('0x29')](function(_0x3d2c31){return _0x3d2c31;});}return null;};}function removeEntity(_0xcfbd3b,_0x39677a){return function(_0x3abd42){if(_0x3abd42){return _0x3abd42[_0x0336('0x2a')]()['then'](function(){var _0x2156d0=_0x3abd42['get']({'plain':!![]});var _0x361a75=_0x0336('0x2b');return db[_0x0336('0x2c')][_0x0336('0x2a')]({'where':{'type':_0x361a75,'resourceId':_0x2156d0['id']}})[_0x0336('0x29')](function(){return _0x3abd42;});})[_0x0336('0x29')](function(){_0xcfbd3b[_0x0336('0x22')](0xcc)[_0x0336('0x1c')]();});}};}function handleEntityNotFound(_0x25d2d9,_0x4714c2){return function(_0x5283fc){if(!_0x5283fc){_0x25d2d9['sendStatus'](0x194);}return _0x5283fc;};}function handleError(_0x53174e,_0x3ee1b5){_0x3ee1b5=_0x3ee1b5||0x1f4;return function(_0x374680){logger[_0x0336('0x2d')](_0x374680[_0x0336('0x2e')]);if(_0x374680[_0x0336('0x2f')]){delete _0x374680[_0x0336('0x2f')];}_0x53174e['status'](_0x3ee1b5)[_0x0336('0x30')](_0x374680);};}exports[_0x0336('0x31')]=function(_0x17e0c5,_0x53009e){var _0x45b2a0={},_0x410d03={},_0x418604={'count':0x0,'rows':[]};var _0x2fbf7f=_[_0x0336('0x32')](db['MailQueue'][_0x0336('0x33')],function(_0x41645a){return{'name':_0x41645a[_0x0336('0x34')],'type':_0x41645a['type'][_0x0336('0x35')]};});_0x410d03[_0x0336('0x36')]=_[_0x0336('0x32')](_0x2fbf7f,_0x0336('0x2f'));_0x410d03['query']=_[_0x0336('0x37')](_0x17e0c5[_0x0336('0x38')]);_0x410d03[_0x0336('0x39')]=_[_0x0336('0x3a')](_0x410d03[_0x0336('0x36')],_0x410d03[_0x0336('0x38')]);_0x45b2a0[_0x0336('0x3b')]=_[_0x0336('0x3a')](_0x410d03[_0x0336('0x36')],qs[_0x0336('0x3c')](_0x17e0c5[_0x0336('0x38')]['fields']));_0x45b2a0[_0x0336('0x3b')]=_0x45b2a0[_0x0336('0x3b')]['length']?_0x45b2a0['attributes']:_0x410d03[_0x0336('0x36')];if(!_0x17e0c5[_0x0336('0x38')]['hasOwnProperty'](_0x0336('0x3d'))){_0x45b2a0[_0x0336('0x1f')]=qs[_0x0336('0x1f')](_0x17e0c5[_0x0336('0x38')]['limit']);_0x45b2a0[_0x0336('0x21')]=qs[_0x0336('0x21')](_0x17e0c5[_0x0336('0x38')][_0x0336('0x21')]);}_0x45b2a0[_0x0336('0x3e')]=qs[_0x0336('0x3f')](_0x17e0c5[_0x0336('0x38')][_0x0336('0x3f')]);_0x45b2a0[_0x0336('0x40')]=qs['filters'](_['pick'](_0x17e0c5['query'],_0x410d03['filters']),_0x2fbf7f);if(_0x17e0c5[_0x0336('0x38')][_0x0336('0x41')]){_0x45b2a0[_0x0336('0x40')]=_[_0x0336('0x42')](_0x45b2a0[_0x0336('0x40')],{'$or':_['map'](_0x2fbf7f,function(_0x593a41){if(_0x593a41['type']!=='VIRTUAL'){var _0x19af39={};_0x19af39[_0x593a41[_0x0336('0x2f')]]={'$like':'%'+_0x17e0c5['query'][_0x0336('0x41')]+'%'};return _0x19af39;}})});}_0x45b2a0=_[_0x0336('0x42')]({},_0x45b2a0,_0x17e0c5[_0x0336('0x43')]);var _0x414ce5={'where':_0x45b2a0[_0x0336('0x40')]};return db[_0x0336('0x44')][_0x0336('0x20')](_0x414ce5)[_0x0336('0x29')](function(_0x5c2bf8){_0x418604['count']=_0x5c2bf8;if(_0x17e0c5[_0x0336('0x38')][_0x0336('0x45')]){_0x45b2a0[_0x0336('0x46')]=[{'all':!![]}];}return db[_0x0336('0x44')]['findAll'](_0x45b2a0);})[_0x0336('0x29')](function(_0x55e709){_0x418604[_0x0336('0x47')]=_0x55e709;return _0x418604;})[_0x0336('0x29')](respondWithFilteredResult(_0x53009e,_0x45b2a0))['catch'](handleError(_0x53009e,null));};exports[_0x0336('0x48')]=function(_0x50a246,_0x39f73e){var _0x8c76a2={'raw':!![],'where':{'id':_0x50a246[_0x0336('0x49')]['id']}},_0x19676d={};_0x19676d[_0x0336('0x36')]=_[_0x0336('0x37')](db[_0x0336('0x44')][_0x0336('0x33')]);_0x19676d[_0x0336('0x38')]=_[_0x0336('0x37')](_0x50a246[_0x0336('0x38')]);_0x19676d[_0x0336('0x39')]=_[_0x0336('0x3a')](_0x19676d[_0x0336('0x36')],_0x19676d[_0x0336('0x38')]);_0x8c76a2[_0x0336('0x3b')]=_[_0x0336('0x3a')](_0x19676d[_0x0336('0x36')],qs['fields'](_0x50a246[_0x0336('0x38')][_0x0336('0x3c')]));_0x8c76a2[_0x0336('0x3b')]=_0x8c76a2[_0x0336('0x3b')][_0x0336('0x4a')]?_0x8c76a2[_0x0336('0x3b')]:_0x19676d[_0x0336('0x36')];if(_0x50a246[_0x0336('0x38')][_0x0336('0x45')]){_0x8c76a2['include']=[{'all':!![]}];}_0x8c76a2=_[_0x0336('0x42')]({},_0x8c76a2,_0x50a246[_0x0336('0x43')]);return db[_0x0336('0x44')][_0x0336('0x4b')](_0x8c76a2)[_0x0336('0x29')](handleEntityNotFound(_0x39f73e,null))['then'](respondWithResult(_0x39f73e,null))[_0x0336('0x4c')](handleError(_0x39f73e,null));};exports[_0x0336('0x4d')]=function(_0x3eb6c1,_0x40a87b){return db[_0x0336('0x44')][_0x0336('0x4d')](_0x3eb6c1[_0x0336('0x4e')],{})['then'](function(_0x48fcdf){var _0x11cf15=_0x3eb6c1[_0x0336('0x4f')][_0x0336('0x50')]({'plain':!![]});if(!_0x11cf15)throw new Error(_0x0336('0x51'));if(_0x11cf15[_0x0336('0x52')]===_0x0336('0x4f')){var _0x40f895=_0x48fcdf[_0x0336('0x50')]({'plain':!![]});var _0x3fdd15=_0x0336('0x2b');return db[_0x0336('0x53')][_0x0336('0x4b')]({'where':{'name':_0x3fdd15,'userProfileId':_0x11cf15[_0x0336('0x54')]},'raw':!![]})[_0x0336('0x29')](function(_0x5c92ca){if(_0x5c92ca&&_0x5c92ca[_0x0336('0x55')]===0x0){return db['UserProfileResource'][_0x0336('0x4d')]({'name':_0x40f895['name'],'resourceId':_0x40f895['id'],'type':_0x5c92ca[_0x0336('0x2f')],'sectionId':_0x5c92ca['id']},{})[_0x0336('0x29')](function(){return _0x48fcdf;});}else{return _0x48fcdf;}})[_0x0336('0x4c')](function(_0x2d2207){logger['error'](_0x0336('0x56'),_0x2d2207);throw _0x2d2207;});}return _0x48fcdf;})['then'](respondWithResult(_0x40a87b,0xc9))[_0x0336('0x4c')](handleError(_0x40a87b,null));};exports[_0x0336('0x28')]=function(_0x2c4094,_0x3c4996){if(_0x2c4094[_0x0336('0x4e')]['id']){delete _0x2c4094[_0x0336('0x4e')]['id'];}return db[_0x0336('0x44')][_0x0336('0x4b')]({'where':{'id':_0x2c4094[_0x0336('0x49')]['id']}})[_0x0336('0x29')](handleEntityNotFound(_0x3c4996,null))[_0x0336('0x29')](saveUpdates(_0x2c4094[_0x0336('0x4e')],null))[_0x0336('0x29')](respondWithResult(_0x3c4996,null))[_0x0336('0x4c')](handleError(_0x3c4996,null));};exports[_0x0336('0x2a')]=function(_0x40e452,_0x5d976e){return db[_0x0336('0x44')]['find']({'where':{'id':_0x40e452['params']['id']}})[_0x0336('0x29')](handleEntityNotFound(_0x5d976e,null))['then'](removeEntity(_0x5d976e,null))[_0x0336('0x4c')](handleError(_0x5d976e,null));};exports['describe']=function(_0x3d97f9,_0x24bf75){return db['MailQueue'][_0x0336('0x57')]()[_0x0336('0x29')](respondWithResult(_0x24bf75,null))['catch'](handleError(_0x24bf75,null));};exports[_0x0336('0x58')]=function(_0x22d280,_0x22561c,_0x1d776b){var _0x7d94a1={'raw':!![],'where':{}},_0x5c3724={},_0x2495dc;return db[_0x0336('0x44')]['findOne']({'where':{'id':_0x22d280['params']['id']}})['then'](handleEntityNotFound(_0x22561c,null))[_0x0336('0x29')](function(_0x29f649){if(_0x29f649){_0x2495dc=_0x29f649[_0x0336('0x50')]({'plain':!![]});_0x5c3724[_0x0336('0x36')]=_[_0x0336('0x37')](db['UserMailQueue']['rawAttributes']);_0x5c3724['query']=_[_0x0336('0x37')](_0x22d280[_0x0336('0x38')]);_0x5c3724[_0x0336('0x39')]=_['intersection'](_0x5c3724[_0x0336('0x36')],_0x5c3724[_0x0336('0x38')]);_0x7d94a1[_0x0336('0x3b')]=_[_0x0336('0x3a')](_0x5c3724[_0x0336('0x36')],qs[_0x0336('0x3c')](_0x22d280[_0x0336('0x38')]['fields']));_0x7d94a1[_0x0336('0x3b')]=_0x7d94a1['attributes'][_0x0336('0x4a')]?_0x7d94a1[_0x0336('0x3b')]:_0x5c3724[_0x0336('0x36')];if(!_0x22d280[_0x0336('0x38')][_0x0336('0x59')]('nolimit')){_0x7d94a1[_0x0336('0x1f')]=qs[_0x0336('0x1f')](_0x22d280[_0x0336('0x38')][_0x0336('0x1f')]);_0x7d94a1['offset']=qs[_0x0336('0x21')](_0x22d280[_0x0336('0x38')]['offset']);}_0x7d94a1['order']=qs[_0x0336('0x3f')](_0x22d280['query']['sort']);_0x7d94a1['where']=qs[_0x0336('0x39')](_['pick'](_0x22d280['query'],_0x5c3724[_0x0336('0x39')]));_0x7d94a1[_0x0336('0x40')][_0x0336('0x5a')]=_0x29f649['id'];if(_0x22d280[_0x0336('0x38')]['filter']){_0x7d94a1[_0x0336('0x40')]=_['merge'](_0x7d94a1[_0x0336('0x40')],{'$or':_[_0x0336('0x32')](_0x7d94a1[_0x0336('0x3b')],function(_0x4cefd6){var _0x35172c={};_0x35172c[_0x4cefd6]={'$like':'%'+_0x22d280[_0x0336('0x38')]['filter']+'%'};return _0x35172c;})});}_0x7d94a1=_['merge']({},_0x7d94a1,_0x22d280['options']);return db['UserMailQueue'][_0x0336('0x5b')](_0x7d94a1);}})[_0x0336('0x29')](function(_0xfcfca4){if(_0xfcfca4){return db[_0x0336('0x5c')][_0x0336('0x5d')]({'where':{'id':_['map'](_0xfcfca4,_0x0336('0x5e')),'role':_0x0336('0x5f')},'attributes':['id',_0x0336('0x2f'),_0x0336('0x60'),'updatedAt',_0x0336('0x61')]});}})[_0x0336('0x29')](function(_0x3c57cb){if(_0x3c57cb){return{'count':_0x3c57cb[_0x0336('0x20')],'rows':_[_0x0336('0x32')](_0x3c57cb[_0x0336('0x47')],function(_0x2dcafe){return{'membername':_0x2dcafe[_0x0336('0x2f')],'UserId':_0x2dcafe['id'],'queue_name':_0x2495dc[_0x0336('0x2f')],'MailQueueId':_0x2495dc['id'],'interface':util[_0x0336('0x62')](_0x0336('0x63'),_0x0336('0x64'),_0x2dcafe[_0x0336('0x2f')]),'penalty':0x0,'paused':_0x2dcafe[_0x0336('0x60')],'createdAt':_0x2dcafe[_0x0336('0x61')],'updatedAt':_0x2dcafe[_0x0336('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x22561c,_0x7d94a1))[_0x0336('0x4c')](handleError(_0x22561c,null));};exports['getTeams']=function(_0x4ce4ae,_0xccf1c2,_0x24d909){var _0x2da3b4={};var _0x2dd901={};var _0x1f5794;var _0x589ae2;return db[_0x0336('0x44')]['findOne']({'where':{'id':_0x4ce4ae['params']['id']}})[_0x0336('0x29')](handleEntityNotFound(_0xccf1c2,null))[_0x0336('0x29')](function(_0x40d42d){if(_0x40d42d){_0x1f5794=_0x40d42d;_0x2dd901[_0x0336('0x36')]=_['keys'](db['Team'][_0x0336('0x33')]);_0x2dd901[_0x0336('0x38')]=_['keys'](_0x4ce4ae[_0x0336('0x38')]);_0x2dd901[_0x0336('0x39')]=_[_0x0336('0x3a')](_0x2dd901['model'],_0x2dd901[_0x0336('0x38')]);_0x2da3b4[_0x0336('0x3b')]=_[_0x0336('0x3a')](_0x2dd901[_0x0336('0x36')],qs[_0x0336('0x3c')](_0x4ce4ae['query']['fields']));_0x2da3b4[_0x0336('0x3b')]=_0x2da3b4[_0x0336('0x3b')][_0x0336('0x4a')]?_0x2da3b4[_0x0336('0x3b')]:_0x2dd901[_0x0336('0x36')];_0x2da3b4[_0x0336('0x3e')]=qs[_0x0336('0x3f')](_0x4ce4ae[_0x0336('0x38')][_0x0336('0x3f')]);_0x2da3b4[_0x0336('0x40')]=qs[_0x0336('0x39')](_['pick'](_0x4ce4ae[_0x0336('0x38')],_0x2dd901['filters']));if(_0x4ce4ae[_0x0336('0x38')]['filter']){_0x2da3b4[_0x0336('0x40')]=_[_0x0336('0x42')](_0x2da3b4[_0x0336('0x40')],{'$or':_[_0x0336('0x32')](_0x2da3b4['attributes'],function(_0x365734){var _0x226809={};_0x226809[_0x365734]={'$like':'%'+_0x4ce4ae[_0x0336('0x38')]['filter']+'%'};return _0x226809;})});}_0x2da3b4=_[_0x0336('0x42')]({},_0x2da3b4,_0x4ce4ae['options']);return _0x1f5794[_0x0336('0x66')](_0x2da3b4);}})[_0x0336('0x29')](function(_0x470ff5){if(_0x470ff5){_0x589ae2=_0x470ff5[_0x0336('0x4a')];if(!_0x4ce4ae[_0x0336('0x38')]['hasOwnProperty']('nolimit')){_0x2da3b4[_0x0336('0x1f')]=qs[_0x0336('0x1f')](_0x4ce4ae[_0x0336('0x38')][_0x0336('0x1f')]);_0x2da3b4[_0x0336('0x21')]=qs[_0x0336('0x21')](_0x4ce4ae['query'][_0x0336('0x21')]);}return _0x1f5794[_0x0336('0x66')](_0x2da3b4);}})[_0x0336('0x29')](function(_0x959bf2){if(_0x959bf2){return _0x959bf2?{'count':_0x589ae2,'rows':_0x959bf2}:null;}})[_0x0336('0x29')](respondWithResult(_0xccf1c2,null))[_0x0336('0x4c')](handleError(_0xccf1c2,null));};exports['addTeams']=function(_0x463571,_0x34ddf1,_0x4a4c6a){var _0x3de744=_0x463571[_0x0336('0x4e')]['ids'];return db[_0x0336('0x67')][_0x0336('0x5b')]({'where':{'id':_0x3de744},'attributes':['id'],'include':[{'model':db[_0x0336('0x5c')],'as':_0x0336('0x68'),'attributes':['id','name',_0x0336('0x69'),_0x0336('0x6a'),_0x0336('0x6b')],'raw':!![]}]})[_0x0336('0x29')](function(_0x12da4c){if(_0x12da4c){var _0xfb02f8=_['flatMap'](_0x12da4c,function(_0x43915a){var _0x22bdce=_0x43915a[_0x0336('0x50')]({'plain':!![]});return _0x22bdce['Agents'];});return db[_0x0336('0x44')][_0x0336('0x4b')]({'where':{'id':_0x463571['params']['id']}})[_0x0336('0x29')](function(_0x22f64e){return db[_0x0336('0x6c')][_0x0336('0x6d')](function(_0x57a2d0){return _0x22f64e[_0x0336('0x6e')](_0x3de744,{'transaction':_0x57a2d0})['then'](function(){return BPromise['each'](_0xfb02f8,function(_0x2e558b){return db[_0x0336('0x6f')][_0x0336('0x70')]({'where':{'UserId':_0x2e558b['id'],'MailQueueId':_0x463571[_0x0336('0x49')]['id']},'transaction':_0x57a2d0});});})[_0x0336('0x29')](function(){_0xfb02f8['forEach'](function(_0x2e36ca){socket['emit']('userMailQueue:save',{'UserId':_0x2e36ca['id'],'MailQueueId':_0x22f64e['id']});});});});});}})[_0x0336('0x29')](respondWithStatusCode(_0x34ddf1,null))[_0x0336('0x4c')](handleError(_0x34ddf1,null));};exports[_0x0336('0x71')]=function(_0x2fb88a,_0x123aae,_0x2b3e59){return db['Team'][_0x0336('0x5b')]({'where':{'id':_0x2fb88a['query'][_0x0336('0x72')]},'attributes':['id'],'include':[{'model':db[_0x0336('0x5c')],'as':_0x0336('0x68'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x123aae,null))[_0x0336('0x29')](function(_0x4a90ad){var _0x278ff1=_[_0x0336('0x32')](_0x4a90ad,'id');var _0x569eb3=[];var _0x1a2df9=[];var _0x34dbe8=squel['select']();_0x34dbe8['field'](_0x0336('0x73'))[_0x0336('0x74')](_0x0336('0x75'),'tq')[_0x0336('0x76')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0x0336('0x77'),_0x2fb88a[_0x0336('0x49')]['id']);for(var _0x2a574d=0x0;_0x2a574d<_0x4a90ad['length'];_0x2a574d+=0x1){let _0x1983ef=_0x4a90ad[_0x2a574d];for(var _0x48197b=0x0;_0x48197b<_0x1983ef[_0x0336('0x68')][_0x0336('0x4a')];_0x48197b+=0x1){let _0x1d0fdd=_0x1983ef[_0x0336('0x68')][_0x48197b];var _0x41eb3a=_0x34dbe8['clone']();_0x41eb3a[_0x0336('0x40')](_0x0336('0x78'),_0x1d0fdd['id']);_0x1a2df9[_0x0336('0x79')](db[_0x0336('0x6c')]['query'](_0x41eb3a[_0x0336('0x7a')](),{'type':db[_0x0336('0x6c')][_0x0336('0x7b')][_0x0336('0x7c')]})[_0x0336('0x29')](function(_0x13ed53){if(_0x13ed53['length']===0x1){return _0x1d0fdd['id'];}else{var _0x3f3e65=_[_0x0336('0x7d')](_[_0x0336('0x32')](_0x13ed53,_0x0336('0x7e')),function(_0x198a57){return _[_0x0336('0x7f')](_0x278ff1,_0x198a57);});if(_0x3f3e65){return _0x1d0fdd['id'];}}}));}}return BPromise[_0x0336('0x80')](_0x1a2df9)['then'](function(_0x401617){_0x569eb3=_(_0x569eb3)[_0x0336('0x81')](_0x401617)[_0x0336('0x82')]()['value']();return db['MailQueue']['find']({'where':{'id':_0x2fb88a[_0x0336('0x49')]['id']}})[_0x0336('0x29')](function(_0x56c7f1){return db[_0x0336('0x6c')][_0x0336('0x6d')](function(_0x1d924){return _0x56c7f1['removeTeams'](_0x2fb88a['query']['ids'],{'transaction':_0x1d924})['then'](function(){if(!_[_0x0336('0x83')](_0x569eb3)){return _0x56c7f1['removeAgents'](_0x569eb3,{'transaction':_0x1d924});}})[_0x0336('0x29')](function(){_0x569eb3[_0x0336('0x84')](function(_0x31d63c){socket['emit'](_0x0336('0x85'),{'UserId':_0x31d63c,'MailQueueId':_0x56c7f1['id']});});});});});});})[_0x0336('0x29')](respondWithStatusCode(_0x123aae,null))[_0x0336('0x4c')](handleError(_0x123aae,null));};exports[_0x0336('0x86')]=function(_0x2da61c,_0x35ab64,_0x1ac83d){return db[_0x0336('0x44')][_0x0336('0x4b')]({'where':{'id':_0x2da61c[_0x0336('0x49')]['id']}})[_0x0336('0x29')](handleEntityNotFound(_0x35ab64,null))[_0x0336('0x29')](function(_0x18221e){if(_0x18221e){return _0x18221e[_0x0336('0x86')](_0x2da61c[_0x0336('0x4e')]['ids'],_[_0x0336('0x87')](_0x2da61c[_0x0336('0x4e')],[_0x0336('0x72'),'id'])||{})[_0x0336('0x88')](function(_0x334b2a){for(var _0x2f0018=0x0;_0x2f0018<_0x2da61c['body']['ids'][_0x0336('0x4a')];_0x2f0018+=0x1){socket['emit'](_0x0336('0x89'),{'UserId':Number(_0x2da61c[_0x0336('0x4e')][_0x0336('0x72')][_0x2f0018]),'MailQueueId':Number(_0x2da61c[_0x0336('0x49')]['id'])});}return _0x334b2a;});}})[_0x0336('0x29')](respondWithResult(_0x35ab64,null))[_0x0336('0x4c')](handleError(_0x35ab64,null));};exports[_0x0336('0x8a')]=function(_0x35868a,_0x1a9c9c,_0x284790){return db[_0x0336('0x44')][_0x0336('0x4b')]({'where':{'id':_0x35868a[_0x0336('0x49')]['id']}})[_0x0336('0x29')](handleEntityNotFound(_0x1a9c9c,null))[_0x0336('0x29')](function(_0xcc6ff6){if(_0xcc6ff6){return _0xcc6ff6['removeAgents'](_0x35868a[_0x0336('0x38')][_0x0336('0x72')])['then'](function(){if(_[_0x0336('0x8b')](_0x35868a[_0x0336('0x38')]['ids'])){for(var _0x2a11ab=0x0;_0x2a11ab<_0x35868a[_0x0336('0x38')][_0x0336('0x72')]['length'];_0x2a11ab+=0x1){socket[_0x0336('0x8c')](_0x0336('0x85'),{'UserId':Number(_0x35868a[_0x0336('0x38')][_0x0336('0x72')][_0x2a11ab]),'MailQueueId':Number(_0x35868a[_0x0336('0x49')]['id'])});}}else{socket[_0x0336('0x8c')](_0x0336('0x85'),{'UserId':Number(_0x35868a[_0x0336('0x38')][_0x0336('0x72')]),'MailQueueId':Number(_0x35868a[_0x0336('0x49')]['id'])});}});}})[_0x0336('0x29')](respondWithStatusCode(_0x1a9c9c,null))['catch'](handleError(_0x1a9c9c,null));};exports[_0x0336('0x8d')]=function(_0x2dcb17,_0x7a8a24,_0x527c49){var _0x3d3644={};var _0x52bc26={};var _0x21e136;var _0x38f4ac;return db[_0x0336('0x44')][_0x0336('0x8e')]({'where':{'id':_0x2dcb17[_0x0336('0x49')]['id']}})[_0x0336('0x29')](handleEntityNotFound(_0x7a8a24,null))['then'](function(_0x221be1){if(_0x221be1){_0x21e136=_0x221be1;_0x52bc26[_0x0336('0x36')]=_['keys'](db['User'][_0x0336('0x33')]);_0x52bc26['query']=_[_0x0336('0x37')](_0x2dcb17[_0x0336('0x38')]);_0x52bc26['filters']=_['intersection'](_0x52bc26[_0x0336('0x36')],_0x52bc26[_0x0336('0x38')]);_0x3d3644[_0x0336('0x3b')]=_[_0x0336('0x3a')](_0x52bc26[_0x0336('0x36')],qs[_0x0336('0x3c')](_0x2dcb17[_0x0336('0x38')][_0x0336('0x3c')]));_0x3d3644['attributes']=_0x3d3644[_0x0336('0x3b')][_0x0336('0x4a')]?_0x3d3644['attributes']:_0x52bc26[_0x0336('0x36')];_0x3d3644['order']=qs['sort'](_0x2dcb17[_0x0336('0x38')][_0x0336('0x3f')]);_0x3d3644[_0x0336('0x40')]=qs[_0x0336('0x39')](_[_0x0336('0x8f')](_0x2dcb17[_0x0336('0x38')],_0x52bc26[_0x0336('0x39')]));if(_0x2dcb17['query']['filter']){_0x3d3644[_0x0336('0x40')]=_['merge'](_0x3d3644[_0x0336('0x40')],{'$or':_['map'](_0x3d3644[_0x0336('0x3b')],function(_0xed63ab){var _0x1148eb={};_0x1148eb[_0xed63ab]={'$like':'%'+_0x2dcb17[_0x0336('0x38')][_0x0336('0x41')]+'%'};return _0x1148eb;})});}_0x3d3644=_['merge']({},_0x3d3644,_0x2dcb17['options']);return _0x21e136[_0x0336('0x8d')](_0x3d3644);}})[_0x0336('0x29')](function(_0x1b5a5e){if(_0x1b5a5e){_0x38f4ac=_0x1b5a5e[_0x0336('0x4a')];if(!_0x2dcb17[_0x0336('0x38')][_0x0336('0x59')](_0x0336('0x3d'))){_0x3d3644[_0x0336('0x1f')]=qs[_0x0336('0x1f')](_0x2dcb17[_0x0336('0x38')]['limit']);_0x3d3644['offset']=qs[_0x0336('0x21')](_0x2dcb17[_0x0336('0x38')][_0x0336('0x21')]);}return _0x21e136[_0x0336('0x8d')](_0x3d3644);}})[_0x0336('0x29')](function(_0x3a9398){if(_0x3a9398){return _0x3a9398?{'count':_0x38f4ac,'rows':_0x3a9398}:null;}})[_0x0336('0x29')](respondWithResult(_0x7a8a24,null))['catch'](handleError(_0x7a8a24,null));};