Built motion from commit 47436d59.|2.6.7
[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 _0xb386=['register','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','destroy','then','get','MailQueues','error','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','nolimit','sort','pick','filter','merge','where','VIRTUAL','includeAll','catch','show','params','keys','options','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','UserProfileResource','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','order','findAll','findAndCountAll','UserId','mailPause','updatedAt','createdAt','rows','format','%s/%s','SIP','getTeams','Team','ids','Agents','online','voicePause','interface','flatMap','each','forEach','emit','userMailQueue:save','removeTeams','User','select','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','TeamId','includes','union','value','transaction','isEmpty','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket'];(function(_0x23091e,_0x4afec3){var _0x30fb8e=function(_0x18e109){while(--_0x18e109){_0x23091e['push'](_0x23091e['shift']());}};_0x30fb8e(++_0x4afec3);}(_0xb386,0x190));var _0x6b38=function(_0x5a776b,_0x46f785){_0x5a776b=_0x5a776b-0x0;var _0xbbef59=_0xb386[_0x5a776b];return _0xbbef59;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6b38('0x0'));var zipdir=require(_0x6b38('0x1'));var jsonpatch=require(_0x6b38('0x2'));var rp=require(_0x6b38('0x3'));var moment=require(_0x6b38('0x4'));var BPromise=require(_0x6b38('0x5'));var Mustache=require(_0x6b38('0x6'));var util=require('util');var path=require('path');var sox=require('sox');var csv=require(_0x6b38('0x7'));var ejs=require(_0x6b38('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x6b38('0x9'));var squel=require(_0x6b38('0xa'));var crypto=require(_0x6b38('0xb'));var jsforce=require(_0x6b38('0xc'));var deskjs=require(_0x6b38('0xd'));var toCsv=require('to-csv');var querystring=require(_0x6b38('0xe'));var Papa=require(_0x6b38('0xf'));var Redis=require(_0x6b38('0x10'));var authService=require(_0x6b38('0x11'));var qs=require(_0x6b38('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6b38('0x13'));var logger=require('../../config/logger')(_0x6b38('0x14'));var utils=require(_0x6b38('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x6b38('0x16'));var db=require(_0x6b38('0x17'))['db'];config[_0x6b38('0x18')]=_[_0x6b38('0x19')](config[_0x6b38('0x18')],{'host':_0x6b38('0x1a'),'port':0x18eb});var socket=require(_0x6b38('0x1b'))(new Redis(config[_0x6b38('0x18')]));require(_0x6b38('0x1c'))[_0x6b38('0x1d')](socket);function respondWithStatusCode(_0x58dffb,_0x35ade1){_0x35ade1=_0x35ade1||0xcc;return function(_0x3ed39c){if(_0x3ed39c){return _0x58dffb[_0x6b38('0x1e')](_0x35ade1);}return _0x58dffb[_0x6b38('0x1f')](_0x35ade1)[_0x6b38('0x20')]();};}function respondWithResult(_0x40382d,_0x5e1a8a){_0x5e1a8a=_0x5e1a8a||0xc8;return function(_0x23ec77){if(_0x23ec77){return _0x40382d['status'](_0x5e1a8a)[_0x6b38('0x21')](_0x23ec77);}};}function respondWithFilteredResult(_0x10939d,_0x6e6227){return function(_0x1da560){if(_0x1da560){var _0x52b5c0=typeof _0x6e6227[_0x6b38('0x22')]===_0x6b38('0x23')&&typeof _0x6e6227['limit']===_0x6b38('0x23');var _0x404fa0=_0x1da560[_0x6b38('0x24')];var _0x2279e5=_0x52b5c0?0x0:_0x6e6227[_0x6b38('0x22')];var _0x51aace=_0x52b5c0?_0x1da560['count']:_0x6e6227[_0x6b38('0x22')]+_0x6e6227[_0x6b38('0x25')];var _0x292839;if(_0x51aace>=_0x404fa0){_0x51aace=_0x404fa0;_0x292839=0xc8;}else{_0x292839=0xce;}_0x10939d['status'](_0x292839);return _0x10939d[_0x6b38('0x26')](_0x6b38('0x27'),_0x2279e5+'-'+_0x51aace+'/'+_0x404fa0)[_0x6b38('0x21')](_0x1da560);}return null;};}function patchUpdates(_0x20ee9d){return function(_0x5e2970){try{jsonpatch['apply'](_0x5e2970,_0x20ee9d,!![]);}catch(_0x3509a5){return BPromise[_0x6b38('0x28')](_0x3509a5);}return _0x5e2970[_0x6b38('0x29')]();};}function saveUpdates(_0x1bd21a,_0xf85059){return function(_0x3accfe){if(_0x3accfe){return _0x3accfe[_0x6b38('0x2a')](_0x1bd21a)['then'](function(_0x1c7d7b){return _0x1c7d7b;});}return null;};}function removeEntity(_0x2b0b7b,_0x2a1234){return function(_0x318b82){if(_0x318b82){return _0x318b82[_0x6b38('0x2b')]()[_0x6b38('0x2c')](function(){var _0x517d64=_0x318b82[_0x6b38('0x2d')]({'plain':!![]});var _0x4f6d59=_0x6b38('0x2e');return db['UserProfileResource']['destroy']({'where':{'type':_0x4f6d59,'resourceId':_0x517d64['id']}})[_0x6b38('0x2c')](function(){return _0x318b82;});})[_0x6b38('0x2c')](function(){_0x2b0b7b[_0x6b38('0x1f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x43ba7a,_0x127f59){return function(_0x1bff4f){if(!_0x1bff4f){_0x43ba7a[_0x6b38('0x1e')](0x194);}return _0x1bff4f;};}function handleError(_0x2c3785,_0x114623){_0x114623=_0x114623||0x1f4;return function(_0x4897cf){logger[_0x6b38('0x2f')](_0x4897cf[_0x6b38('0x30')]);if(_0x4897cf[_0x6b38('0x31')]){delete _0x4897cf[_0x6b38('0x31')];}_0x2c3785[_0x6b38('0x1f')](_0x114623)[_0x6b38('0x32')](_0x4897cf);};}exports[_0x6b38('0x33')]=function(_0x43ee46,_0x1b42dc){var _0x2845b2={},_0x20543f={},_0x12d8a6={'count':0x0,'rows':[]};var _0x18f952=_[_0x6b38('0x34')](db[_0x6b38('0x35')][_0x6b38('0x36')],function(_0x1912ed){return{'name':_0x1912ed[_0x6b38('0x37')],'type':_0x1912ed[_0x6b38('0x38')]['key']};});_0x20543f[_0x6b38('0x39')]=_[_0x6b38('0x34')](_0x18f952,_0x6b38('0x31'));_0x20543f[_0x6b38('0x3a')]=_['keys'](_0x43ee46[_0x6b38('0x3a')]);_0x20543f[_0x6b38('0x3b')]=_[_0x6b38('0x3c')](_0x20543f[_0x6b38('0x39')],_0x20543f[_0x6b38('0x3a')]);_0x2845b2[_0x6b38('0x3d')]=_['intersection'](_0x20543f[_0x6b38('0x39')],qs[_0x6b38('0x3e')](_0x43ee46[_0x6b38('0x3a')][_0x6b38('0x3e')]));_0x2845b2[_0x6b38('0x3d')]=_0x2845b2[_0x6b38('0x3d')][_0x6b38('0x3f')]?_0x2845b2['attributes']:_0x20543f[_0x6b38('0x39')];if(!_0x43ee46['query']['hasOwnProperty'](_0x6b38('0x40'))){_0x2845b2[_0x6b38('0x25')]=qs[_0x6b38('0x25')](_0x43ee46[_0x6b38('0x3a')][_0x6b38('0x25')]);_0x2845b2['offset']=qs['offset'](_0x43ee46[_0x6b38('0x3a')]['offset']);}_0x2845b2['order']=qs[_0x6b38('0x41')](_0x43ee46[_0x6b38('0x3a')]['sort']);_0x2845b2['where']=qs['filters'](_[_0x6b38('0x42')](_0x43ee46['query'],_0x20543f[_0x6b38('0x3b')]),_0x18f952);if(_0x43ee46[_0x6b38('0x3a')][_0x6b38('0x43')]){_0x2845b2['where']=_[_0x6b38('0x44')](_0x2845b2[_0x6b38('0x45')],{'$or':_[_0x6b38('0x34')](_0x18f952,function(_0x51361a){if(_0x51361a['type']!==_0x6b38('0x46')){var _0x10cb6e={};_0x10cb6e[_0x51361a['name']]={'$like':'%'+_0x43ee46[_0x6b38('0x3a')][_0x6b38('0x43')]+'%'};return _0x10cb6e;}})});}_0x2845b2=_[_0x6b38('0x44')]({},_0x2845b2,_0x43ee46['options']);var _0x47507a={'where':_0x2845b2['where']};return db[_0x6b38('0x35')][_0x6b38('0x24')](_0x47507a)[_0x6b38('0x2c')](function(_0x2edee3){_0x12d8a6[_0x6b38('0x24')]=_0x2edee3;if(_0x43ee46[_0x6b38('0x3a')][_0x6b38('0x47')]){_0x2845b2['include']=[{'all':!![]}];}return db[_0x6b38('0x35')]['findAll'](_0x2845b2);})[_0x6b38('0x2c')](function(_0x13bf46){_0x12d8a6['rows']=_0x13bf46;return _0x12d8a6;})[_0x6b38('0x2c')](respondWithFilteredResult(_0x1b42dc,_0x2845b2))[_0x6b38('0x48')](handleError(_0x1b42dc,null));};exports[_0x6b38('0x49')]=function(_0x3d1f54,_0x1276de){var _0x494a66={'raw':!![],'where':{'id':_0x3d1f54[_0x6b38('0x4a')]['id']}},_0x26e96d={};_0x26e96d['model']=_[_0x6b38('0x4b')](db[_0x6b38('0x35')][_0x6b38('0x36')]);_0x26e96d['query']=_[_0x6b38('0x4b')](_0x3d1f54[_0x6b38('0x3a')]);_0x26e96d[_0x6b38('0x3b')]=_[_0x6b38('0x3c')](_0x26e96d[_0x6b38('0x39')],_0x26e96d[_0x6b38('0x3a')]);_0x494a66['attributes']=_[_0x6b38('0x3c')](_0x26e96d[_0x6b38('0x39')],qs['fields'](_0x3d1f54[_0x6b38('0x3a')][_0x6b38('0x3e')]));_0x494a66[_0x6b38('0x3d')]=_0x494a66['attributes']['length']?_0x494a66[_0x6b38('0x3d')]:_0x26e96d['model'];if(_0x3d1f54[_0x6b38('0x3a')][_0x6b38('0x47')]){_0x494a66['include']=[{'all':!![]}];}_0x494a66=_[_0x6b38('0x44')]({},_0x494a66,_0x3d1f54[_0x6b38('0x4c')]);return db[_0x6b38('0x35')]['find'](_0x494a66)['then'](handleEntityNotFound(_0x1276de,null))['then'](respondWithResult(_0x1276de,null))[_0x6b38('0x48')](handleError(_0x1276de,null));};exports['create']=function(_0x7bc334,_0x4664aa){return db[_0x6b38('0x35')]['create'](_0x7bc334[_0x6b38('0x4d')],{})[_0x6b38('0x2c')](function(_0x2265d6){var _0x2e428f=_0x7bc334[_0x6b38('0x4e')][_0x6b38('0x2d')]({'plain':!![]});if(!_0x2e428f)throw new Error(_0x6b38('0x4f'));if(_0x2e428f['role']==='user'){var _0xaa5fe8=_0x2265d6[_0x6b38('0x2d')]({'plain':!![]});var _0x2be52a=_0x6b38('0x2e');return db[_0x6b38('0x50')]['find']({'where':{'name':_0x2be52a,'userProfileId':_0x2e428f[_0x6b38('0x51')]},'raw':!![]})[_0x6b38('0x2c')](function(_0x2ee8ec){if(_0x2ee8ec&&_0x2ee8ec['autoAssociation']===0x0){return db[_0x6b38('0x52')][_0x6b38('0x53')]({'name':_0xaa5fe8[_0x6b38('0x31')],'resourceId':_0xaa5fe8['id'],'type':_0x2ee8ec[_0x6b38('0x31')],'sectionId':_0x2ee8ec['id']},{})[_0x6b38('0x2c')](function(){return _0x2265d6;});}else{return _0x2265d6;}})['catch'](function(_0x47d738){logger[_0x6b38('0x2f')](_0x6b38('0x54'),_0x47d738);throw _0x47d738;});}return _0x2265d6;})['then'](respondWithResult(_0x4664aa,0xc9))[_0x6b38('0x48')](handleError(_0x4664aa,null));};exports[_0x6b38('0x2a')]=function(_0x2ceb95,_0x587376){if(_0x2ceb95[_0x6b38('0x4d')]['id']){delete _0x2ceb95['body']['id'];}return db[_0x6b38('0x35')][_0x6b38('0x55')]({'where':{'id':_0x2ceb95[_0x6b38('0x4a')]['id']}})[_0x6b38('0x2c')](handleEntityNotFound(_0x587376,null))['then'](saveUpdates(_0x2ceb95[_0x6b38('0x4d')],null))['then'](respondWithResult(_0x587376,null))[_0x6b38('0x48')](handleError(_0x587376,null));};exports[_0x6b38('0x2b')]=function(_0x2e9c84,_0x107429){return db[_0x6b38('0x35')][_0x6b38('0x55')]({'where':{'id':_0x2e9c84['params']['id']}})[_0x6b38('0x2c')](handleEntityNotFound(_0x107429,null))[_0x6b38('0x2c')](removeEntity(_0x107429,null))[_0x6b38('0x48')](handleError(_0x107429,null));};exports[_0x6b38('0x56')]=function(_0x38a4b4,_0x46ce5b){return db[_0x6b38('0x35')][_0x6b38('0x56')]()[_0x6b38('0x2c')](respondWithResult(_0x46ce5b,null))['catch'](handleError(_0x46ce5b,null));};exports[_0x6b38('0x57')]=function(_0x459828,_0x516f9f,_0x8bbf2d){var _0x1d3b93={'raw':!![],'where':{}},_0x5db851={},_0x4add32;return db[_0x6b38('0x35')][_0x6b38('0x58')]({'where':{'id':_0x459828['params']['id']}})['then'](handleEntityNotFound(_0x516f9f,null))[_0x6b38('0x2c')](function(_0x2570f6){if(_0x2570f6){_0x4add32=_0x2570f6[_0x6b38('0x2d')]({'plain':!![]});_0x5db851['model']=_[_0x6b38('0x4b')](db[_0x6b38('0x59')][_0x6b38('0x36')]);_0x5db851[_0x6b38('0x3a')]=_['keys'](_0x459828[_0x6b38('0x3a')]);_0x5db851['filters']=_[_0x6b38('0x3c')](_0x5db851[_0x6b38('0x39')],_0x5db851[_0x6b38('0x3a')]);_0x1d3b93[_0x6b38('0x3d')]=_[_0x6b38('0x3c')](_0x5db851[_0x6b38('0x39')],qs[_0x6b38('0x3e')](_0x459828[_0x6b38('0x3a')]['fields']));_0x1d3b93[_0x6b38('0x3d')]=_0x1d3b93['attributes'][_0x6b38('0x3f')]?_0x1d3b93[_0x6b38('0x3d')]:_0x5db851[_0x6b38('0x39')];if(!_0x459828[_0x6b38('0x3a')][_0x6b38('0x5a')](_0x6b38('0x40'))){_0x1d3b93[_0x6b38('0x25')]=qs[_0x6b38('0x25')](_0x459828[_0x6b38('0x3a')]['limit']);_0x1d3b93[_0x6b38('0x22')]=qs[_0x6b38('0x22')](_0x459828[_0x6b38('0x3a')][_0x6b38('0x22')]);}_0x1d3b93[_0x6b38('0x5b')]=qs[_0x6b38('0x41')](_0x459828[_0x6b38('0x3a')][_0x6b38('0x41')]);_0x1d3b93[_0x6b38('0x45')]=qs[_0x6b38('0x3b')](_['pick'](_0x459828[_0x6b38('0x3a')],_0x5db851[_0x6b38('0x3b')]));_0x1d3b93['where']['MailQueueId']=_0x2570f6['id'];if(_0x459828['query'][_0x6b38('0x43')]){_0x1d3b93[_0x6b38('0x45')]=_['merge'](_0x1d3b93[_0x6b38('0x45')],{'$or':_[_0x6b38('0x34')](_0x1d3b93[_0x6b38('0x3d')],function(_0x5811a9){var _0x39fee4={};_0x39fee4[_0x5811a9]={'$like':'%'+_0x459828[_0x6b38('0x3a')]['filter']+'%'};return _0x39fee4;})});}_0x1d3b93=_[_0x6b38('0x44')]({},_0x1d3b93,_0x459828['options']);return db[_0x6b38('0x59')][_0x6b38('0x5c')](_0x1d3b93);}})[_0x6b38('0x2c')](function(_0x5e9f7f){if(_0x5e9f7f){return db['User'][_0x6b38('0x5d')]({'where':{'id':_[_0x6b38('0x34')](_0x5e9f7f,_0x6b38('0x5e')),'role':'agent'},'attributes':['id',_0x6b38('0x31'),_0x6b38('0x5f'),_0x6b38('0x60'),_0x6b38('0x61')]});}})['then'](function(_0x401eb8){if(_0x401eb8){return{'count':_0x401eb8[_0x6b38('0x24')],'rows':_[_0x6b38('0x34')](_0x401eb8[_0x6b38('0x62')],function(_0x35bd4b){return{'membername':_0x35bd4b['name'],'UserId':_0x35bd4b['id'],'queue_name':_0x4add32[_0x6b38('0x31')],'MailQueueId':_0x4add32['id'],'interface':util[_0x6b38('0x63')](_0x6b38('0x64'),_0x6b38('0x65'),_0x35bd4b[_0x6b38('0x31')]),'penalty':0x0,'paused':_0x35bd4b[_0x6b38('0x5f')],'createdAt':_0x35bd4b[_0x6b38('0x61')],'updatedAt':_0x35bd4b['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x6b38('0x2c')](respondWithFilteredResult(_0x516f9f,_0x1d3b93))[_0x6b38('0x48')](handleError(_0x516f9f,null));};exports[_0x6b38('0x66')]=function(_0x1a0f33,_0x2b3510,_0x38e6b9){var _0x51abea={};var _0x382a52={};var _0xfd28af;var _0x31d97b;return db[_0x6b38('0x35')][_0x6b38('0x58')]({'where':{'id':_0x1a0f33[_0x6b38('0x4a')]['id']}})[_0x6b38('0x2c')](handleEntityNotFound(_0x2b3510,null))['then'](function(_0x3af953){if(_0x3af953){_0xfd28af=_0x3af953;_0x382a52[_0x6b38('0x39')]=_['keys'](db[_0x6b38('0x67')]['rawAttributes']);_0x382a52['query']=_[_0x6b38('0x4b')](_0x1a0f33[_0x6b38('0x3a')]);_0x382a52[_0x6b38('0x3b')]=_[_0x6b38('0x3c')](_0x382a52[_0x6b38('0x39')],_0x382a52[_0x6b38('0x3a')]);_0x51abea['attributes']=_[_0x6b38('0x3c')](_0x382a52[_0x6b38('0x39')],qs['fields'](_0x1a0f33[_0x6b38('0x3a')][_0x6b38('0x3e')]));_0x51abea[_0x6b38('0x3d')]=_0x51abea[_0x6b38('0x3d')][_0x6b38('0x3f')]?_0x51abea['attributes']:_0x382a52[_0x6b38('0x39')];_0x51abea['order']=qs[_0x6b38('0x41')](_0x1a0f33[_0x6b38('0x3a')][_0x6b38('0x41')]);_0x51abea[_0x6b38('0x45')]=qs[_0x6b38('0x3b')](_[_0x6b38('0x42')](_0x1a0f33[_0x6b38('0x3a')],_0x382a52[_0x6b38('0x3b')]));if(_0x1a0f33[_0x6b38('0x3a')][_0x6b38('0x43')]){_0x51abea[_0x6b38('0x45')]=_['merge'](_0x51abea['where'],{'$or':_[_0x6b38('0x34')](_0x51abea[_0x6b38('0x3d')],function(_0x5daac2){var _0x338431={};_0x338431[_0x5daac2]={'$like':'%'+_0x1a0f33[_0x6b38('0x3a')][_0x6b38('0x43')]+'%'};return _0x338431;})});}_0x51abea=_[_0x6b38('0x44')]({},_0x51abea,_0x1a0f33[_0x6b38('0x4c')]);return _0xfd28af[_0x6b38('0x66')](_0x51abea);}})['then'](function(_0x53d536){if(_0x53d536){_0x31d97b=_0x53d536['length'];if(!_0x1a0f33[_0x6b38('0x3a')]['hasOwnProperty']('nolimit')){_0x51abea[_0x6b38('0x25')]=qs[_0x6b38('0x25')](_0x1a0f33[_0x6b38('0x3a')]['limit']);_0x51abea[_0x6b38('0x22')]=qs[_0x6b38('0x22')](_0x1a0f33[_0x6b38('0x3a')][_0x6b38('0x22')]);}return _0xfd28af['getTeams'](_0x51abea);}})[_0x6b38('0x2c')](function(_0x47f388){if(_0x47f388){return _0x47f388?{'count':_0x31d97b,'rows':_0x47f388}:null;}})[_0x6b38('0x2c')](respondWithResult(_0x2b3510,null))['catch'](handleError(_0x2b3510,null));};exports['addTeams']=function(_0x23ea5d,_0x1514a0,_0x2e9c31){var _0x2aec4e=_0x23ea5d[_0x6b38('0x4d')][_0x6b38('0x68')];return db[_0x6b38('0x67')][_0x6b38('0x5c')]({'where':{'id':_0x2aec4e},'attributes':['id'],'include':[{'model':db['User'],'as':_0x6b38('0x69'),'attributes':['id',_0x6b38('0x31'),_0x6b38('0x6a'),_0x6b38('0x6b'),_0x6b38('0x6c')],'raw':!![]}]})[_0x6b38('0x2c')](function(_0x54025b){if(_0x54025b){var _0x1c7abd=_[_0x6b38('0x6d')](_0x54025b,function(_0x1e21a7){var _0x5ad374=_0x1e21a7[_0x6b38('0x2d')]({'plain':!![]});return _0x5ad374[_0x6b38('0x69')];});return db[_0x6b38('0x35')]['find']({'where':{'id':_0x23ea5d[_0x6b38('0x4a')]['id']}})['then'](function(_0xf0dc9e){return db['sequelize']['transaction'](function(_0x26920c){return _0xf0dc9e['addTeams'](_0x2aec4e,{'transaction':_0x26920c})[_0x6b38('0x2c')](function(){return BPromise[_0x6b38('0x6e')](_0x1c7abd,function(_0xb0b831){return db['UserMailQueue']['findOrCreate']({'where':{'UserId':_0xb0b831['id'],'MailQueueId':_0x23ea5d['params']['id']},'transaction':_0x26920c});});})[_0x6b38('0x2c')](function(){_0x1c7abd[_0x6b38('0x6f')](function(_0x2da229){socket[_0x6b38('0x70')](_0x6b38('0x71'),{'UserId':_0x2da229['id'],'MailQueueId':_0xf0dc9e['id']});});});});});}})['then'](respondWithStatusCode(_0x1514a0,null))[_0x6b38('0x48')](handleError(_0x1514a0,null));};exports[_0x6b38('0x72')]=function(_0x380be4,_0x517796,_0x5f0a50){return db[_0x6b38('0x67')][_0x6b38('0x5c')]({'where':{'id':_0x380be4[_0x6b38('0x3a')][_0x6b38('0x68')]},'attributes':['id'],'include':[{'model':db[_0x6b38('0x73')],'as':_0x6b38('0x69'),'attributes':['id'],'raw':!![]}]})[_0x6b38('0x2c')](handleEntityNotFound(_0x517796,null))[_0x6b38('0x2c')](function(_0x2673b4){var _0x464ef0=_['map'](_0x2673b4,'id');var _0x2bfb9a=[];var _0x3495e8=[];var _0x482c34=squel[_0x6b38('0x74')]();_0x482c34['field']('tq.TeamId')[_0x6b38('0x75')](_0x6b38('0x76'),'tq')[_0x6b38('0x77')](_0x6b38('0x78'),'ut',_0x6b38('0x79'))[_0x6b38('0x45')](_0x6b38('0x7a'),_0x380be4[_0x6b38('0x4a')]['id']);for(var _0x19597a=0x0;_0x19597a<_0x2673b4[_0x6b38('0x3f')];_0x19597a+=0x1){let _0x48e13f=_0x2673b4[_0x19597a];for(var _0x3069cf=0x0;_0x3069cf<_0x48e13f['Agents'][_0x6b38('0x3f')];_0x3069cf+=0x1){let _0x4c0f77=_0x48e13f[_0x6b38('0x69')][_0x3069cf];var _0x49c9d0=_0x482c34[_0x6b38('0x7b')]();_0x49c9d0['where'](_0x6b38('0x7c'),_0x4c0f77['id']);_0x3495e8[_0x6b38('0x7d')](db[_0x6b38('0x7e')]['query'](_0x49c9d0[_0x6b38('0x7f')](),{'type':db[_0x6b38('0x7e')][_0x6b38('0x80')][_0x6b38('0x81')]})['then'](function(_0xa9d595){if(_0xa9d595[_0x6b38('0x3f')]===0x1){return _0x4c0f77['id'];}else{var _0x6ffca8=_['every'](_['map'](_0xa9d595,_0x6b38('0x82')),function(_0x360d98){return _[_0x6b38('0x83')](_0x464ef0,_0x360d98);});if(_0x6ffca8){return _0x4c0f77['id'];}}}));}}return BPromise['all'](_0x3495e8)[_0x6b38('0x2c')](function(_0x5aa61f){_0x2bfb9a=_(_0x2bfb9a)[_0x6b38('0x84')](_0x5aa61f)['compact']()[_0x6b38('0x85')]();return db[_0x6b38('0x35')][_0x6b38('0x55')]({'where':{'id':_0x380be4[_0x6b38('0x4a')]['id']}})[_0x6b38('0x2c')](function(_0x1c0b03){return db['sequelize'][_0x6b38('0x86')](function(_0x92c0e7){return _0x1c0b03[_0x6b38('0x72')](_0x380be4[_0x6b38('0x3a')][_0x6b38('0x68')],{'transaction':_0x92c0e7})[_0x6b38('0x2c')](function(){if(!_[_0x6b38('0x87')](_0x2bfb9a)){return _0x1c0b03[_0x6b38('0x88')](_0x2bfb9a,{'transaction':_0x92c0e7});}})[_0x6b38('0x2c')](function(){_0x2bfb9a['forEach'](function(_0x27ee87){socket[_0x6b38('0x70')](_0x6b38('0x89'),{'UserId':_0x27ee87,'MailQueueId':_0x1c0b03['id']});});});});});});})[_0x6b38('0x2c')](respondWithStatusCode(_0x517796,null))['catch'](handleError(_0x517796,null));};exports[_0x6b38('0x8a')]=function(_0x157ce4,_0x1667b0,_0xd032b5){return db[_0x6b38('0x35')][_0x6b38('0x55')]({'where':{'id':_0x157ce4['params']['id']}})[_0x6b38('0x2c')](handleEntityNotFound(_0x1667b0,null))[_0x6b38('0x2c')](function(_0x4b09f4){if(_0x4b09f4){return _0x4b09f4[_0x6b38('0x8a')](_0x157ce4['body'][_0x6b38('0x68')],_[_0x6b38('0x8b')](_0x157ce4[_0x6b38('0x4d')],['ids','id'])||{})[_0x6b38('0x8c')](function(_0x2e9c51){for(var _0x5a2588=0x0;_0x5a2588<_0x157ce4[_0x6b38('0x4d')]['ids'][_0x6b38('0x3f')];_0x5a2588+=0x1){socket[_0x6b38('0x70')](_0x6b38('0x71'),{'UserId':Number(_0x157ce4[_0x6b38('0x4d')]['ids'][_0x5a2588]),'MailQueueId':Number(_0x157ce4[_0x6b38('0x4a')]['id'])});}return _0x2e9c51;});}})['then'](respondWithResult(_0x1667b0,null))[_0x6b38('0x48')](handleError(_0x1667b0,null));};exports[_0x6b38('0x88')]=function(_0x2f1d22,_0x3b0594,_0x1cb0b7){return db[_0x6b38('0x35')][_0x6b38('0x55')]({'where':{'id':_0x2f1d22[_0x6b38('0x4a')]['id']}})[_0x6b38('0x2c')](handleEntityNotFound(_0x3b0594,null))[_0x6b38('0x2c')](function(_0x4fcddf){if(_0x4fcddf){return _0x4fcddf[_0x6b38('0x88')](_0x2f1d22[_0x6b38('0x3a')][_0x6b38('0x68')])[_0x6b38('0x2c')](function(){if(_[_0x6b38('0x8d')](_0x2f1d22[_0x6b38('0x3a')][_0x6b38('0x68')])){for(var _0x51b3eb=0x0;_0x51b3eb<_0x2f1d22['query'][_0x6b38('0x68')][_0x6b38('0x3f')];_0x51b3eb+=0x1){socket[_0x6b38('0x70')](_0x6b38('0x89'),{'UserId':Number(_0x2f1d22[_0x6b38('0x3a')]['ids'][_0x51b3eb]),'MailQueueId':Number(_0x2f1d22[_0x6b38('0x4a')]['id'])});}}else{socket[_0x6b38('0x70')](_0x6b38('0x89'),{'UserId':Number(_0x2f1d22['query'][_0x6b38('0x68')]),'MailQueueId':Number(_0x2f1d22['params']['id'])});}});}})['then'](respondWithStatusCode(_0x3b0594,null))[_0x6b38('0x48')](handleError(_0x3b0594,null));};exports['getAgents']=function(_0x37a382,_0x5b8074,_0x5bc6fd){var _0x27e4bd={};var _0x1b1d42={};var _0x435d07;var _0x1f33ab;return db['MailQueue']['findOne']({'where':{'id':_0x37a382[_0x6b38('0x4a')]['id']}})[_0x6b38('0x2c')](handleEntityNotFound(_0x5b8074,null))[_0x6b38('0x2c')](function(_0x3dc6c1){if(_0x3dc6c1){_0x435d07=_0x3dc6c1;_0x1b1d42[_0x6b38('0x39')]=_[_0x6b38('0x4b')](db[_0x6b38('0x73')][_0x6b38('0x36')]);_0x1b1d42['query']=_[_0x6b38('0x4b')](_0x37a382[_0x6b38('0x3a')]);_0x1b1d42[_0x6b38('0x3b')]=_['intersection'](_0x1b1d42[_0x6b38('0x39')],_0x1b1d42[_0x6b38('0x3a')]);_0x27e4bd[_0x6b38('0x3d')]=_['intersection'](_0x1b1d42[_0x6b38('0x39')],qs[_0x6b38('0x3e')](_0x37a382[_0x6b38('0x3a')]['fields']));_0x27e4bd['attributes']=_0x27e4bd[_0x6b38('0x3d')][_0x6b38('0x3f')]?_0x27e4bd[_0x6b38('0x3d')]:_0x1b1d42['model'];_0x27e4bd[_0x6b38('0x5b')]=qs['sort'](_0x37a382['query'][_0x6b38('0x41')]);_0x27e4bd[_0x6b38('0x45')]=qs[_0x6b38('0x3b')](_[_0x6b38('0x42')](_0x37a382[_0x6b38('0x3a')],_0x1b1d42[_0x6b38('0x3b')]));if(_0x37a382[_0x6b38('0x3a')][_0x6b38('0x43')]){_0x27e4bd[_0x6b38('0x45')]=_['merge'](_0x27e4bd['where'],{'$or':_[_0x6b38('0x34')](_0x27e4bd[_0x6b38('0x3d')],function(_0x4c02dd){var _0x545b1c={};_0x545b1c[_0x4c02dd]={'$like':'%'+_0x37a382[_0x6b38('0x3a')][_0x6b38('0x43')]+'%'};return _0x545b1c;})});}_0x27e4bd=_['merge']({},_0x27e4bd,_0x37a382[_0x6b38('0x4c')]);return _0x435d07[_0x6b38('0x8e')](_0x27e4bd);}})[_0x6b38('0x2c')](function(_0x15e9c9){if(_0x15e9c9){_0x1f33ab=_0x15e9c9['length'];if(!_0x37a382['query'][_0x6b38('0x5a')](_0x6b38('0x40'))){_0x27e4bd[_0x6b38('0x25')]=qs['limit'](_0x37a382['query'][_0x6b38('0x25')]);_0x27e4bd['offset']=qs[_0x6b38('0x22')](_0x37a382['query']['offset']);}return _0x435d07['getAgents'](_0x27e4bd);}})[_0x6b38('0x2c')](function(_0x2e8488){if(_0x2e8488){return _0x2e8488?{'count':_0x1f33ab,'rows':_0x2e8488}:null;}})[_0x6b38('0x2c')](respondWithResult(_0x5b8074,null))['catch'](handleError(_0x5b8074,null));};