cb90167940e3094b0c67063ac6656b9e6f494137
[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 _0xc42c=['to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','socket.io-emitter','./mailQueue.socket','sendStatus','status','end','count','limit','set','Content-Range','json','save','then','destroy','get','MailQueues','UserProfileResource','error','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','sort','where','pick','filter','merge','VIRTUAL','options','findAll','rows','catch','show','params','includeAll','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','findOne','UserMailQueue','order','MailQueueId','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','online','voicePause','interface','Agents','transaction','each','findOrCreate','forEach','emit','userMailQueue:save','select','field','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','sequelize','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','removeTeams','isEmpty','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','path','sox'];(function(_0x53fb44,_0x5c6643){var _0x5b77b5=function(_0x5543ac){while(--_0x5543ac){_0x53fb44['push'](_0x53fb44['shift']());}};_0x5b77b5(++_0x5c6643);}(_0xc42c,0x89));var _0xcc42=function(_0x544519,_0x317b7b){_0x544519=_0x544519-0x0;var _0x3b6e75=_0xc42c[_0x544519];return _0x3b6e75;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xcc42('0x0'));var rimraf=require(_0xcc42('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xcc42('0x2'));var rp=require(_0xcc42('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xcc42('0x4'));var util=require(_0xcc42('0x5'));var path=require(_0xcc42('0x6'));var sox=require(_0xcc42('0x7'));var csv=require(_0xcc42('0x8'));var ejs=require(_0xcc42('0x9'));var fs=require('fs');var _=require(_0xcc42('0xa'));var squel=require(_0xcc42('0xb'));var crypto=require(_0xcc42('0xc'));var jsforce=require(_0xcc42('0xd'));var deskjs=require(_0xcc42('0xe'));var toCsv=require('to-csv');var querystring=require(_0xcc42('0xf'));var Papa=require(_0xcc42('0x10'));var Redis=require('ioredis');var authService=require(_0xcc42('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcc42('0x12'));var logger=require(_0xcc42('0x13'))('api');var utils=require(_0xcc42('0x14'));var config=require(_0xcc42('0x15'));var db=require(_0xcc42('0x16'))['db'];config['redis']=_[_0xcc42('0x17')](config[_0xcc42('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xcc42('0x19'))(new Redis(config[_0xcc42('0x18')]));require(_0xcc42('0x1a'))['register'](socket);function respondWithStatusCode(_0x307ea9,_0x1cc6f5){_0x1cc6f5=_0x1cc6f5||0xcc;return function(_0x2023a4){if(_0x2023a4){return _0x307ea9[_0xcc42('0x1b')](_0x1cc6f5);}return _0x307ea9[_0xcc42('0x1c')](_0x1cc6f5)[_0xcc42('0x1d')]();};}function respondWithResult(_0x20579e,_0x3a0442){_0x3a0442=_0x3a0442||0xc8;return function(_0xf1ea8c){if(_0xf1ea8c){return _0x20579e[_0xcc42('0x1c')](_0x3a0442)['json'](_0xf1ea8c);}};}function respondWithFilteredResult(_0x526442,_0x5d7820){return function(_0x3b85f7){if(_0x3b85f7){var _0x33590d=_0x3b85f7[_0xcc42('0x1e')],_0x1a1b2b=_0x5d7820['offset'],_0x1291d8=_0x5d7820['offset']+_0x5d7820[_0xcc42('0x1f')],_0x2b293;if(_0x1291d8>=_0x33590d){_0x1291d8=_0x33590d;_0x2b293=0xc8;}else{_0x2b293=0xce;}_0x526442[_0xcc42('0x1c')](_0x2b293);return _0x526442[_0xcc42('0x20')](_0xcc42('0x21'),_0x1a1b2b+'-'+_0x1291d8+'/'+_0x33590d)[_0xcc42('0x22')](_0x3b85f7);}return null;};}function patchUpdates(_0x44bf13){return function(_0x9b33e2){try{jsonpatch['apply'](_0x9b33e2,_0x44bf13,!![]);}catch(_0x52da90){return BPromise['reject'](_0x52da90);}return _0x9b33e2[_0xcc42('0x23')]();};}function saveUpdates(_0x1c00c9,_0x419bfd){return function(_0x26987f){if(_0x26987f){return _0x26987f['update'](_0x1c00c9)[_0xcc42('0x24')](function(_0x14ed8e){return _0x14ed8e;});}return null;};}function removeEntity(_0x1a82b0,_0x5b1f8e){return function(_0x275667){if(_0x275667){return _0x275667[_0xcc42('0x25')]()['then'](function(){var _0x1e8b86=_0x275667[_0xcc42('0x26')]({'plain':!![]});var _0x26717c=_0xcc42('0x27');return db[_0xcc42('0x28')][_0xcc42('0x25')]({'where':{'type':_0x26717c,'resourceId':_0x1e8b86['id']}})[_0xcc42('0x24')](function(){return _0x275667;});})[_0xcc42('0x24')](function(){_0x1a82b0[_0xcc42('0x1c')](0xcc)[_0xcc42('0x1d')]();});}};}function handleEntityNotFound(_0x44cedf,_0x347113){return function(_0x924edd){if(!_0x924edd){_0x44cedf[_0xcc42('0x1b')](0x194);}return _0x924edd;};}function handleError(_0x120423,_0x2c1bb1){_0x2c1bb1=_0x2c1bb1||0x1f4;return function(_0x996d76){logger[_0xcc42('0x29')](_0x996d76['stack']);if(_0x996d76[_0xcc42('0x2a')]){delete _0x996d76['name'];}_0x120423['status'](_0x2c1bb1)[_0xcc42('0x2b')](_0x996d76);};}exports[_0xcc42('0x2c')]=function(_0x110a70,_0x571519){var _0x561a9b={},_0x2b9a64={},_0x758408={'count':0x0,'rows':[]};var _0x523113=_[_0xcc42('0x2d')](db[_0xcc42('0x2e')][_0xcc42('0x2f')],function(_0x1264e3){return{'name':_0x1264e3[_0xcc42('0x30')],'type':_0x1264e3[_0xcc42('0x31')][_0xcc42('0x32')]};});_0x2b9a64[_0xcc42('0x33')]=_[_0xcc42('0x2d')](_0x523113,'name');_0x2b9a64[_0xcc42('0x34')]=_[_0xcc42('0x35')](_0x110a70['query']);_0x2b9a64[_0xcc42('0x36')]=_[_0xcc42('0x37')](_0x2b9a64['model'],_0x2b9a64[_0xcc42('0x34')]);_0x561a9b[_0xcc42('0x38')]=_['intersection'](_0x2b9a64[_0xcc42('0x33')],qs[_0xcc42('0x39')](_0x110a70[_0xcc42('0x34')]['fields']));_0x561a9b[_0xcc42('0x38')]=_0x561a9b[_0xcc42('0x38')][_0xcc42('0x3a')]?_0x561a9b['attributes']:_0x2b9a64[_0xcc42('0x33')];if(!_0x110a70[_0xcc42('0x34')][_0xcc42('0x3b')](_0xcc42('0x3c'))){_0x561a9b[_0xcc42('0x1f')]=qs[_0xcc42('0x1f')](_0x110a70[_0xcc42('0x34')][_0xcc42('0x1f')]);_0x561a9b['offset']=qs['offset'](_0x110a70[_0xcc42('0x34')][_0xcc42('0x3d')]);}_0x561a9b['order']=qs[_0xcc42('0x3e')](_0x110a70[_0xcc42('0x34')][_0xcc42('0x3e')]);_0x561a9b[_0xcc42('0x3f')]=qs['filters'](_[_0xcc42('0x40')](_0x110a70[_0xcc42('0x34')],_0x2b9a64[_0xcc42('0x36')]),_0x523113);if(_0x110a70[_0xcc42('0x34')][_0xcc42('0x41')]){_0x561a9b[_0xcc42('0x3f')]=_[_0xcc42('0x42')](_0x561a9b['where'],{'$or':_[_0xcc42('0x2d')](_0x523113,function(_0x225073){if(_0x225073['type']!==_0xcc42('0x43')){var _0x20a19a={};_0x20a19a[_0x225073[_0xcc42('0x2a')]]={'$like':'%'+_0x110a70[_0xcc42('0x34')][_0xcc42('0x41')]+'%'};return _0x20a19a;}})});}_0x561a9b=_[_0xcc42('0x42')]({},_0x561a9b,_0x110a70[_0xcc42('0x44')]);var _0x4a08f7={'where':_0x561a9b['where']};return db[_0xcc42('0x2e')][_0xcc42('0x1e')](_0x4a08f7)[_0xcc42('0x24')](function(_0x560b2b){_0x758408[_0xcc42('0x1e')]=_0x560b2b;if(_0x110a70[_0xcc42('0x34')]['includeAll']){_0x561a9b['include']=[{'all':!![]}];}return db[_0xcc42('0x2e')][_0xcc42('0x45')](_0x561a9b);})[_0xcc42('0x24')](function(_0x4377bb){_0x758408[_0xcc42('0x46')]=_0x4377bb;return _0x758408;})[_0xcc42('0x24')](respondWithFilteredResult(_0x571519,_0x561a9b))[_0xcc42('0x47')](handleError(_0x571519,null));};exports[_0xcc42('0x48')]=function(_0x1a0e7b,_0x283222){var _0x1f5d24={'raw':!![],'where':{'id':_0x1a0e7b[_0xcc42('0x49')]['id']}},_0x527ebc={};_0x527ebc[_0xcc42('0x33')]=_['keys'](db[_0xcc42('0x2e')][_0xcc42('0x2f')]);_0x527ebc[_0xcc42('0x34')]=_['keys'](_0x1a0e7b[_0xcc42('0x34')]);_0x527ebc[_0xcc42('0x36')]=_[_0xcc42('0x37')](_0x527ebc['model'],_0x527ebc[_0xcc42('0x34')]);_0x1f5d24['attributes']=_['intersection'](_0x527ebc[_0xcc42('0x33')],qs[_0xcc42('0x39')](_0x1a0e7b[_0xcc42('0x34')][_0xcc42('0x39')]));_0x1f5d24[_0xcc42('0x38')]=_0x1f5d24['attributes'][_0xcc42('0x3a')]?_0x1f5d24['attributes']:_0x527ebc['model'];if(_0x1a0e7b[_0xcc42('0x34')][_0xcc42('0x4a')]){_0x1f5d24[_0xcc42('0x4b')]=[{'all':!![]}];}_0x1f5d24=_['merge']({},_0x1f5d24,_0x1a0e7b['options']);return db[_0xcc42('0x2e')][_0xcc42('0x4c')](_0x1f5d24)[_0xcc42('0x24')](handleEntityNotFound(_0x283222,null))['then'](respondWithResult(_0x283222,null))[_0xcc42('0x47')](handleError(_0x283222,null));};exports['create']=function(_0x1d5103,_0x810181){return db[_0xcc42('0x2e')][_0xcc42('0x4d')](_0x1d5103[_0xcc42('0x4e')],{})[_0xcc42('0x24')](function(_0x50dea4){var _0x47c969=_0x1d5103[_0xcc42('0x4f')][_0xcc42('0x26')]({'plain':!![]});if(!_0x47c969)throw new Error(_0xcc42('0x50'));if(_0x47c969[_0xcc42('0x51')]===_0xcc42('0x4f')){var _0x3da800=_0x50dea4['get']({'plain':!![]});var _0x494bd8=_0xcc42('0x27');return db[_0xcc42('0x52')][_0xcc42('0x4c')]({'where':{'name':_0x494bd8,'userProfileId':_0x47c969['userProfileId']},'raw':!![]})[_0xcc42('0x24')](function(_0x4a2a40){if(_0x4a2a40&&_0x4a2a40[_0xcc42('0x53')]===0x0){return db[_0xcc42('0x28')][_0xcc42('0x4d')]({'name':_0x3da800[_0xcc42('0x2a')],'resourceId':_0x3da800['id'],'type':_0x4a2a40[_0xcc42('0x2a')],'sectionId':_0x4a2a40['id']},{})['then'](function(){return _0x50dea4;});}else{return _0x50dea4;}})['catch'](function(_0xa353bf){logger[_0xcc42('0x29')](_0xcc42('0x54'),_0xa353bf);throw _0xa353bf;});}return _0x50dea4;})[_0xcc42('0x24')](respondWithResult(_0x810181,0xc9))['catch'](handleError(_0x810181,null));};exports[_0xcc42('0x55')]=function(_0x4075ae,_0x5af9c1){if(_0x4075ae[_0xcc42('0x4e')]['id']){delete _0x4075ae[_0xcc42('0x4e')]['id'];}return db[_0xcc42('0x2e')][_0xcc42('0x4c')]({'where':{'id':_0x4075ae[_0xcc42('0x49')]['id']}})[_0xcc42('0x24')](handleEntityNotFound(_0x5af9c1,null))[_0xcc42('0x24')](saveUpdates(_0x4075ae['body'],null))[_0xcc42('0x24')](respondWithResult(_0x5af9c1,null))[_0xcc42('0x47')](handleError(_0x5af9c1,null));};exports[_0xcc42('0x25')]=function(_0x4b6f16,_0x34d579){return db[_0xcc42('0x2e')][_0xcc42('0x4c')]({'where':{'id':_0x4b6f16[_0xcc42('0x49')]['id']}})[_0xcc42('0x24')](handleEntityNotFound(_0x34d579,null))[_0xcc42('0x24')](removeEntity(_0x34d579,null))[_0xcc42('0x47')](handleError(_0x34d579,null));};exports[_0xcc42('0x56')]=function(_0x50f40f,_0x1a5001){return db[_0xcc42('0x2e')][_0xcc42('0x56')]()['then'](respondWithResult(_0x1a5001,null))[_0xcc42('0x47')](handleError(_0x1a5001,null));};exports[_0xcc42('0x57')]=function(_0x572cd6,_0xca1cf2,_0x1b41a2){var _0x438ca9={'raw':!![],'where':{}},_0x3dbb1f={},_0x54a366;return db[_0xcc42('0x2e')][_0xcc42('0x58')]({'where':{'id':_0x572cd6[_0xcc42('0x49')]['id']}})[_0xcc42('0x24')](handleEntityNotFound(_0xca1cf2,null))['then'](function(_0x3b3029){if(_0x3b3029){_0x54a366=_0x3b3029[_0xcc42('0x26')]({'plain':!![]});_0x3dbb1f[_0xcc42('0x33')]=_[_0xcc42('0x35')](db[_0xcc42('0x59')][_0xcc42('0x2f')]);_0x3dbb1f['query']=_[_0xcc42('0x35')](_0x572cd6['query']);_0x3dbb1f[_0xcc42('0x36')]=_['intersection'](_0x3dbb1f[_0xcc42('0x33')],_0x3dbb1f[_0xcc42('0x34')]);_0x438ca9['attributes']=_['intersection'](_0x3dbb1f[_0xcc42('0x33')],qs[_0xcc42('0x39')](_0x572cd6['query'][_0xcc42('0x39')]));_0x438ca9['attributes']=_0x438ca9[_0xcc42('0x38')][_0xcc42('0x3a')]?_0x438ca9[_0xcc42('0x38')]:_0x3dbb1f[_0xcc42('0x33')];if(!_0x572cd6['query'][_0xcc42('0x3b')]('nolimit')){_0x438ca9[_0xcc42('0x1f')]=qs[_0xcc42('0x1f')](_0x572cd6[_0xcc42('0x34')]['limit']);_0x438ca9[_0xcc42('0x3d')]=qs[_0xcc42('0x3d')](_0x572cd6[_0xcc42('0x34')]['offset']);}_0x438ca9[_0xcc42('0x5a')]=qs[_0xcc42('0x3e')](_0x572cd6['query'][_0xcc42('0x3e')]);_0x438ca9[_0xcc42('0x3f')]=qs[_0xcc42('0x36')](_[_0xcc42('0x40')](_0x572cd6[_0xcc42('0x34')],_0x3dbb1f[_0xcc42('0x36')]));_0x438ca9[_0xcc42('0x3f')][_0xcc42('0x5b')]=_0x3b3029['id'];if(_0x572cd6[_0xcc42('0x34')][_0xcc42('0x41')]){_0x438ca9[_0xcc42('0x3f')]=_[_0xcc42('0x42')](_0x438ca9[_0xcc42('0x3f')],{'$or':_['map'](_0x438ca9[_0xcc42('0x38')],function(_0x433a8c){var _0x2e6bf0={};_0x2e6bf0[_0x433a8c]={'$like':'%'+_0x572cd6[_0xcc42('0x34')][_0xcc42('0x41')]+'%'};return _0x2e6bf0;})});}_0x438ca9=_[_0xcc42('0x42')]({},_0x438ca9,_0x572cd6['options']);return db[_0xcc42('0x59')][_0xcc42('0x45')](_0x438ca9);}})[_0xcc42('0x24')](function(_0x328f1d){if(_0x328f1d){return db[_0xcc42('0x5c')][_0xcc42('0x5d')]({'where':{'id':_['map'](_0x328f1d,_0xcc42('0x5e')),'role':'agent'},'attributes':['id','name',_0xcc42('0x5f'),_0xcc42('0x60'),_0xcc42('0x61')]});}})[_0xcc42('0x24')](function(_0x4687ba){if(_0x4687ba){return{'count':_0x4687ba['count'],'rows':_[_0xcc42('0x2d')](_0x4687ba[_0xcc42('0x46')],function(_0x10e737){return{'membername':_0x10e737[_0xcc42('0x2a')],'UserId':_0x10e737['id'],'queue_name':_0x54a366['name'],'MailQueueId':_0x54a366['id'],'interface':util[_0xcc42('0x62')](_0xcc42('0x63'),_0xcc42('0x64'),_0x10e737[_0xcc42('0x2a')]),'penalty':0x0,'paused':_0x10e737[_0xcc42('0x5f')],'createdAt':_0x10e737[_0xcc42('0x61')],'updatedAt':_0x10e737[_0xcc42('0x60')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xca1cf2,_0x438ca9))['catch'](handleError(_0xca1cf2,null));};exports[_0xcc42('0x65')]=function(_0x19928a,_0x3ef497,_0x30f90b){var _0x1a0b8e={};var _0x3aceb1={};var _0x106846;var _0x1aed55;return db[_0xcc42('0x2e')][_0xcc42('0x58')]({'where':{'id':_0x19928a[_0xcc42('0x49')]['id']}})[_0xcc42('0x24')](handleEntityNotFound(_0x3ef497,null))[_0xcc42('0x24')](function(_0x4dff40){if(_0x4dff40){_0x106846=_0x4dff40;_0x3aceb1[_0xcc42('0x33')]=_['keys'](db[_0xcc42('0x66')][_0xcc42('0x2f')]);_0x3aceb1[_0xcc42('0x34')]=_[_0xcc42('0x35')](_0x19928a['query']);_0x3aceb1[_0xcc42('0x36')]=_[_0xcc42('0x37')](_0x3aceb1['model'],_0x3aceb1[_0xcc42('0x34')]);_0x1a0b8e['attributes']=_[_0xcc42('0x37')](_0x3aceb1[_0xcc42('0x33')],qs[_0xcc42('0x39')](_0x19928a[_0xcc42('0x34')]['fields']));_0x1a0b8e['attributes']=_0x1a0b8e[_0xcc42('0x38')][_0xcc42('0x3a')]?_0x1a0b8e[_0xcc42('0x38')]:_0x3aceb1[_0xcc42('0x33')];_0x1a0b8e[_0xcc42('0x5a')]=qs['sort'](_0x19928a['query'][_0xcc42('0x3e')]);_0x1a0b8e[_0xcc42('0x3f')]=qs[_0xcc42('0x36')](_['pick'](_0x19928a[_0xcc42('0x34')],_0x3aceb1['filters']));if(_0x19928a['query'][_0xcc42('0x41')]){_0x1a0b8e[_0xcc42('0x3f')]=_[_0xcc42('0x42')](_0x1a0b8e[_0xcc42('0x3f')],{'$or':_['map'](_0x1a0b8e[_0xcc42('0x38')],function(_0x502fde){var _0x3ab659={};_0x3ab659[_0x502fde]={'$like':'%'+_0x19928a['query'][_0xcc42('0x41')]+'%'};return _0x3ab659;})});}_0x1a0b8e=_['merge']({},_0x1a0b8e,_0x19928a[_0xcc42('0x44')]);return _0x106846[_0xcc42('0x65')](_0x1a0b8e);}})[_0xcc42('0x24')](function(_0x5edcbc){if(_0x5edcbc){_0x1aed55=_0x5edcbc['length'];if(!_0x19928a[_0xcc42('0x34')]['hasOwnProperty'](_0xcc42('0x3c'))){_0x1a0b8e[_0xcc42('0x1f')]=qs[_0xcc42('0x1f')](_0x19928a[_0xcc42('0x34')]['limit']);_0x1a0b8e['offset']=qs['offset'](_0x19928a[_0xcc42('0x34')][_0xcc42('0x3d')]);}return _0x106846[_0xcc42('0x65')](_0x1a0b8e);}})['then'](function(_0x5dc50f){if(_0x5dc50f){return _0x5dc50f?{'count':_0x1aed55,'rows':_0x5dc50f}:null;}})[_0xcc42('0x24')](respondWithResult(_0x3ef497,null))[_0xcc42('0x47')](handleError(_0x3ef497,null));};exports[_0xcc42('0x67')]=function(_0x35675,_0x35abf9,_0x5057f8){var _0xe57fcf=_0x35675['body'][_0xcc42('0x68')];return db[_0xcc42('0x66')][_0xcc42('0x45')]({'where':{'id':_0xe57fcf},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id','name',_0xcc42('0x69'),_0xcc42('0x6a'),_0xcc42('0x6b')],'raw':!![]}]})['then'](function(_0x4e5909){if(_0x4e5909){var _0x20e6ce=_['flatMap'](_0x4e5909,function(_0x1053a6){var _0x5312c9=_0x1053a6['get']({'plain':!![]});return _0x5312c9[_0xcc42('0x6c')];});return db[_0xcc42('0x2e')]['find']({'where':{'id':_0x35675[_0xcc42('0x49')]['id']}})['then'](function(_0x46806a){return db['sequelize'][_0xcc42('0x6d')](function(_0x51a702){return _0x46806a[_0xcc42('0x67')](_0xe57fcf,{'transaction':_0x51a702})[_0xcc42('0x24')](function(){return BPromise[_0xcc42('0x6e')](_0x20e6ce,function(_0x18dc92){return db[_0xcc42('0x59')][_0xcc42('0x6f')]({'where':{'UserId':_0x18dc92['id'],'MailQueueId':_0x35675[_0xcc42('0x49')]['id']},'transaction':_0x51a702});});})[_0xcc42('0x24')](function(){_0x20e6ce[_0xcc42('0x70')](function(_0x3d5755){socket[_0xcc42('0x71')](_0xcc42('0x72'),{'UserId':_0x3d5755['id'],'MailQueueId':_0x46806a['id']});});});});});}})[_0xcc42('0x24')](respondWithStatusCode(_0x35abf9,null))[_0xcc42('0x47')](handleError(_0x35abf9,null));};exports['removeTeams']=function(_0x472c86,_0x4f26ee,_0xecd848){return db['Team'][_0xcc42('0x45')]({'where':{'id':_0x472c86[_0xcc42('0x34')][_0xcc42('0x68')]},'attributes':['id'],'include':[{'model':db[_0xcc42('0x5c')],'as':_0xcc42('0x6c'),'attributes':['id'],'raw':!![]}]})[_0xcc42('0x24')](handleEntityNotFound(_0x4f26ee,null))[_0xcc42('0x24')](function(_0x5402ac){var _0x4aeae6=_['map'](_0x5402ac,'id');var _0x29b0f5=[];var _0x149dca=[];var _0x9fd4d4=squel[_0xcc42('0x73')]();_0x9fd4d4[_0xcc42('0x74')]('tq.TeamId')[_0xcc42('0x75')](_0xcc42('0x76'),'tq')[_0xcc42('0x77')](_0xcc42('0x78'),'ut',_0xcc42('0x79'))[_0xcc42('0x3f')](_0xcc42('0x7a'),_0x472c86[_0xcc42('0x49')]['id']);for(var _0x2c20ff=0x0;_0x2c20ff<_0x5402ac['length'];_0x2c20ff+=0x1){let _0x26e1bc=_0x5402ac[_0x2c20ff];for(var _0xb4cbc6=0x0;_0xb4cbc6<_0x26e1bc['Agents'][_0xcc42('0x3a')];_0xb4cbc6+=0x1){let _0x29ccd0=_0x26e1bc['Agents'][_0xb4cbc6];var _0x30c4f4=_0x9fd4d4[_0xcc42('0x7b')]();_0x30c4f4['where'](_0xcc42('0x7c'),_0x29ccd0['id']);_0x149dca['push'](db['sequelize'][_0xcc42('0x34')](_0x30c4f4[_0xcc42('0x7d')](),{'type':db[_0xcc42('0x7e')][_0xcc42('0x7f')][_0xcc42('0x80')]})['then'](function(_0x26def2){if(_0x26def2[_0xcc42('0x3a')]===0x1){return _0x29ccd0['id'];}else{var _0x5c1c84=_[_0xcc42('0x81')](_['map'](_0x26def2,_0xcc42('0x82')),function(_0x416abd){return _[_0xcc42('0x83')](_0x4aeae6,_0x416abd);});if(_0x5c1c84){return _0x29ccd0['id'];}}}));}}return BPromise[_0xcc42('0x84')](_0x149dca)[_0xcc42('0x24')](function(_0x5b66a5){_0x29b0f5=_(_0x29b0f5)[_0xcc42('0x85')](_0x5b66a5)[_0xcc42('0x86')]()[_0xcc42('0x87')]();return db[_0xcc42('0x2e')][_0xcc42('0x4c')]({'where':{'id':_0x472c86['params']['id']}})[_0xcc42('0x24')](function(_0x5c676e){return db[_0xcc42('0x7e')][_0xcc42('0x6d')](function(_0x4d0335){return _0x5c676e[_0xcc42('0x88')](_0x472c86['query'][_0xcc42('0x68')],{'transaction':_0x4d0335})[_0xcc42('0x24')](function(){if(!_[_0xcc42('0x89')](_0x29b0f5)){return _0x5c676e[_0xcc42('0x8a')](_0x29b0f5,{'transaction':_0x4d0335});}})[_0xcc42('0x24')](function(){_0x29b0f5[_0xcc42('0x70')](function(_0x16d5b2){socket[_0xcc42('0x71')](_0xcc42('0x8b'),{'UserId':_0x16d5b2,'MailQueueId':_0x5c676e['id']});});});});});});})[_0xcc42('0x24')](respondWithStatusCode(_0x4f26ee,null))['catch'](handleError(_0x4f26ee,null));};exports['addAgents']=function(_0x22817b,_0x81ae5b,_0x22262e){return db[_0xcc42('0x2e')]['find']({'where':{'id':_0x22817b['params']['id']}})['then'](handleEntityNotFound(_0x81ae5b,null))[_0xcc42('0x24')](function(_0x2e8762){if(_0x2e8762){return _0x2e8762[_0xcc42('0x8c')](_0x22817b[_0xcc42('0x4e')][_0xcc42('0x68')],_[_0xcc42('0x8d')](_0x22817b[_0xcc42('0x4e')],['ids','id'])||{})[_0xcc42('0x8e')](function(_0x5d90f2){for(var _0x878841=0x0;_0x878841<_0x22817b[_0xcc42('0x4e')][_0xcc42('0x68')]['length'];_0x878841+=0x1){socket[_0xcc42('0x71')](_0xcc42('0x72'),{'UserId':_0x22817b[_0xcc42('0x4e')][_0xcc42('0x68')][_0x878841],'MailQueueId':_0x22817b[_0xcc42('0x49')]['id']});}return _0x5d90f2;});}})['then'](respondWithResult(_0x81ae5b,null))[_0xcc42('0x47')](handleError(_0x81ae5b,null));};exports[_0xcc42('0x8a')]=function(_0x5b7984,_0x29578c,_0x96dc05){return db[_0xcc42('0x2e')][_0xcc42('0x4c')]({'where':{'id':_0x5b7984[_0xcc42('0x49')]['id']}})['then'](handleEntityNotFound(_0x29578c,null))[_0xcc42('0x24')](function(_0x3d4dd6){if(_0x3d4dd6){return _0x3d4dd6['removeAgents'](_0x5b7984[_0xcc42('0x34')][_0xcc42('0x68')])['then'](function(){if(_[_0xcc42('0x8f')](_0x5b7984[_0xcc42('0x34')]['ids'])){for(var _0x50b22f=0x0;_0x50b22f<_0x5b7984[_0xcc42('0x34')][_0xcc42('0x68')][_0xcc42('0x3a')];_0x50b22f+=0x1){socket['emit'](_0xcc42('0x8b'),{'UserId':Number(_0x5b7984['query'][_0xcc42('0x68')][_0x50b22f]),'MailQueueId':Number(_0x5b7984[_0xcc42('0x49')]['id'])});}}else{socket['emit'](_0xcc42('0x8b'),{'UserId':Number(_0x5b7984[_0xcc42('0x34')][_0xcc42('0x68')]),'MailQueueId':Number(_0x5b7984['params']['id'])});}});}})['then'](respondWithStatusCode(_0x29578c,null))[_0xcc42('0x47')](handleError(_0x29578c,null));};exports[_0xcc42('0x90')]=function(_0x53e555,_0x6dc1cc,_0x4dba97){var _0x1b89b4={};var _0x171bb4={};var _0x4bbb9e;var _0x425e10;return db[_0xcc42('0x2e')]['findOne']({'where':{'id':_0x53e555[_0xcc42('0x49')]['id']}})[_0xcc42('0x24')](handleEntityNotFound(_0x6dc1cc,null))[_0xcc42('0x24')](function(_0x4a9e25){if(_0x4a9e25){_0x4bbb9e=_0x4a9e25;_0x171bb4['model']=_[_0xcc42('0x35')](db[_0xcc42('0x5c')]['rawAttributes']);_0x171bb4['query']=_[_0xcc42('0x35')](_0x53e555[_0xcc42('0x34')]);_0x171bb4[_0xcc42('0x36')]=_[_0xcc42('0x37')](_0x171bb4[_0xcc42('0x33')],_0x171bb4['query']);_0x1b89b4['attributes']=_[_0xcc42('0x37')](_0x171bb4['model'],qs[_0xcc42('0x39')](_0x53e555['query'][_0xcc42('0x39')]));_0x1b89b4[_0xcc42('0x38')]=_0x1b89b4[_0xcc42('0x38')][_0xcc42('0x3a')]?_0x1b89b4[_0xcc42('0x38')]:_0x171bb4['model'];_0x1b89b4[_0xcc42('0x5a')]=qs[_0xcc42('0x3e')](_0x53e555[_0xcc42('0x34')]['sort']);_0x1b89b4[_0xcc42('0x3f')]=qs[_0xcc42('0x36')](_['pick'](_0x53e555[_0xcc42('0x34')],_0x171bb4[_0xcc42('0x36')]));if(_0x53e555['query'][_0xcc42('0x41')]){_0x1b89b4[_0xcc42('0x3f')]=_[_0xcc42('0x42')](_0x1b89b4[_0xcc42('0x3f')],{'$or':_['map'](_0x1b89b4[_0xcc42('0x38')],function(_0x1b5f80){var _0x4e1e25={};_0x4e1e25[_0x1b5f80]={'$like':'%'+_0x53e555[_0xcc42('0x34')][_0xcc42('0x41')]+'%'};return _0x4e1e25;})});}_0x1b89b4=_[_0xcc42('0x42')]({},_0x1b89b4,_0x53e555[_0xcc42('0x44')]);return _0x4bbb9e[_0xcc42('0x90')](_0x1b89b4);}})[_0xcc42('0x24')](function(_0x2702bd){if(_0x2702bd){_0x425e10=_0x2702bd[_0xcc42('0x3a')];if(!_0x53e555[_0xcc42('0x34')][_0xcc42('0x3b')](_0xcc42('0x3c'))){_0x1b89b4[_0xcc42('0x1f')]=qs[_0xcc42('0x1f')](_0x53e555[_0xcc42('0x34')][_0xcc42('0x1f')]);_0x1b89b4['offset']=qs[_0xcc42('0x3d')](_0x53e555[_0xcc42('0x34')][_0xcc42('0x3d')]);}return _0x4bbb9e['getAgents'](_0x1b89b4);}})[_0xcc42('0x24')](function(_0xcf94ee){if(_0xcf94ee){return _0xcf94ee?{'count':_0x425e10,'rows':_0xcf94ee}:null;}})['then'](respondWithResult(_0x6dc1cc,null))[_0xcc42('0x47')](handleError(_0x6dc1cc,null));};