Built motion from commit b5413ace.|2.6.9
[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 _0x0713=['team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','sequelize','toString','QueryTypes','includes','all','union','value','isEmpty','removeAgents','forEach','userMailQueue:remove','addAgents','omit','spread','getAgents','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','socket.io-emitter','register','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','save','update','then','destroy','MailQueues','UserProfileResource','error','stack','name','send','map','MailQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','fields','hasOwnProperty','order','where','pick','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','show','params','intersection','length','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','describe','getMembers','findOne','nolimit','sort','MailQueueId','UserMailQueue','User','findAndCountAll','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','addTeams','ids','Team','online','voicePause','flatMap','Agents','each','findOrCreate','emit','userMailQueue:save','removeTeams','field','tq.TeamId','from'];(function(_0x4a747d,_0x3b747f){var _0x3a5b5c=function(_0x4b3e81){while(--_0x4b3e81){_0x4a747d['push'](_0x4a747d['shift']());}};_0x3a5b5c(++_0x3b747f);}(_0x0713,0x1ba));var _0x3071=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0713[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3071('0x0'));var jsonpatch=require(_0x3071('0x1'));var rp=require(_0x3071('0x2'));var moment=require(_0x3071('0x3'));var BPromise=require(_0x3071('0x4'));var Mustache=require('mustache');var util=require(_0x3071('0x5'));var path=require(_0x3071('0x6'));var sox=require(_0x3071('0x7'));var csv=require(_0x3071('0x8'));var ejs=require(_0x3071('0x9'));var fs=require('fs');var fs_extra=require(_0x3071('0xa'));var _=require(_0x3071('0xb'));var squel=require(_0x3071('0xc'));var crypto=require(_0x3071('0xd'));var jsforce=require(_0x3071('0xe'));var deskjs=require(_0x3071('0xf'));var toCsv=require(_0x3071('0x8'));var querystring=require(_0x3071('0x10'));var Papa=require('papaparse');var Redis=require(_0x3071('0x11'));var authService=require(_0x3071('0x12'));var qs=require(_0x3071('0x13'));var as=require(_0x3071('0x14'));var hardwareService=require(_0x3071('0x15'));var logger=require('../../config/logger')(_0x3071('0x16'));var utils=require(_0x3071('0x17'));var config=require(_0x3071('0x18'));var licenseUtil=require(_0x3071('0x19'));var db=require(_0x3071('0x1a'))['db'];config['redis']=_['defaults'](config[_0x3071('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x3071('0x1c'))(new Redis(config[_0x3071('0x1b')]));require('./mailQueue.socket')[_0x3071('0x1d')](socket);function respondWithStatusCode(_0x4e1219,_0x2fc15d){_0x2fc15d=_0x2fc15d||0xcc;return function(_0x45c93b){if(_0x45c93b){return _0x4e1219[_0x3071('0x1e')](_0x2fc15d);}return _0x4e1219[_0x3071('0x1f')](_0x2fc15d)[_0x3071('0x20')]();};}function respondWithResult(_0x2a6a4b,_0x157a47){_0x157a47=_0x157a47||0xc8;return function(_0x11bdc9){if(_0x11bdc9){return _0x2a6a4b[_0x3071('0x1f')](_0x157a47)[_0x3071('0x21')](_0x11bdc9);}};}function respondWithFilteredResult(_0x5f3c22,_0x224996){return function(_0x17dbda){if(_0x17dbda){var _0x1068d9=typeof _0x224996[_0x3071('0x22')]===_0x3071('0x23')&&typeof _0x224996[_0x3071('0x24')]===_0x3071('0x23');var _0x26f113=_0x17dbda['count'];var _0x359e66=_0x1068d9?0x0:_0x224996[_0x3071('0x22')];var _0xd3e23d=_0x1068d9?_0x17dbda['count']:_0x224996[_0x3071('0x22')]+_0x224996['limit'];var _0x833074;if(_0xd3e23d>=_0x26f113){_0xd3e23d=_0x26f113;_0x833074=0xc8;}else{_0x833074=0xce;}_0x5f3c22[_0x3071('0x1f')](_0x833074);return _0x5f3c22[_0x3071('0x25')](_0x3071('0x26'),_0x359e66+'-'+_0xd3e23d+'/'+_0x26f113)[_0x3071('0x21')](_0x17dbda);}return null;};}function patchUpdates(_0x34c50e){return function(_0x3c5cef){try{jsonpatch[_0x3071('0x27')](_0x3c5cef,_0x34c50e,!![]);}catch(_0x542646){return BPromise['reject'](_0x542646);}return _0x3c5cef[_0x3071('0x28')]();};}function saveUpdates(_0xb05b1d,_0x412652){return function(_0x13df9f){if(_0x13df9f){return _0x13df9f[_0x3071('0x29')](_0xb05b1d)[_0x3071('0x2a')](function(_0x7a4cb4){return _0x7a4cb4;});}return null;};}function removeEntity(_0x1fe727,_0x1de5fb){return function(_0x4c7130){if(_0x4c7130){return _0x4c7130[_0x3071('0x2b')]()[_0x3071('0x2a')](function(){var _0x177138=_0x4c7130['get']({'plain':!![]});var _0x4fb1ca=_0x3071('0x2c');return db[_0x3071('0x2d')][_0x3071('0x2b')]({'where':{'type':_0x4fb1ca,'resourceId':_0x177138['id']}})[_0x3071('0x2a')](function(){return _0x4c7130;});})[_0x3071('0x2a')](function(){_0x1fe727[_0x3071('0x1f')](0xcc)[_0x3071('0x20')]();});}};}function handleEntityNotFound(_0x32f1b4,_0x292205){return function(_0x254fc8){if(!_0x254fc8){_0x32f1b4['sendStatus'](0x194);}return _0x254fc8;};}function handleError(_0x4f1484,_0x9e26d1){_0x9e26d1=_0x9e26d1||0x1f4;return function(_0x149e0d){logger[_0x3071('0x2e')](_0x149e0d[_0x3071('0x2f')]);if(_0x149e0d[_0x3071('0x30')]){delete _0x149e0d[_0x3071('0x30')];}_0x4f1484[_0x3071('0x1f')](_0x9e26d1)[_0x3071('0x31')](_0x149e0d);};}exports['index']=function(_0x55d230,_0x4ab983){var _0x1b0aaf={},_0x392800={},_0x5b5bf1={'count':0x0,'rows':[]};var _0x17407a=_[_0x3071('0x32')](db[_0x3071('0x33')][_0x3071('0x34')],function(_0x5e1d2b){return{'name':_0x5e1d2b[_0x3071('0x35')],'type':_0x5e1d2b[_0x3071('0x36')][_0x3071('0x37')]};});_0x392800[_0x3071('0x38')]=_[_0x3071('0x32')](_0x17407a,_0x3071('0x30'));_0x392800[_0x3071('0x39')]=_[_0x3071('0x3a')](_0x55d230['query']);_0x392800[_0x3071('0x3b')]=_['intersection'](_0x392800['model'],_0x392800[_0x3071('0x39')]);_0x1b0aaf[_0x3071('0x3c')]=_['intersection'](_0x392800[_0x3071('0x38')],qs[_0x3071('0x3d')](_0x55d230[_0x3071('0x39')][_0x3071('0x3d')]));_0x1b0aaf[_0x3071('0x3c')]=_0x1b0aaf[_0x3071('0x3c')]['length']?_0x1b0aaf[_0x3071('0x3c')]:_0x392800[_0x3071('0x38')];if(!_0x55d230['query'][_0x3071('0x3e')]('nolimit')){_0x1b0aaf[_0x3071('0x24')]=qs[_0x3071('0x24')](_0x55d230['query']['limit']);_0x1b0aaf[_0x3071('0x22')]=qs[_0x3071('0x22')](_0x55d230[_0x3071('0x39')]['offset']);}_0x1b0aaf[_0x3071('0x3f')]=qs['sort'](_0x55d230[_0x3071('0x39')]['sort']);_0x1b0aaf[_0x3071('0x40')]=qs[_0x3071('0x3b')](_[_0x3071('0x41')](_0x55d230[_0x3071('0x39')],_0x392800[_0x3071('0x3b')]),_0x17407a);if(_0x55d230['query']['filter']){_0x1b0aaf[_0x3071('0x40')]=_[_0x3071('0x42')](_0x1b0aaf[_0x3071('0x40')],{'$or':_[_0x3071('0x32')](_0x17407a,function(_0x525389){if(_0x525389[_0x3071('0x36')]!==_0x3071('0x43')){var _0x3abcd8={};_0x3abcd8[_0x525389[_0x3071('0x30')]]={'$like':'%'+_0x55d230[_0x3071('0x39')][_0x3071('0x44')]+'%'};return _0x3abcd8;}})});}_0x1b0aaf=_['merge']({},_0x1b0aaf,_0x55d230[_0x3071('0x45')]);var _0x596113={'where':_0x1b0aaf['where']};return db['MailQueue']['count'](_0x596113)[_0x3071('0x2a')](function(_0x1be8b6){_0x5b5bf1[_0x3071('0x46')]=_0x1be8b6;if(_0x55d230[_0x3071('0x39')][_0x3071('0x47')]){_0x1b0aaf[_0x3071('0x48')]=[{'all':!![]}];}return db[_0x3071('0x33')][_0x3071('0x49')](_0x1b0aaf);})['then'](function(_0x1e8222){_0x5b5bf1[_0x3071('0x4a')]=_0x1e8222;return _0x5b5bf1;})[_0x3071('0x2a')](respondWithFilteredResult(_0x4ab983,_0x1b0aaf))[_0x3071('0x4b')](handleError(_0x4ab983,null));};exports[_0x3071('0x4c')]=function(_0x5ef13f,_0x5c93c7){var _0x1721d0={'raw':!![],'where':{'id':_0x5ef13f[_0x3071('0x4d')]['id']}},_0x3c2f5e={};_0x3c2f5e[_0x3071('0x38')]=_[_0x3071('0x3a')](db['MailQueue'][_0x3071('0x34')]);_0x3c2f5e['query']=_[_0x3071('0x3a')](_0x5ef13f['query']);_0x3c2f5e['filters']=_[_0x3071('0x4e')](_0x3c2f5e['model'],_0x3c2f5e[_0x3071('0x39')]);_0x1721d0['attributes']=_[_0x3071('0x4e')](_0x3c2f5e[_0x3071('0x38')],qs[_0x3071('0x3d')](_0x5ef13f[_0x3071('0x39')]['fields']));_0x1721d0[_0x3071('0x3c')]=_0x1721d0['attributes'][_0x3071('0x4f')]?_0x1721d0['attributes']:_0x3c2f5e[_0x3071('0x38')];if(_0x5ef13f[_0x3071('0x39')]['includeAll']){_0x1721d0[_0x3071('0x48')]=[{'all':!![]}];}_0x1721d0=_[_0x3071('0x42')]({},_0x1721d0,_0x5ef13f[_0x3071('0x45')]);return db[_0x3071('0x33')][_0x3071('0x50')](_0x1721d0)[_0x3071('0x2a')](handleEntityNotFound(_0x5c93c7,null))[_0x3071('0x2a')](respondWithResult(_0x5c93c7,null))['catch'](handleError(_0x5c93c7,null));};exports[_0x3071('0x51')]=function(_0x486b7a,_0x443b0e){return db[_0x3071('0x33')]['create'](_0x486b7a[_0x3071('0x52')],{})[_0x3071('0x2a')](function(_0x1b832e){var _0x2307dd=_0x486b7a[_0x3071('0x53')][_0x3071('0x54')]({'plain':!![]});if(!_0x2307dd)throw new Error(_0x3071('0x55'));if(_0x2307dd[_0x3071('0x56')]===_0x3071('0x53')){var _0x886f7=_0x1b832e[_0x3071('0x54')]({'plain':!![]});var _0x111115=_0x3071('0x2c');return db[_0x3071('0x57')][_0x3071('0x50')]({'where':{'name':_0x111115,'userProfileId':_0x2307dd[_0x3071('0x58')]},'raw':!![]})['then'](function(_0x47a438){if(_0x47a438&&_0x47a438[_0x3071('0x59')]===0x0){return db['UserProfileResource'][_0x3071('0x51')]({'name':_0x886f7[_0x3071('0x30')],'resourceId':_0x886f7['id'],'type':_0x47a438[_0x3071('0x30')],'sectionId':_0x47a438['id']},{})['then'](function(){return _0x1b832e;});}else{return _0x1b832e;}})[_0x3071('0x4b')](function(_0x1ada95){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1ada95);throw _0x1ada95;});}return _0x1b832e;})[_0x3071('0x2a')](respondWithResult(_0x443b0e,0xc9))[_0x3071('0x4b')](handleError(_0x443b0e,null));};exports[_0x3071('0x29')]=function(_0x3206c3,_0x49877e){if(_0x3206c3[_0x3071('0x52')]['id']){delete _0x3206c3[_0x3071('0x52')]['id'];}return db[_0x3071('0x33')][_0x3071('0x50')]({'where':{'id':_0x3206c3[_0x3071('0x4d')]['id']}})['then'](handleEntityNotFound(_0x49877e,null))[_0x3071('0x2a')](saveUpdates(_0x3206c3[_0x3071('0x52')],null))[_0x3071('0x2a')](respondWithResult(_0x49877e,null))[_0x3071('0x4b')](handleError(_0x49877e,null));};exports[_0x3071('0x2b')]=function(_0x24f429,_0x71d921){return db['MailQueue']['find']({'where':{'id':_0x24f429[_0x3071('0x4d')]['id']}})['then'](handleEntityNotFound(_0x71d921,null))[_0x3071('0x2a')](removeEntity(_0x71d921,null))[_0x3071('0x4b')](handleError(_0x71d921,null));};exports['describe']=function(_0x19dc95,_0x1bf911){return db['MailQueue'][_0x3071('0x5a')]()[_0x3071('0x2a')](respondWithResult(_0x1bf911,null))[_0x3071('0x4b')](handleError(_0x1bf911,null));};exports[_0x3071('0x5b')]=function(_0x2aaccb,_0x53a399,_0x327ef0){var _0x313a54={'raw':!![],'where':{}},_0x19252f={},_0x48ee42;return db[_0x3071('0x33')][_0x3071('0x5c')]({'where':{'id':_0x2aaccb[_0x3071('0x4d')]['id']}})[_0x3071('0x2a')](handleEntityNotFound(_0x53a399,null))[_0x3071('0x2a')](function(_0x210123){if(_0x210123){_0x48ee42=_0x210123[_0x3071('0x54')]({'plain':!![]});_0x19252f[_0x3071('0x38')]=_[_0x3071('0x3a')](db['UserMailQueue'][_0x3071('0x34')]);_0x19252f[_0x3071('0x39')]=_[_0x3071('0x3a')](_0x2aaccb[_0x3071('0x39')]);_0x19252f[_0x3071('0x3b')]=_[_0x3071('0x4e')](_0x19252f[_0x3071('0x38')],_0x19252f[_0x3071('0x39')]);_0x313a54[_0x3071('0x3c')]=_[_0x3071('0x4e')](_0x19252f[_0x3071('0x38')],qs['fields'](_0x2aaccb[_0x3071('0x39')][_0x3071('0x3d')]));_0x313a54[_0x3071('0x3c')]=_0x313a54[_0x3071('0x3c')][_0x3071('0x4f')]?_0x313a54[_0x3071('0x3c')]:_0x19252f[_0x3071('0x38')];if(!_0x2aaccb[_0x3071('0x39')]['hasOwnProperty'](_0x3071('0x5d'))){_0x313a54[_0x3071('0x24')]=qs['limit'](_0x2aaccb['query'][_0x3071('0x24')]);_0x313a54[_0x3071('0x22')]=qs[_0x3071('0x22')](_0x2aaccb[_0x3071('0x39')]['offset']);}_0x313a54['order']=qs[_0x3071('0x5e')](_0x2aaccb['query']['sort']);_0x313a54['where']=qs['filters'](_[_0x3071('0x41')](_0x2aaccb[_0x3071('0x39')],_0x19252f[_0x3071('0x3b')]));_0x313a54['where'][_0x3071('0x5f')]=_0x210123['id'];if(_0x2aaccb[_0x3071('0x39')][_0x3071('0x44')]){_0x313a54[_0x3071('0x40')]=_['merge'](_0x313a54[_0x3071('0x40')],{'$or':_[_0x3071('0x32')](_0x313a54['attributes'],function(_0x1b35d3){var _0x29ee70={};_0x29ee70[_0x1b35d3]={'$like':'%'+_0x2aaccb[_0x3071('0x39')][_0x3071('0x44')]+'%'};return _0x29ee70;})});}_0x313a54=_[_0x3071('0x42')]({},_0x313a54,_0x2aaccb[_0x3071('0x45')]);return db[_0x3071('0x60')]['findAll'](_0x313a54);}})['then'](function(_0x21c1e3){if(_0x21c1e3){return db[_0x3071('0x61')][_0x3071('0x62')]({'where':{'id':_['map'](_0x21c1e3,'UserId'),'role':_0x3071('0x63')},'attributes':['id',_0x3071('0x30'),_0x3071('0x64'),_0x3071('0x65'),_0x3071('0x66')]});}})[_0x3071('0x2a')](function(_0x19bc85){if(_0x19bc85){return{'count':_0x19bc85[_0x3071('0x46')],'rows':_['map'](_0x19bc85[_0x3071('0x4a')],function(_0x5ea33f){return{'membername':_0x5ea33f[_0x3071('0x30')],'UserId':_0x5ea33f['id'],'queue_name':_0x48ee42[_0x3071('0x30')],'MailQueueId':_0x48ee42['id'],'interface':util[_0x3071('0x67')](_0x3071('0x68'),_0x3071('0x69'),_0x5ea33f[_0x3071('0x30')]),'penalty':0x0,'paused':_0x5ea33f[_0x3071('0x64')],'createdAt':_0x5ea33f[_0x3071('0x66')],'updatedAt':_0x5ea33f['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x3071('0x2a')](respondWithFilteredResult(_0x53a399,_0x313a54))[_0x3071('0x4b')](handleError(_0x53a399,null));};exports[_0x3071('0x6a')]=function(_0x4f06c0,_0x2a2e7a,_0x22ec7b){var _0x4625f2={};var _0x567e33={};var _0x521ee6;var _0x2a032b;return db['MailQueue'][_0x3071('0x5c')]({'where':{'id':_0x4f06c0[_0x3071('0x4d')]['id']}})[_0x3071('0x2a')](handleEntityNotFound(_0x2a2e7a,null))[_0x3071('0x2a')](function(_0x311939){if(_0x311939){_0x521ee6=_0x311939;_0x567e33[_0x3071('0x38')]=_[_0x3071('0x3a')](db['Team'][_0x3071('0x34')]);_0x567e33[_0x3071('0x39')]=_[_0x3071('0x3a')](_0x4f06c0[_0x3071('0x39')]);_0x567e33[_0x3071('0x3b')]=_[_0x3071('0x4e')](_0x567e33[_0x3071('0x38')],_0x567e33[_0x3071('0x39')]);_0x4625f2['attributes']=_[_0x3071('0x4e')](_0x567e33['model'],qs[_0x3071('0x3d')](_0x4f06c0[_0x3071('0x39')][_0x3071('0x3d')]));_0x4625f2[_0x3071('0x3c')]=_0x4625f2[_0x3071('0x3c')][_0x3071('0x4f')]?_0x4625f2[_0x3071('0x3c')]:_0x567e33[_0x3071('0x38')];_0x4625f2[_0x3071('0x3f')]=qs[_0x3071('0x5e')](_0x4f06c0['query'][_0x3071('0x5e')]);_0x4625f2[_0x3071('0x40')]=qs['filters'](_[_0x3071('0x41')](_0x4f06c0[_0x3071('0x39')],_0x567e33[_0x3071('0x3b')]));if(_0x4f06c0[_0x3071('0x39')][_0x3071('0x44')]){_0x4625f2['where']=_['merge'](_0x4625f2[_0x3071('0x40')],{'$or':_['map'](_0x4625f2[_0x3071('0x3c')],function(_0x1f4509){var _0x4167a7={};_0x4167a7[_0x1f4509]={'$like':'%'+_0x4f06c0[_0x3071('0x39')][_0x3071('0x44')]+'%'};return _0x4167a7;})});}_0x4625f2=_[_0x3071('0x42')]({},_0x4625f2,_0x4f06c0['options']);return _0x521ee6[_0x3071('0x6a')](_0x4625f2);}})[_0x3071('0x2a')](function(_0x405a0a){if(_0x405a0a){_0x2a032b=_0x405a0a[_0x3071('0x4f')];if(!_0x4f06c0['query'][_0x3071('0x3e')](_0x3071('0x5d'))){_0x4625f2['limit']=qs[_0x3071('0x24')](_0x4f06c0[_0x3071('0x39')][_0x3071('0x24')]);_0x4625f2[_0x3071('0x22')]=qs[_0x3071('0x22')](_0x4f06c0['query'][_0x3071('0x22')]);}return _0x521ee6['getTeams'](_0x4625f2);}})[_0x3071('0x2a')](function(_0x2eb463){if(_0x2eb463){return _0x2eb463?{'count':_0x2a032b,'rows':_0x2eb463}:null;}})[_0x3071('0x2a')](respondWithResult(_0x2a2e7a,null))[_0x3071('0x4b')](handleError(_0x2a2e7a,null));};exports[_0x3071('0x6b')]=function(_0x247cda,_0x11d654,_0x32b2e2){var _0x4ed248=_0x247cda[_0x3071('0x52')][_0x3071('0x6c')];return db[_0x3071('0x6d')]['findAll']({'where':{'id':_0x4ed248},'attributes':['id'],'include':[{'model':db[_0x3071('0x61')],'as':'Agents','attributes':['id',_0x3071('0x30'),_0x3071('0x6e'),_0x3071('0x6f'),'interface'],'raw':!![]}]})[_0x3071('0x2a')](function(_0x2ef706){if(_0x2ef706){var _0x3cbb6e=_[_0x3071('0x70')](_0x2ef706,function(_0x23c242){var _0x2e5f09=_0x23c242[_0x3071('0x54')]({'plain':!![]});return _0x2e5f09[_0x3071('0x71')];});return db[_0x3071('0x33')]['find']({'where':{'id':_0x247cda[_0x3071('0x4d')]['id']}})[_0x3071('0x2a')](function(_0x34b376){return db['sequelize']['transaction'](function(_0x51e468){return _0x34b376['addTeams'](_0x4ed248,{'transaction':_0x51e468})['then'](function(){return BPromise[_0x3071('0x72')](_0x3cbb6e,function(_0x44b4c9){return db['UserMailQueue'][_0x3071('0x73')]({'where':{'UserId':_0x44b4c9['id'],'MailQueueId':_0x247cda[_0x3071('0x4d')]['id']},'transaction':_0x51e468});});})[_0x3071('0x2a')](function(){_0x3cbb6e['forEach'](function(_0x55d994){socket[_0x3071('0x74')](_0x3071('0x75'),{'UserId':_0x55d994['id'],'MailQueueId':_0x34b376['id']});});});});});}})[_0x3071('0x2a')](respondWithStatusCode(_0x11d654,null))[_0x3071('0x4b')](handleError(_0x11d654,null));};exports[_0x3071('0x76')]=function(_0x1a8849,_0x327732,_0x5eb60d){return db['Team'][_0x3071('0x49')]({'where':{'id':_0x1a8849[_0x3071('0x39')][_0x3071('0x6c')]},'attributes':['id'],'include':[{'model':db[_0x3071('0x61')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x3071('0x2a')](handleEntityNotFound(_0x327732,null))[_0x3071('0x2a')](function(_0x23fa38){var _0x1102b4=_[_0x3071('0x32')](_0x23fa38,'id');var _0x38bf4e=[];var _0x234f62=[];var _0x288685=squel['select']();_0x288685[_0x3071('0x77')](_0x3071('0x78'))[_0x3071('0x79')](_0x3071('0x7a'),'tq')[_0x3071('0x7b')]('user_has_teams','ut',_0x3071('0x7c'))['where']('MailQueueId\x20=\x20?',_0x1a8849[_0x3071('0x4d')]['id']);for(var _0x3108ea=0x0;_0x3108ea<_0x23fa38[_0x3071('0x4f')];_0x3108ea+=0x1){let _0x48fdd2=_0x23fa38[_0x3108ea];for(var _0x262bca=0x0;_0x262bca<_0x48fdd2[_0x3071('0x71')][_0x3071('0x4f')];_0x262bca+=0x1){let _0x216650=_0x48fdd2[_0x3071('0x71')][_0x262bca];var _0x5511a6=_0x288685['clone']();_0x5511a6[_0x3071('0x40')](_0x3071('0x7d'),_0x216650['id']);_0x234f62['push'](db[_0x3071('0x7e')][_0x3071('0x39')](_0x5511a6[_0x3071('0x7f')](),{'type':db[_0x3071('0x7e')][_0x3071('0x80')]['SELECT']})[_0x3071('0x2a')](function(_0x5b1ff8){if(_0x5b1ff8[_0x3071('0x4f')]===0x1){return _0x216650['id'];}else{var _0x2ffca3=_['every'](_[_0x3071('0x32')](_0x5b1ff8,'TeamId'),function(_0x1322eb){return _[_0x3071('0x81')](_0x1102b4,_0x1322eb);});if(_0x2ffca3){return _0x216650['id'];}}}));}}return BPromise[_0x3071('0x82')](_0x234f62)[_0x3071('0x2a')](function(_0x5a19b5){_0x38bf4e=_(_0x38bf4e)[_0x3071('0x83')](_0x5a19b5)['compact']()[_0x3071('0x84')]();return db['MailQueue'][_0x3071('0x50')]({'where':{'id':_0x1a8849[_0x3071('0x4d')]['id']}})['then'](function(_0x4472df){return db[_0x3071('0x7e')]['transaction'](function(_0x431f1a){return _0x4472df[_0x3071('0x76')](_0x1a8849[_0x3071('0x39')][_0x3071('0x6c')],{'transaction':_0x431f1a})[_0x3071('0x2a')](function(){if(!_[_0x3071('0x85')](_0x38bf4e)){return _0x4472df[_0x3071('0x86')](_0x38bf4e,{'transaction':_0x431f1a});}})[_0x3071('0x2a')](function(){_0x38bf4e[_0x3071('0x87')](function(_0x35d0d1){socket[_0x3071('0x74')](_0x3071('0x88'),{'UserId':_0x35d0d1,'MailQueueId':_0x4472df['id']});});});});});});})[_0x3071('0x2a')](respondWithStatusCode(_0x327732,null))[_0x3071('0x4b')](handleError(_0x327732,null));};exports[_0x3071('0x89')]=function(_0x5128a5,_0x1aff4e,_0x1a4a26){return db[_0x3071('0x33')][_0x3071('0x50')]({'where':{'id':_0x5128a5[_0x3071('0x4d')]['id']}})['then'](handleEntityNotFound(_0x1aff4e,null))['then'](function(_0x3a9f1){if(_0x3a9f1){return _0x3a9f1[_0x3071('0x89')](_0x5128a5['body'][_0x3071('0x6c')],_[_0x3071('0x8a')](_0x5128a5['body'],[_0x3071('0x6c'),'id'])||{})[_0x3071('0x8b')](function(_0x22e3f1){for(var _0x3c91d6=0x0;_0x3c91d6<_0x5128a5[_0x3071('0x52')][_0x3071('0x6c')][_0x3071('0x4f')];_0x3c91d6+=0x1){socket[_0x3071('0x74')](_0x3071('0x75'),{'UserId':Number(_0x5128a5[_0x3071('0x52')]['ids'][_0x3c91d6]),'MailQueueId':Number(_0x5128a5[_0x3071('0x4d')]['id'])});}return _0x22e3f1;});}})['then'](respondWithResult(_0x1aff4e,null))[_0x3071('0x4b')](handleError(_0x1aff4e,null));};exports[_0x3071('0x86')]=function(_0x46ab46,_0x3d4d6b,_0x52f58a){return db['MailQueue']['find']({'where':{'id':_0x46ab46[_0x3071('0x4d')]['id']}})[_0x3071('0x2a')](handleEntityNotFound(_0x3d4d6b,null))[_0x3071('0x2a')](function(_0x2e729c){if(_0x2e729c){return _0x2e729c['removeAgents'](_0x46ab46[_0x3071('0x39')][_0x3071('0x6c')])[_0x3071('0x2a')](function(){if(_['isArray'](_0x46ab46['query']['ids'])){for(var _0x4afc58=0x0;_0x4afc58<_0x46ab46[_0x3071('0x39')][_0x3071('0x6c')]['length'];_0x4afc58+=0x1){socket[_0x3071('0x74')](_0x3071('0x88'),{'UserId':Number(_0x46ab46[_0x3071('0x39')][_0x3071('0x6c')][_0x4afc58]),'MailQueueId':Number(_0x46ab46[_0x3071('0x4d')]['id'])});}}else{socket['emit'](_0x3071('0x88'),{'UserId':Number(_0x46ab46[_0x3071('0x39')][_0x3071('0x6c')]),'MailQueueId':Number(_0x46ab46[_0x3071('0x4d')]['id'])});}});}})['then'](respondWithStatusCode(_0x3d4d6b,null))[_0x3071('0x4b')](handleError(_0x3d4d6b,null));};exports['getAgents']=function(_0x2c5bf0,_0x4196bd,_0x212e64){var _0x4ec7a4={};var _0x100be7={};var _0x192296;var _0x2ba106;return db[_0x3071('0x33')]['findOne']({'where':{'id':_0x2c5bf0[_0x3071('0x4d')]['id']}})[_0x3071('0x2a')](handleEntityNotFound(_0x4196bd,null))[_0x3071('0x2a')](function(_0x35bde9){if(_0x35bde9){_0x192296=_0x35bde9;_0x100be7[_0x3071('0x38')]=_['keys'](db['User'][_0x3071('0x34')]);_0x100be7[_0x3071('0x39')]=_[_0x3071('0x3a')](_0x2c5bf0[_0x3071('0x39')]);_0x100be7['filters']=_['intersection'](_0x100be7[_0x3071('0x38')],_0x100be7[_0x3071('0x39')]);_0x4ec7a4['attributes']=_[_0x3071('0x4e')](_0x100be7[_0x3071('0x38')],qs[_0x3071('0x3d')](_0x2c5bf0['query']['fields']));_0x4ec7a4['attributes']=_0x4ec7a4[_0x3071('0x3c')][_0x3071('0x4f')]?_0x4ec7a4[_0x3071('0x3c')]:_0x100be7['model'];_0x4ec7a4['order']=qs[_0x3071('0x5e')](_0x2c5bf0[_0x3071('0x39')][_0x3071('0x5e')]);_0x4ec7a4[_0x3071('0x40')]=qs[_0x3071('0x3b')](_['pick'](_0x2c5bf0[_0x3071('0x39')],_0x100be7['filters']));if(_0x2c5bf0[_0x3071('0x39')][_0x3071('0x44')]){_0x4ec7a4[_0x3071('0x40')]=_[_0x3071('0x42')](_0x4ec7a4[_0x3071('0x40')],{'$or':_['map'](_0x4ec7a4[_0x3071('0x3c')],function(_0x1919cc){var _0x17b103={};_0x17b103[_0x1919cc]={'$like':'%'+_0x2c5bf0[_0x3071('0x39')][_0x3071('0x44')]+'%'};return _0x17b103;})});}_0x4ec7a4=_[_0x3071('0x42')]({},_0x4ec7a4,_0x2c5bf0[_0x3071('0x45')]);return _0x192296[_0x3071('0x8c')](_0x4ec7a4);}})[_0x3071('0x2a')](function(_0x109d20){if(_0x109d20){_0x2ba106=_0x109d20[_0x3071('0x4f')];if(!_0x2c5bf0['query'][_0x3071('0x3e')](_0x3071('0x5d'))){_0x4ec7a4[_0x3071('0x24')]=qs[_0x3071('0x24')](_0x2c5bf0['query'][_0x3071('0x24')]);_0x4ec7a4['offset']=qs[_0x3071('0x22')](_0x2c5bf0[_0x3071('0x39')][_0x3071('0x22')]);}return _0x192296[_0x3071('0x8c')](_0x4ec7a4);}})[_0x3071('0x2a')](function(_0x44c0e5){if(_0x44c0e5){return _0x44c0e5?{'count':_0x2ba106,'rows':_0x44c0e5}:null;}})[_0x3071('0x2a')](respondWithResult(_0x4196bd,null))['catch'](handleError(_0x4196bd,null));};