a0cce23cb6e2fcc4d99dedf7aa08cdeb9b0ebc88
[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 _0x1bb2=['includeAll','include','find','catch','create','body','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','UserMailQueue','sort','MailQueueId','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','SIP','getTeams','findOne','hasOwnProperty','ids','Team','Agents','online','voicePause','flatMap','sequelize','transaction','emit','userMailQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_mail_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','QueryTypes','SELECT','every','TeamId','includes','union','value','isEmpty','removeAgents','forEach','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','then','get','UserProfileResource','destroy','end','error','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','length','nolimit','order','where','pick','filter','merge','options','findAll','rows','show','params','fields'];(function(_0x3ef63b,_0x44a205){var _0x434220=function(_0x2f91c2){while(--_0x2f91c2){_0x3ef63b['push'](_0x3ef63b['shift']());}};_0x434220(++_0x44a205);}(_0x1bb2,0x152));var _0x21bb=function(_0x396d0a,_0x324fc1){_0x396d0a=_0x396d0a-0x0;var _0x44e447=_0x1bb2[_0x396d0a];return _0x44e447;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x21bb('0x0'));var zipdir=require(_0x21bb('0x1'));var jsonpatch=require(_0x21bb('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x21bb('0x3'));var Mustache=require(_0x21bb('0x4'));var util=require(_0x21bb('0x5'));var path=require(_0x21bb('0x6'));var sox=require(_0x21bb('0x7'));var csv=require(_0x21bb('0x8'));var ejs=require(_0x21bb('0x9'));var fs=require('fs');var fs_extra=require(_0x21bb('0xa'));var _=require(_0x21bb('0xb'));var squel=require(_0x21bb('0xc'));var crypto=require(_0x21bb('0xd'));var jsforce=require(_0x21bb('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x21bb('0x8'));var querystring=require('querystring');var Papa=require(_0x21bb('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x21bb('0x10'));var as=require(_0x21bb('0x11'));var hardwareService=require(_0x21bb('0x12'));var logger=require(_0x21bb('0x13'))(_0x21bb('0x14'));var utils=require(_0x21bb('0x15'));var config=require(_0x21bb('0x16'));var licenseUtil=require(_0x21bb('0x17'));var db=require('../../mysqldb')['db'];config[_0x21bb('0x18')]=_[_0x21bb('0x19')](config['redis'],{'host':_0x21bb('0x1a'),'port':0x18eb});var socket=require(_0x21bb('0x1b'))(new Redis(config['redis']));require(_0x21bb('0x1c'))[_0x21bb('0x1d')](socket);function respondWithStatusCode(_0x3444e1,_0x3fd2d9){_0x3fd2d9=_0x3fd2d9||0xcc;return function(_0x5a66d5){if(_0x5a66d5){return _0x3444e1[_0x21bb('0x1e')](_0x3fd2d9);}return _0x3444e1['status'](_0x3fd2d9)['end']();};}function respondWithResult(_0x18daa7,_0x1ef9a5){_0x1ef9a5=_0x1ef9a5||0xc8;return function(_0x2a8656){if(_0x2a8656){return _0x18daa7[_0x21bb('0x1f')](_0x1ef9a5)[_0x21bb('0x20')](_0x2a8656);}};}function respondWithFilteredResult(_0x412d50,_0x3497cf){return function(_0x15fc36){if(_0x15fc36){var _0x4393d8=typeof _0x3497cf[_0x21bb('0x21')]===_0x21bb('0x22')&&typeof _0x3497cf['limit']===_0x21bb('0x22');var _0x159ac6=_0x15fc36[_0x21bb('0x23')];var _0x4a2afe=_0x4393d8?0x0:_0x3497cf[_0x21bb('0x21')];var _0x3a5ae2=_0x4393d8?_0x15fc36[_0x21bb('0x23')]:_0x3497cf[_0x21bb('0x21')]+_0x3497cf[_0x21bb('0x24')];var _0x44930d;if(_0x3a5ae2>=_0x159ac6){_0x3a5ae2=_0x159ac6;_0x44930d=0xc8;}else{_0x44930d=0xce;}_0x412d50[_0x21bb('0x1f')](_0x44930d);return _0x412d50[_0x21bb('0x25')](_0x21bb('0x26'),_0x4a2afe+'-'+_0x3a5ae2+'/'+_0x159ac6)[_0x21bb('0x20')](_0x15fc36);}return null;};}function patchUpdates(_0x9f93a7){return function(_0xf209cd){try{jsonpatch['apply'](_0xf209cd,_0x9f93a7,!![]);}catch(_0x353019){return BPromise[_0x21bb('0x27')](_0x353019);}return _0xf209cd[_0x21bb('0x28')]();};}function saveUpdates(_0x490266,_0x35a313){return function(_0x53a3bf){if(_0x53a3bf){return _0x53a3bf[_0x21bb('0x29')](_0x490266)[_0x21bb('0x2a')](function(_0x40d801){return _0x40d801;});}return null;};}function removeEntity(_0x3239e2,_0x112412){return function(_0x14c336){if(_0x14c336){return _0x14c336['destroy']()[_0x21bb('0x2a')](function(){var _0xed3ab2=_0x14c336[_0x21bb('0x2b')]({'plain':!![]});var _0x3d5571='MailQueues';return db[_0x21bb('0x2c')][_0x21bb('0x2d')]({'where':{'type':_0x3d5571,'resourceId':_0xed3ab2['id']}})[_0x21bb('0x2a')](function(){return _0x14c336;});})[_0x21bb('0x2a')](function(){_0x3239e2[_0x21bb('0x1f')](0xcc)[_0x21bb('0x2e')]();});}};}function handleEntityNotFound(_0x20de34,_0x256974){return function(_0x5c5cae){if(!_0x5c5cae){_0x20de34[_0x21bb('0x1e')](0x194);}return _0x5c5cae;};}function handleError(_0xfd3327,_0x4fc34d){_0x4fc34d=_0x4fc34d||0x1f4;return function(_0x75418b){logger[_0x21bb('0x2f')](_0x75418b[_0x21bb('0x30')]);if(_0x75418b['name']){delete _0x75418b[_0x21bb('0x31')];}_0xfd3327['status'](_0x4fc34d)[_0x21bb('0x32')](_0x75418b);};}exports[_0x21bb('0x33')]=function(_0xa113b0,_0x3c58d5){var _0x5713d8={},_0x32b374={},_0x24dac3={'count':0x0,'rows':[]};var _0x496cb9=_[_0x21bb('0x34')](db[_0x21bb('0x35')][_0x21bb('0x36')],function(_0x390fa0){return{'name':_0x390fa0[_0x21bb('0x37')],'type':_0x390fa0[_0x21bb('0x38')]['key']};});_0x32b374[_0x21bb('0x39')]=_[_0x21bb('0x34')](_0x496cb9,'name');_0x32b374[_0x21bb('0x3a')]=_[_0x21bb('0x3b')](_0xa113b0['query']);_0x32b374[_0x21bb('0x3c')]=_[_0x21bb('0x3d')](_0x32b374[_0x21bb('0x39')],_0x32b374[_0x21bb('0x3a')]);_0x5713d8['attributes']=_['intersection'](_0x32b374[_0x21bb('0x39')],qs['fields'](_0xa113b0[_0x21bb('0x3a')]['fields']));_0x5713d8[_0x21bb('0x3e')]=_0x5713d8[_0x21bb('0x3e')][_0x21bb('0x3f')]?_0x5713d8[_0x21bb('0x3e')]:_0x32b374[_0x21bb('0x39')];if(!_0xa113b0['query']['hasOwnProperty'](_0x21bb('0x40'))){_0x5713d8[_0x21bb('0x24')]=qs[_0x21bb('0x24')](_0xa113b0[_0x21bb('0x3a')][_0x21bb('0x24')]);_0x5713d8['offset']=qs['offset'](_0xa113b0[_0x21bb('0x3a')][_0x21bb('0x21')]);}_0x5713d8[_0x21bb('0x41')]=qs['sort'](_0xa113b0[_0x21bb('0x3a')]['sort']);_0x5713d8[_0x21bb('0x42')]=qs[_0x21bb('0x3c')](_[_0x21bb('0x43')](_0xa113b0['query'],_0x32b374['filters']),_0x496cb9);if(_0xa113b0[_0x21bb('0x3a')][_0x21bb('0x44')]){_0x5713d8[_0x21bb('0x42')]=_[_0x21bb('0x45')](_0x5713d8['where'],{'$or':_[_0x21bb('0x34')](_0x496cb9,function(_0x3be21e){if(_0x3be21e['type']!=='VIRTUAL'){var _0x479a5f={};_0x479a5f[_0x3be21e[_0x21bb('0x31')]]={'$like':'%'+_0xa113b0[_0x21bb('0x3a')][_0x21bb('0x44')]+'%'};return _0x479a5f;}})});}_0x5713d8=_[_0x21bb('0x45')]({},_0x5713d8,_0xa113b0[_0x21bb('0x46')]);var _0x13565e={'where':_0x5713d8[_0x21bb('0x42')]};return db[_0x21bb('0x35')][_0x21bb('0x23')](_0x13565e)['then'](function(_0x205814){_0x24dac3[_0x21bb('0x23')]=_0x205814;if(_0xa113b0[_0x21bb('0x3a')]['includeAll']){_0x5713d8['include']=[{'all':!![]}];}return db['MailQueue'][_0x21bb('0x47')](_0x5713d8);})['then'](function(_0x27c5e6){_0x24dac3[_0x21bb('0x48')]=_0x27c5e6;return _0x24dac3;})[_0x21bb('0x2a')](respondWithFilteredResult(_0x3c58d5,_0x5713d8))['catch'](handleError(_0x3c58d5,null));};exports[_0x21bb('0x49')]=function(_0x59d02d,_0x1bb574){var _0x2eed3b={'raw':!![],'where':{'id':_0x59d02d[_0x21bb('0x4a')]['id']}},_0x5c714f={};_0x5c714f[_0x21bb('0x39')]=_[_0x21bb('0x3b')](db[_0x21bb('0x35')][_0x21bb('0x36')]);_0x5c714f[_0x21bb('0x3a')]=_[_0x21bb('0x3b')](_0x59d02d['query']);_0x5c714f[_0x21bb('0x3c')]=_['intersection'](_0x5c714f['model'],_0x5c714f['query']);_0x2eed3b[_0x21bb('0x3e')]=_[_0x21bb('0x3d')](_0x5c714f[_0x21bb('0x39')],qs[_0x21bb('0x4b')](_0x59d02d[_0x21bb('0x3a')][_0x21bb('0x4b')]));_0x2eed3b[_0x21bb('0x3e')]=_0x2eed3b[_0x21bb('0x3e')][_0x21bb('0x3f')]?_0x2eed3b[_0x21bb('0x3e')]:_0x5c714f[_0x21bb('0x39')];if(_0x59d02d['query'][_0x21bb('0x4c')]){_0x2eed3b[_0x21bb('0x4d')]=[{'all':!![]}];}_0x2eed3b=_[_0x21bb('0x45')]({},_0x2eed3b,_0x59d02d[_0x21bb('0x46')]);return db[_0x21bb('0x35')][_0x21bb('0x4e')](_0x2eed3b)[_0x21bb('0x2a')](handleEntityNotFound(_0x1bb574,null))['then'](respondWithResult(_0x1bb574,null))[_0x21bb('0x4f')](handleError(_0x1bb574,null));};exports[_0x21bb('0x50')]=function(_0x2c7e54,_0x20e7ad){return db[_0x21bb('0x35')]['create'](_0x2c7e54[_0x21bb('0x51')],{})[_0x21bb('0x2a')](function(_0x2f40ba){var _0x348c42=_0x2c7e54['user'][_0x21bb('0x2b')]({'plain':!![]});if(!_0x348c42)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x348c42[_0x21bb('0x52')]===_0x21bb('0x53')){var _0xaa8fc2=_0x2f40ba[_0x21bb('0x2b')]({'plain':!![]});var _0xd33150='MailQueues';return db['UserProfileSection'][_0x21bb('0x4e')]({'where':{'name':_0xd33150,'userProfileId':_0x348c42[_0x21bb('0x54')]},'raw':!![]})[_0x21bb('0x2a')](function(_0x150c21){if(_0x150c21&&_0x150c21[_0x21bb('0x55')]===0x0){return db[_0x21bb('0x2c')][_0x21bb('0x50')]({'name':_0xaa8fc2[_0x21bb('0x31')],'resourceId':_0xaa8fc2['id'],'type':_0x150c21[_0x21bb('0x31')],'sectionId':_0x150c21['id']},{})[_0x21bb('0x2a')](function(){return _0x2f40ba;});}else{return _0x2f40ba;}})[_0x21bb('0x4f')](function(_0x5b3a3c){logger[_0x21bb('0x2f')](_0x21bb('0x56'),_0x5b3a3c);throw _0x5b3a3c;});}return _0x2f40ba;})[_0x21bb('0x2a')](respondWithResult(_0x20e7ad,0xc9))[_0x21bb('0x4f')](handleError(_0x20e7ad,null));};exports[_0x21bb('0x29')]=function(_0xf851c6,_0x5eb8cd){if(_0xf851c6[_0x21bb('0x51')]['id']){delete _0xf851c6[_0x21bb('0x51')]['id'];}return db['MailQueue'][_0x21bb('0x4e')]({'where':{'id':_0xf851c6['params']['id']}})[_0x21bb('0x2a')](handleEntityNotFound(_0x5eb8cd,null))[_0x21bb('0x2a')](saveUpdates(_0xf851c6[_0x21bb('0x51')],null))['then'](respondWithResult(_0x5eb8cd,null))[_0x21bb('0x4f')](handleError(_0x5eb8cd,null));};exports[_0x21bb('0x2d')]=function(_0x3c7a93,_0x35aa62){return db[_0x21bb('0x35')][_0x21bb('0x4e')]({'where':{'id':_0x3c7a93[_0x21bb('0x4a')]['id']}})[_0x21bb('0x2a')](handleEntityNotFound(_0x35aa62,null))[_0x21bb('0x2a')](removeEntity(_0x35aa62,null))['catch'](handleError(_0x35aa62,null));};exports[_0x21bb('0x57')]=function(_0x174969,_0x217030){return db[_0x21bb('0x35')][_0x21bb('0x57')]()[_0x21bb('0x2a')](respondWithResult(_0x217030,null))['catch'](handleError(_0x217030,null));};exports['getMembers']=function(_0x14e2f5,_0x23f048,_0x1d83d5){var _0x3bdca4={'raw':!![],'where':{}},_0x5d7bb4={},_0x5e427c;return db[_0x21bb('0x35')]['findOne']({'where':{'id':_0x14e2f5['params']['id']}})[_0x21bb('0x2a')](handleEntityNotFound(_0x23f048,null))[_0x21bb('0x2a')](function(_0x106d69){if(_0x106d69){_0x5e427c=_0x106d69[_0x21bb('0x2b')]({'plain':!![]});_0x5d7bb4[_0x21bb('0x39')]=_[_0x21bb('0x3b')](db[_0x21bb('0x58')]['rawAttributes']);_0x5d7bb4[_0x21bb('0x3a')]=_[_0x21bb('0x3b')](_0x14e2f5[_0x21bb('0x3a')]);_0x5d7bb4['filters']=_['intersection'](_0x5d7bb4[_0x21bb('0x39')],_0x5d7bb4[_0x21bb('0x3a')]);_0x3bdca4[_0x21bb('0x3e')]=_[_0x21bb('0x3d')](_0x5d7bb4['model'],qs[_0x21bb('0x4b')](_0x14e2f5['query']['fields']));_0x3bdca4[_0x21bb('0x3e')]=_0x3bdca4[_0x21bb('0x3e')][_0x21bb('0x3f')]?_0x3bdca4[_0x21bb('0x3e')]:_0x5d7bb4['model'];if(!_0x14e2f5[_0x21bb('0x3a')]['hasOwnProperty'](_0x21bb('0x40'))){_0x3bdca4[_0x21bb('0x24')]=qs[_0x21bb('0x24')](_0x14e2f5[_0x21bb('0x3a')][_0x21bb('0x24')]);_0x3bdca4[_0x21bb('0x21')]=qs[_0x21bb('0x21')](_0x14e2f5[_0x21bb('0x3a')]['offset']);}_0x3bdca4[_0x21bb('0x41')]=qs[_0x21bb('0x59')](_0x14e2f5[_0x21bb('0x3a')]['sort']);_0x3bdca4[_0x21bb('0x42')]=qs['filters'](_[_0x21bb('0x43')](_0x14e2f5[_0x21bb('0x3a')],_0x5d7bb4[_0x21bb('0x3c')]));_0x3bdca4['where'][_0x21bb('0x5a')]=_0x106d69['id'];if(_0x14e2f5[_0x21bb('0x3a')][_0x21bb('0x44')]){_0x3bdca4[_0x21bb('0x42')]=_[_0x21bb('0x45')](_0x3bdca4['where'],{'$or':_['map'](_0x3bdca4[_0x21bb('0x3e')],function(_0x356dd6){var _0x318120={};_0x318120[_0x356dd6]={'$like':'%'+_0x14e2f5[_0x21bb('0x3a')][_0x21bb('0x44')]+'%'};return _0x318120;})});}_0x3bdca4=_['merge']({},_0x3bdca4,_0x14e2f5[_0x21bb('0x46')]);return db[_0x21bb('0x58')][_0x21bb('0x47')](_0x3bdca4);}})[_0x21bb('0x2a')](function(_0x4bb733){if(_0x4bb733){return db[_0x21bb('0x5b')][_0x21bb('0x5c')]({'where':{'id':_[_0x21bb('0x34')](_0x4bb733,_0x21bb('0x5d')),'role':'agent'},'attributes':['id','name',_0x21bb('0x5e'),_0x21bb('0x5f'),_0x21bb('0x60')]});}})['then'](function(_0x265ec2){if(_0x265ec2){return{'count':_0x265ec2[_0x21bb('0x23')],'rows':_[_0x21bb('0x34')](_0x265ec2[_0x21bb('0x48')],function(_0x2b1cf4){return{'membername':_0x2b1cf4['name'],'UserId':_0x2b1cf4['id'],'queue_name':_0x5e427c[_0x21bb('0x31')],'MailQueueId':_0x5e427c['id'],'interface':util['format']('%s/%s',_0x21bb('0x61'),_0x2b1cf4[_0x21bb('0x31')]),'penalty':0x0,'paused':_0x2b1cf4[_0x21bb('0x5e')],'createdAt':_0x2b1cf4[_0x21bb('0x60')],'updatedAt':_0x2b1cf4['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x21bb('0x2a')](respondWithFilteredResult(_0x23f048,_0x3bdca4))['catch'](handleError(_0x23f048,null));};exports[_0x21bb('0x62')]=function(_0x2b1b95,_0x5a5d59,_0x40dafd){var _0x25c725={};var _0x598fbb={};var _0xfac262;var _0x4d329e;return db[_0x21bb('0x35')][_0x21bb('0x63')]({'where':{'id':_0x2b1b95[_0x21bb('0x4a')]['id']}})[_0x21bb('0x2a')](handleEntityNotFound(_0x5a5d59,null))[_0x21bb('0x2a')](function(_0x19ff68){if(_0x19ff68){_0xfac262=_0x19ff68;_0x598fbb['model']=_[_0x21bb('0x3b')](db['Team']['rawAttributes']);_0x598fbb[_0x21bb('0x3a')]=_['keys'](_0x2b1b95[_0x21bb('0x3a')]);_0x598fbb[_0x21bb('0x3c')]=_[_0x21bb('0x3d')](_0x598fbb[_0x21bb('0x39')],_0x598fbb[_0x21bb('0x3a')]);_0x25c725[_0x21bb('0x3e')]=_[_0x21bb('0x3d')](_0x598fbb[_0x21bb('0x39')],qs[_0x21bb('0x4b')](_0x2b1b95[_0x21bb('0x3a')][_0x21bb('0x4b')]));_0x25c725[_0x21bb('0x3e')]=_0x25c725[_0x21bb('0x3e')][_0x21bb('0x3f')]?_0x25c725['attributes']:_0x598fbb[_0x21bb('0x39')];_0x25c725[_0x21bb('0x41')]=qs['sort'](_0x2b1b95[_0x21bb('0x3a')][_0x21bb('0x59')]);_0x25c725[_0x21bb('0x42')]=qs[_0x21bb('0x3c')](_[_0x21bb('0x43')](_0x2b1b95[_0x21bb('0x3a')],_0x598fbb[_0x21bb('0x3c')]));if(_0x2b1b95['query'][_0x21bb('0x44')]){_0x25c725[_0x21bb('0x42')]=_[_0x21bb('0x45')](_0x25c725[_0x21bb('0x42')],{'$or':_[_0x21bb('0x34')](_0x25c725['attributes'],function(_0x4aaae6){var _0x5f3de3={};_0x5f3de3[_0x4aaae6]={'$like':'%'+_0x2b1b95[_0x21bb('0x3a')][_0x21bb('0x44')]+'%'};return _0x5f3de3;})});}_0x25c725=_['merge']({},_0x25c725,_0x2b1b95[_0x21bb('0x46')]);return _0xfac262['getTeams'](_0x25c725);}})[_0x21bb('0x2a')](function(_0x480864){if(_0x480864){_0x4d329e=_0x480864[_0x21bb('0x3f')];if(!_0x2b1b95[_0x21bb('0x3a')][_0x21bb('0x64')](_0x21bb('0x40'))){_0x25c725[_0x21bb('0x24')]=qs[_0x21bb('0x24')](_0x2b1b95['query'][_0x21bb('0x24')]);_0x25c725[_0x21bb('0x21')]=qs[_0x21bb('0x21')](_0x2b1b95[_0x21bb('0x3a')][_0x21bb('0x21')]);}return _0xfac262[_0x21bb('0x62')](_0x25c725);}})[_0x21bb('0x2a')](function(_0x4f384e){if(_0x4f384e){return _0x4f384e?{'count':_0x4d329e,'rows':_0x4f384e}:null;}})[_0x21bb('0x2a')](respondWithResult(_0x5a5d59,null))['catch'](handleError(_0x5a5d59,null));};exports['addTeams']=function(_0x4f90ae,_0xb4a651,_0x300387){var _0x491730=_0x4f90ae[_0x21bb('0x51')][_0x21bb('0x65')];return db[_0x21bb('0x66')][_0x21bb('0x47')]({'where':{'id':_0x491730},'attributes':['id'],'include':[{'model':db[_0x21bb('0x5b')],'as':_0x21bb('0x67'),'attributes':['id',_0x21bb('0x31'),_0x21bb('0x68'),_0x21bb('0x69'),'interface'],'raw':!![]}]})[_0x21bb('0x2a')](function(_0x2c07cc){if(_0x2c07cc){var _0x818fbd=_[_0x21bb('0x6a')](_0x2c07cc,function(_0x38f305){var _0x1fe300=_0x38f305['get']({'plain':!![]});return _0x1fe300[_0x21bb('0x67')];});return db['MailQueue'][_0x21bb('0x4e')]({'where':{'id':_0x4f90ae[_0x21bb('0x4a')]['id']}})['then'](function(_0x1974d9){return db[_0x21bb('0x6b')][_0x21bb('0x6c')](function(_0xf3de70){return _0x1974d9['addTeams'](_0x491730,{'transaction':_0xf3de70})[_0x21bb('0x2a')](function(){return BPromise['each'](_0x818fbd,function(_0x5d5c0e){return db[_0x21bb('0x58')]['findOrCreate']({'where':{'UserId':_0x5d5c0e['id'],'MailQueueId':_0x4f90ae[_0x21bb('0x4a')]['id']},'transaction':_0xf3de70});});})[_0x21bb('0x2a')](function(){_0x818fbd['forEach'](function(_0x31ec14){socket[_0x21bb('0x6d')](_0x21bb('0x6e'),{'UserId':_0x31ec14['id'],'MailQueueId':_0x1974d9['id']});});});});});}})[_0x21bb('0x2a')](respondWithStatusCode(_0xb4a651,null))[_0x21bb('0x4f')](handleError(_0xb4a651,null));};exports[_0x21bb('0x6f')]=function(_0xee5071,_0x3b9bd4,_0x1d2e8d){return db[_0x21bb('0x66')][_0x21bb('0x47')]({'where':{'id':_0xee5071[_0x21bb('0x3a')][_0x21bb('0x65')]},'attributes':['id'],'include':[{'model':db[_0x21bb('0x5b')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x21bb('0x2a')](handleEntityNotFound(_0x3b9bd4,null))[_0x21bb('0x2a')](function(_0x24c2b3){var _0x4ed386=_[_0x21bb('0x34')](_0x24c2b3,'id');var _0x3161f1=[];var _0x586d6c=[];var _0x13494f=squel[_0x21bb('0x70')]();_0x13494f[_0x21bb('0x71')](_0x21bb('0x72'))[_0x21bb('0x73')](_0x21bb('0x74'),'tq')['join'](_0x21bb('0x75'),'ut',_0x21bb('0x76'))[_0x21bb('0x42')](_0x21bb('0x77'),_0xee5071[_0x21bb('0x4a')]['id']);for(var _0x32a432=0x0;_0x32a432<_0x24c2b3['length'];_0x32a432+=0x1){let _0x460bc6=_0x24c2b3[_0x32a432];for(var _0x1a2f11=0x0;_0x1a2f11<_0x460bc6[_0x21bb('0x67')][_0x21bb('0x3f')];_0x1a2f11+=0x1){let _0x33a233=_0x460bc6['Agents'][_0x1a2f11];var _0x271cda=_0x13494f[_0x21bb('0x78')]();_0x271cda[_0x21bb('0x42')](_0x21bb('0x79'),_0x33a233['id']);_0x586d6c['push'](db[_0x21bb('0x6b')][_0x21bb('0x3a')](_0x271cda['toString'](),{'type':db[_0x21bb('0x6b')][_0x21bb('0x7a')][_0x21bb('0x7b')]})[_0x21bb('0x2a')](function(_0x1ec6f3){if(_0x1ec6f3[_0x21bb('0x3f')]===0x1){return _0x33a233['id'];}else{var _0x15e306=_[_0x21bb('0x7c')](_[_0x21bb('0x34')](_0x1ec6f3,_0x21bb('0x7d')),function(_0x4b9167){return _[_0x21bb('0x7e')](_0x4ed386,_0x4b9167);});if(_0x15e306){return _0x33a233['id'];}}}));}}return BPromise['all'](_0x586d6c)['then'](function(_0x45c5a7){_0x3161f1=_(_0x3161f1)[_0x21bb('0x7f')](_0x45c5a7)['compact']()[_0x21bb('0x80')]();return db[_0x21bb('0x35')][_0x21bb('0x4e')]({'where':{'id':_0xee5071['params']['id']}})[_0x21bb('0x2a')](function(_0x1e5b4c){return db[_0x21bb('0x6b')]['transaction'](function(_0x45f707){return _0x1e5b4c[_0x21bb('0x6f')](_0xee5071[_0x21bb('0x3a')][_0x21bb('0x65')],{'transaction':_0x45f707})[_0x21bb('0x2a')](function(){if(!_[_0x21bb('0x81')](_0x3161f1)){return _0x1e5b4c[_0x21bb('0x82')](_0x3161f1,{'transaction':_0x45f707});}})[_0x21bb('0x2a')](function(){_0x3161f1[_0x21bb('0x83')](function(_0x1a593e){socket[_0x21bb('0x6d')](_0x21bb('0x84'),{'UserId':_0x1a593e,'MailQueueId':_0x1e5b4c['id']});});});});});});})[_0x21bb('0x2a')](respondWithStatusCode(_0x3b9bd4,null))[_0x21bb('0x4f')](handleError(_0x3b9bd4,null));};exports[_0x21bb('0x85')]=function(_0xb518a8,_0x2dc7c6,_0x1890bc){return db[_0x21bb('0x35')][_0x21bb('0x4e')]({'where':{'id':_0xb518a8['params']['id']}})[_0x21bb('0x2a')](handleEntityNotFound(_0x2dc7c6,null))[_0x21bb('0x2a')](function(_0x4ac496){if(_0x4ac496){return _0x4ac496[_0x21bb('0x85')](_0xb518a8['body'][_0x21bb('0x65')],_[_0x21bb('0x86')](_0xb518a8[_0x21bb('0x51')],[_0x21bb('0x65'),'id'])||{})[_0x21bb('0x87')](function(_0x52bc58){for(var _0x4c6996=0x0;_0x4c6996<_0xb518a8[_0x21bb('0x51')][_0x21bb('0x65')][_0x21bb('0x3f')];_0x4c6996+=0x1){socket[_0x21bb('0x6d')](_0x21bb('0x6e'),{'UserId':Number(_0xb518a8['body'][_0x21bb('0x65')][_0x4c6996]),'MailQueueId':Number(_0xb518a8[_0x21bb('0x4a')]['id'])});}return _0x52bc58;});}})[_0x21bb('0x2a')](respondWithResult(_0x2dc7c6,null))[_0x21bb('0x4f')](handleError(_0x2dc7c6,null));};exports[_0x21bb('0x82')]=function(_0x432196,_0x1f4bbb,_0x29202b){return db[_0x21bb('0x35')][_0x21bb('0x4e')]({'where':{'id':_0x432196[_0x21bb('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1f4bbb,null))[_0x21bb('0x2a')](function(_0x1baee9){if(_0x1baee9){return _0x1baee9[_0x21bb('0x82')](_0x432196[_0x21bb('0x3a')][_0x21bb('0x65')])['then'](function(){if(_[_0x21bb('0x88')](_0x432196[_0x21bb('0x3a')][_0x21bb('0x65')])){for(var _0x5ef5dd=0x0;_0x5ef5dd<_0x432196[_0x21bb('0x3a')][_0x21bb('0x65')][_0x21bb('0x3f')];_0x5ef5dd+=0x1){socket[_0x21bb('0x6d')](_0x21bb('0x84'),{'UserId':Number(_0x432196['query'][_0x21bb('0x65')][_0x5ef5dd]),'MailQueueId':Number(_0x432196['params']['id'])});}}else{socket[_0x21bb('0x6d')](_0x21bb('0x84'),{'UserId':Number(_0x432196['query'][_0x21bb('0x65')]),'MailQueueId':Number(_0x432196['params']['id'])});}});}})[_0x21bb('0x2a')](respondWithStatusCode(_0x1f4bbb,null))[_0x21bb('0x4f')](handleError(_0x1f4bbb,null));};exports[_0x21bb('0x89')]=function(_0x880227,_0x3dc9ba,_0x3b3ed6){var _0x1749b8={};var _0x3e148c={};var _0x5d94b3;var _0x27a6a3;return db[_0x21bb('0x35')]['findOne']({'where':{'id':_0x880227['params']['id']}})[_0x21bb('0x2a')](handleEntityNotFound(_0x3dc9ba,null))[_0x21bb('0x2a')](function(_0x1cb57d){if(_0x1cb57d){_0x5d94b3=_0x1cb57d;_0x3e148c['model']=_[_0x21bb('0x3b')](db[_0x21bb('0x5b')][_0x21bb('0x36')]);_0x3e148c[_0x21bb('0x3a')]=_[_0x21bb('0x3b')](_0x880227[_0x21bb('0x3a')]);_0x3e148c[_0x21bb('0x3c')]=_[_0x21bb('0x3d')](_0x3e148c[_0x21bb('0x39')],_0x3e148c[_0x21bb('0x3a')]);_0x1749b8[_0x21bb('0x3e')]=_[_0x21bb('0x3d')](_0x3e148c[_0x21bb('0x39')],qs['fields'](_0x880227['query'][_0x21bb('0x4b')]));_0x1749b8[_0x21bb('0x3e')]=_0x1749b8[_0x21bb('0x3e')][_0x21bb('0x3f')]?_0x1749b8[_0x21bb('0x3e')]:_0x3e148c[_0x21bb('0x39')];_0x1749b8[_0x21bb('0x41')]=qs[_0x21bb('0x59')](_0x880227[_0x21bb('0x3a')][_0x21bb('0x59')]);_0x1749b8[_0x21bb('0x42')]=qs[_0x21bb('0x3c')](_[_0x21bb('0x43')](_0x880227[_0x21bb('0x3a')],_0x3e148c[_0x21bb('0x3c')]));if(_0x880227['query'][_0x21bb('0x44')]){_0x1749b8[_0x21bb('0x42')]=_[_0x21bb('0x45')](_0x1749b8[_0x21bb('0x42')],{'$or':_[_0x21bb('0x34')](_0x1749b8[_0x21bb('0x3e')],function(_0x55d16d){var _0x3a817f={};_0x3a817f[_0x55d16d]={'$like':'%'+_0x880227['query']['filter']+'%'};return _0x3a817f;})});}_0x1749b8=_['merge']({},_0x1749b8,_0x880227['options']);return _0x5d94b3[_0x21bb('0x89')](_0x1749b8);}})[_0x21bb('0x2a')](function(_0x3fa646){if(_0x3fa646){_0x27a6a3=_0x3fa646[_0x21bb('0x3f')];if(!_0x880227[_0x21bb('0x3a')][_0x21bb('0x64')](_0x21bb('0x40'))){_0x1749b8[_0x21bb('0x24')]=qs[_0x21bb('0x24')](_0x880227[_0x21bb('0x3a')][_0x21bb('0x24')]);_0x1749b8[_0x21bb('0x21')]=qs[_0x21bb('0x21')](_0x880227[_0x21bb('0x3a')][_0x21bb('0x21')]);}return _0x5d94b3[_0x21bb('0x89')](_0x1749b8);}})[_0x21bb('0x2a')](function(_0x2c6df6){if(_0x2c6df6){return _0x2c6df6?{'count':_0x27a6a3,'rows':_0x2c6df6}:null;}})[_0x21bb('0x2a')](respondWithResult(_0x3dc9ba,null))['catch'](handleError(_0x3dc9ba,null));};