f998c6276818e5b0b56d5740f69506e6164a3006
[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 _0x5a8c=['User','UserId','agent','mailPause','updatedAt','createdAt','count','format','%s/%s','SIP','getTeams','findOne','Team','Agents','online','voicePause','flatMap','sequelize','transaction','addTeams','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','select','field','tq.TeamId','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','toString','QueryTypes','SELECT','all','compact','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','ids','omit','spread','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','path','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','save','update','then','destroy','get','UserProfileResource','error','stack','name','send','index','map','MailQueue','rawAttributes','key','model','query','keys','filters','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge','where','type','VIRTUAL','options','include','findAll','rows','catch','show','params','length','includeAll','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserMailQueue','MailQueueId'];(function(_0x8ab9cc,_0x121050){var _0x2fdf29=function(_0x370778){while(--_0x370778){_0x8ab9cc['push'](_0x8ab9cc['shift']());}};_0x2fdf29(++_0x121050);}(_0x5a8c,0x1da));var _0xc5a8=function(_0x5db8a7,_0x215802){_0x5db8a7=_0x5db8a7-0x0;var _0x2f243f=_0x5a8c[_0x5db8a7];return _0x2f243f;};'use strict';var emlformat=require(_0xc5a8('0x0'));var rimraf=require(_0xc5a8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc5a8('0x2'));var rp=require(_0xc5a8('0x3'));var moment=require(_0xc5a8('0x4'));var BPromise=require(_0xc5a8('0x5'));var Mustache=require('mustache');var util=require(_0xc5a8('0x6'));var path=require(_0xc5a8('0x7'));var sox=require('sox');var csv=require(_0xc5a8('0x8'));var ejs=require(_0xc5a8('0x9'));var fs=require('fs');var fs_extra=require(_0xc5a8('0xa'));var _=require(_0xc5a8('0xb'));var squel=require(_0xc5a8('0xc'));var crypto=require(_0xc5a8('0xd'));var jsforce=require(_0xc5a8('0xe'));var deskjs=require(_0xc5a8('0xf'));var toCsv=require(_0xc5a8('0x8'));var querystring=require(_0xc5a8('0x10'));var Papa=require(_0xc5a8('0x11'));var Redis=require('ioredis');var authService=require(_0xc5a8('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xc5a8('0x13'));var hardwareService=require(_0xc5a8('0x14'));var logger=require(_0xc5a8('0x15'))('api');var utils=require('../../config/utils');var config=require(_0xc5a8('0x16'));var licenseUtil=require(_0xc5a8('0x17'));var db=require(_0xc5a8('0x18'))['db'];config[_0xc5a8('0x19')]=_[_0xc5a8('0x1a')](config['redis'],{'host':_0xc5a8('0x1b'),'port':0x18eb});var socket=require(_0xc5a8('0x1c'))(new Redis(config[_0xc5a8('0x19')]));require(_0xc5a8('0x1d'))[_0xc5a8('0x1e')](socket);function respondWithStatusCode(_0x219823,_0x365df5){_0x365df5=_0x365df5||0xcc;return function(_0x26d87c){if(_0x26d87c){return _0x219823[_0xc5a8('0x1f')](_0x365df5);}return _0x219823[_0xc5a8('0x20')](_0x365df5)[_0xc5a8('0x21')]();};}function respondWithResult(_0x443376,_0x393e1c){_0x393e1c=_0x393e1c||0xc8;return function(_0x1cb591){if(_0x1cb591){return _0x443376[_0xc5a8('0x20')](_0x393e1c)[_0xc5a8('0x22')](_0x1cb591);}};}function respondWithFilteredResult(_0x22b230,_0x2fb8eb){return function(_0x506c10){if(_0x506c10){var _0x134589=typeof _0x2fb8eb[_0xc5a8('0x23')]===_0xc5a8('0x24')&&typeof _0x2fb8eb[_0xc5a8('0x25')]==='undefined';var _0x326baf=_0x506c10['count'];var _0x36cc16=_0x134589?0x0:_0x2fb8eb[_0xc5a8('0x23')];var _0x35ac5a=_0x134589?_0x506c10['count']:_0x2fb8eb['offset']+_0x2fb8eb['limit'];var _0x332ee2;if(_0x35ac5a>=_0x326baf){_0x35ac5a=_0x326baf;_0x332ee2=0xc8;}else{_0x332ee2=0xce;}_0x22b230[_0xc5a8('0x20')](_0x332ee2);return _0x22b230[_0xc5a8('0x26')](_0xc5a8('0x27'),_0x36cc16+'-'+_0x35ac5a+'/'+_0x326baf)['json'](_0x506c10);}return null;};}function patchUpdates(_0x1a8662){return function(_0x8b6473){try{jsonpatch[_0xc5a8('0x28')](_0x8b6473,_0x1a8662,!![]);}catch(_0x36d2c6){return BPromise['reject'](_0x36d2c6);}return _0x8b6473[_0xc5a8('0x29')]();};}function saveUpdates(_0x4865dd,_0x25e56d){return function(_0x4616ec){if(_0x4616ec){return _0x4616ec[_0xc5a8('0x2a')](_0x4865dd)[_0xc5a8('0x2b')](function(_0x5c8705){return _0x5c8705;});}return null;};}function removeEntity(_0x3448c1,_0x459694){return function(_0x208333){if(_0x208333){return _0x208333[_0xc5a8('0x2c')]()[_0xc5a8('0x2b')](function(){var _0x1a49ad=_0x208333[_0xc5a8('0x2d')]({'plain':!![]});var _0x165ee0='MailQueues';return db[_0xc5a8('0x2e')]['destroy']({'where':{'type':_0x165ee0,'resourceId':_0x1a49ad['id']}})[_0xc5a8('0x2b')](function(){return _0x208333;});})['then'](function(){_0x3448c1[_0xc5a8('0x20')](0xcc)[_0xc5a8('0x21')]();});}};}function handleEntityNotFound(_0x505b27,_0x10569a){return function(_0x2aa6d6){if(!_0x2aa6d6){_0x505b27[_0xc5a8('0x1f')](0x194);}return _0x2aa6d6;};}function handleError(_0x2102c7,_0xa7f8f2){_0xa7f8f2=_0xa7f8f2||0x1f4;return function(_0x2d7fae){logger[_0xc5a8('0x2f')](_0x2d7fae[_0xc5a8('0x30')]);if(_0x2d7fae[_0xc5a8('0x31')]){delete _0x2d7fae[_0xc5a8('0x31')];}_0x2102c7[_0xc5a8('0x20')](_0xa7f8f2)[_0xc5a8('0x32')](_0x2d7fae);};}exports[_0xc5a8('0x33')]=function(_0x3c1b7c,_0x434d67){var _0x25ebbd={},_0x702dba={},_0x11a820={'count':0x0,'rows':[]};var _0x450e89=_[_0xc5a8('0x34')](db[_0xc5a8('0x35')][_0xc5a8('0x36')],function(_0x2906f4){return{'name':_0x2906f4['fieldName'],'type':_0x2906f4['type'][_0xc5a8('0x37')]};});_0x702dba[_0xc5a8('0x38')]=_[_0xc5a8('0x34')](_0x450e89,'name');_0x702dba[_0xc5a8('0x39')]=_[_0xc5a8('0x3a')](_0x3c1b7c[_0xc5a8('0x39')]);_0x702dba[_0xc5a8('0x3b')]=_['intersection'](_0x702dba['model'],_0x702dba['query']);_0x25ebbd[_0xc5a8('0x3c')]=_[_0xc5a8('0x3d')](_0x702dba[_0xc5a8('0x38')],qs[_0xc5a8('0x3e')](_0x3c1b7c[_0xc5a8('0x39')]['fields']));_0x25ebbd[_0xc5a8('0x3c')]=_0x25ebbd[_0xc5a8('0x3c')]['length']?_0x25ebbd[_0xc5a8('0x3c')]:_0x702dba['model'];if(!_0x3c1b7c[_0xc5a8('0x39')][_0xc5a8('0x3f')](_0xc5a8('0x40'))){_0x25ebbd[_0xc5a8('0x25')]=qs[_0xc5a8('0x25')](_0x3c1b7c[_0xc5a8('0x39')]['limit']);_0x25ebbd[_0xc5a8('0x23')]=qs[_0xc5a8('0x23')](_0x3c1b7c[_0xc5a8('0x39')][_0xc5a8('0x23')]);}_0x25ebbd[_0xc5a8('0x41')]=qs[_0xc5a8('0x42')](_0x3c1b7c[_0xc5a8('0x39')][_0xc5a8('0x42')]);_0x25ebbd['where']=qs[_0xc5a8('0x3b')](_[_0xc5a8('0x43')](_0x3c1b7c[_0xc5a8('0x39')],_0x702dba[_0xc5a8('0x3b')]),_0x450e89);if(_0x3c1b7c['query'][_0xc5a8('0x44')]){_0x25ebbd['where']=_[_0xc5a8('0x45')](_0x25ebbd[_0xc5a8('0x46')],{'$or':_[_0xc5a8('0x34')](_0x450e89,function(_0x521f76){if(_0x521f76[_0xc5a8('0x47')]!==_0xc5a8('0x48')){var _0x1a8423={};_0x1a8423[_0x521f76['name']]={'$like':'%'+_0x3c1b7c['query']['filter']+'%'};return _0x1a8423;}})});}_0x25ebbd=_[_0xc5a8('0x45')]({},_0x25ebbd,_0x3c1b7c[_0xc5a8('0x49')]);var _0xfa8f3b={'where':_0x25ebbd['where']};return db[_0xc5a8('0x35')]['count'](_0xfa8f3b)['then'](function(_0x5b2284){_0x11a820['count']=_0x5b2284;if(_0x3c1b7c['query']['includeAll']){_0x25ebbd[_0xc5a8('0x4a')]=[{'all':!![]}];}return db[_0xc5a8('0x35')][_0xc5a8('0x4b')](_0x25ebbd);})[_0xc5a8('0x2b')](function(_0x922cc4){_0x11a820[_0xc5a8('0x4c')]=_0x922cc4;return _0x11a820;})[_0xc5a8('0x2b')](respondWithFilteredResult(_0x434d67,_0x25ebbd))[_0xc5a8('0x4d')](handleError(_0x434d67,null));};exports[_0xc5a8('0x4e')]=function(_0x4c5755,_0x1a16ef){var _0x3cd62f={'raw':!![],'where':{'id':_0x4c5755[_0xc5a8('0x4f')]['id']}},_0x18a655={};_0x18a655['model']=_[_0xc5a8('0x3a')](db[_0xc5a8('0x35')][_0xc5a8('0x36')]);_0x18a655[_0xc5a8('0x39')]=_['keys'](_0x4c5755['query']);_0x18a655[_0xc5a8('0x3b')]=_[_0xc5a8('0x3d')](_0x18a655[_0xc5a8('0x38')],_0x18a655['query']);_0x3cd62f[_0xc5a8('0x3c')]=_[_0xc5a8('0x3d')](_0x18a655[_0xc5a8('0x38')],qs[_0xc5a8('0x3e')](_0x4c5755[_0xc5a8('0x39')]['fields']));_0x3cd62f[_0xc5a8('0x3c')]=_0x3cd62f['attributes'][_0xc5a8('0x50')]?_0x3cd62f[_0xc5a8('0x3c')]:_0x18a655['model'];if(_0x4c5755['query'][_0xc5a8('0x51')]){_0x3cd62f[_0xc5a8('0x4a')]=[{'all':!![]}];}_0x3cd62f=_['merge']({},_0x3cd62f,_0x4c5755['options']);return db[_0xc5a8('0x35')][_0xc5a8('0x52')](_0x3cd62f)[_0xc5a8('0x2b')](handleEntityNotFound(_0x1a16ef,null))[_0xc5a8('0x2b')](respondWithResult(_0x1a16ef,null))[_0xc5a8('0x4d')](handleError(_0x1a16ef,null));};exports[_0xc5a8('0x53')]=function(_0x594d7a,_0x534136){return db['MailQueue']['create'](_0x594d7a[_0xc5a8('0x54')],{})[_0xc5a8('0x2b')](function(_0x796f8a){var _0x4a930c=_0x594d7a['user'][_0xc5a8('0x2d')]({'plain':!![]});if(!_0x4a930c)throw new Error(_0xc5a8('0x55'));if(_0x4a930c['role']==='user'){var _0x65798f=_0x796f8a[_0xc5a8('0x2d')]({'plain':!![]});var _0xa227dd='MailQueues';return db[_0xc5a8('0x56')][_0xc5a8('0x52')]({'where':{'name':_0xa227dd,'userProfileId':_0x4a930c[_0xc5a8('0x57')]},'raw':!![]})[_0xc5a8('0x2b')](function(_0x3be874){if(_0x3be874&&_0x3be874[_0xc5a8('0x58')]===0x0){return db['UserProfileResource'][_0xc5a8('0x53')]({'name':_0x65798f[_0xc5a8('0x31')],'resourceId':_0x65798f['id'],'type':_0x3be874[_0xc5a8('0x31')],'sectionId':_0x3be874['id']},{})['then'](function(){return _0x796f8a;});}else{return _0x796f8a;}})[_0xc5a8('0x4d')](function(_0x86f7cc){logger[_0xc5a8('0x2f')](_0xc5a8('0x59'),_0x86f7cc);throw _0x86f7cc;});}return _0x796f8a;})[_0xc5a8('0x2b')](respondWithResult(_0x534136,0xc9))[_0xc5a8('0x4d')](handleError(_0x534136,null));};exports[_0xc5a8('0x2a')]=function(_0x2a8e77,_0x10250c){if(_0x2a8e77[_0xc5a8('0x54')]['id']){delete _0x2a8e77['body']['id'];}return db['MailQueue'][_0xc5a8('0x52')]({'where':{'id':_0x2a8e77[_0xc5a8('0x4f')]['id']}})[_0xc5a8('0x2b')](handleEntityNotFound(_0x10250c,null))[_0xc5a8('0x2b')](saveUpdates(_0x2a8e77[_0xc5a8('0x54')],null))['then'](respondWithResult(_0x10250c,null))[_0xc5a8('0x4d')](handleError(_0x10250c,null));};exports[_0xc5a8('0x2c')]=function(_0x567f10,_0x15f177){return db[_0xc5a8('0x35')][_0xc5a8('0x52')]({'where':{'id':_0x567f10[_0xc5a8('0x4f')]['id']}})[_0xc5a8('0x2b')](handleEntityNotFound(_0x15f177,null))[_0xc5a8('0x2b')](removeEntity(_0x15f177,null))[_0xc5a8('0x4d')](handleError(_0x15f177,null));};exports['describe']=function(_0x3ba2b1,_0x53b074){return db[_0xc5a8('0x35')][_0xc5a8('0x5a')]()[_0xc5a8('0x2b')](respondWithResult(_0x53b074,null))[_0xc5a8('0x4d')](handleError(_0x53b074,null));};exports[_0xc5a8('0x5b')]=function(_0x2570d6,_0x561985,_0x3a3986){var _0x1d911c={'raw':!![],'where':{}},_0x423b7e={},_0x22bfc3;return db['MailQueue']['findOne']({'where':{'id':_0x2570d6['params']['id']}})[_0xc5a8('0x2b')](handleEntityNotFound(_0x561985,null))['then'](function(_0x58c900){if(_0x58c900){_0x22bfc3=_0x58c900['get']({'plain':!![]});_0x423b7e[_0xc5a8('0x38')]=_[_0xc5a8('0x3a')](db[_0xc5a8('0x5c')][_0xc5a8('0x36')]);_0x423b7e['query']=_[_0xc5a8('0x3a')](_0x2570d6['query']);_0x423b7e[_0xc5a8('0x3b')]=_[_0xc5a8('0x3d')](_0x423b7e['model'],_0x423b7e[_0xc5a8('0x39')]);_0x1d911c[_0xc5a8('0x3c')]=_['intersection'](_0x423b7e[_0xc5a8('0x38')],qs[_0xc5a8('0x3e')](_0x2570d6[_0xc5a8('0x39')][_0xc5a8('0x3e')]));_0x1d911c[_0xc5a8('0x3c')]=_0x1d911c[_0xc5a8('0x3c')][_0xc5a8('0x50')]?_0x1d911c[_0xc5a8('0x3c')]:_0x423b7e[_0xc5a8('0x38')];if(!_0x2570d6[_0xc5a8('0x39')][_0xc5a8('0x3f')](_0xc5a8('0x40'))){_0x1d911c[_0xc5a8('0x25')]=qs[_0xc5a8('0x25')](_0x2570d6[_0xc5a8('0x39')]['limit']);_0x1d911c[_0xc5a8('0x23')]=qs[_0xc5a8('0x23')](_0x2570d6['query'][_0xc5a8('0x23')]);}_0x1d911c[_0xc5a8('0x41')]=qs[_0xc5a8('0x42')](_0x2570d6['query'][_0xc5a8('0x42')]);_0x1d911c['where']=qs['filters'](_['pick'](_0x2570d6[_0xc5a8('0x39')],_0x423b7e[_0xc5a8('0x3b')]));_0x1d911c[_0xc5a8('0x46')][_0xc5a8('0x5d')]=_0x58c900['id'];if(_0x2570d6[_0xc5a8('0x39')][_0xc5a8('0x44')]){_0x1d911c[_0xc5a8('0x46')]=_[_0xc5a8('0x45')](_0x1d911c['where'],{'$or':_[_0xc5a8('0x34')](_0x1d911c['attributes'],function(_0x3418b0){var _0x553463={};_0x553463[_0x3418b0]={'$like':'%'+_0x2570d6[_0xc5a8('0x39')]['filter']+'%'};return _0x553463;})});}_0x1d911c=_['merge']({},_0x1d911c,_0x2570d6[_0xc5a8('0x49')]);return db[_0xc5a8('0x5c')]['findAll'](_0x1d911c);}})['then'](function(_0x23a5aa){if(_0x23a5aa){return db[_0xc5a8('0x5e')]['findAndCountAll']({'where':{'id':_['map'](_0x23a5aa,_0xc5a8('0x5f')),'role':_0xc5a8('0x60')},'attributes':['id',_0xc5a8('0x31'),_0xc5a8('0x61'),_0xc5a8('0x62'),_0xc5a8('0x63')]});}})[_0xc5a8('0x2b')](function(_0x1f7699){if(_0x1f7699){return{'count':_0x1f7699[_0xc5a8('0x64')],'rows':_['map'](_0x1f7699[_0xc5a8('0x4c')],function(_0x358b68){return{'membername':_0x358b68[_0xc5a8('0x31')],'UserId':_0x358b68['id'],'queue_name':_0x22bfc3[_0xc5a8('0x31')],'MailQueueId':_0x22bfc3['id'],'interface':util[_0xc5a8('0x65')](_0xc5a8('0x66'),_0xc5a8('0x67'),_0x358b68[_0xc5a8('0x31')]),'penalty':0x0,'paused':_0x358b68[_0xc5a8('0x61')],'createdAt':_0x358b68[_0xc5a8('0x63')],'updatedAt':_0x358b68['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x561985,_0x1d911c))[_0xc5a8('0x4d')](handleError(_0x561985,null));};exports[_0xc5a8('0x68')]=function(_0x374f7e,_0x5d3012,_0x25cbcb){var _0x3f5200={};var _0x3fd9d9={};var _0x5a4f99;var _0x510a99;return db[_0xc5a8('0x35')][_0xc5a8('0x69')]({'where':{'id':_0x374f7e[_0xc5a8('0x4f')]['id']}})[_0xc5a8('0x2b')](handleEntityNotFound(_0x5d3012,null))['then'](function(_0x1edc2a){if(_0x1edc2a){_0x5a4f99=_0x1edc2a;_0x3fd9d9[_0xc5a8('0x38')]=_[_0xc5a8('0x3a')](db[_0xc5a8('0x6a')][_0xc5a8('0x36')]);_0x3fd9d9['query']=_[_0xc5a8('0x3a')](_0x374f7e[_0xc5a8('0x39')]);_0x3fd9d9[_0xc5a8('0x3b')]=_['intersection'](_0x3fd9d9['model'],_0x3fd9d9[_0xc5a8('0x39')]);_0x3f5200['attributes']=_[_0xc5a8('0x3d')](_0x3fd9d9[_0xc5a8('0x38')],qs[_0xc5a8('0x3e')](_0x374f7e[_0xc5a8('0x39')][_0xc5a8('0x3e')]));_0x3f5200[_0xc5a8('0x3c')]=_0x3f5200[_0xc5a8('0x3c')]['length']?_0x3f5200[_0xc5a8('0x3c')]:_0x3fd9d9['model'];_0x3f5200[_0xc5a8('0x41')]=qs[_0xc5a8('0x42')](_0x374f7e[_0xc5a8('0x39')]['sort']);_0x3f5200[_0xc5a8('0x46')]=qs[_0xc5a8('0x3b')](_['pick'](_0x374f7e['query'],_0x3fd9d9[_0xc5a8('0x3b')]));if(_0x374f7e[_0xc5a8('0x39')][_0xc5a8('0x44')]){_0x3f5200[_0xc5a8('0x46')]=_[_0xc5a8('0x45')](_0x3f5200['where'],{'$or':_[_0xc5a8('0x34')](_0x3f5200[_0xc5a8('0x3c')],function(_0x465150){var _0x35708b={};_0x35708b[_0x465150]={'$like':'%'+_0x374f7e[_0xc5a8('0x39')][_0xc5a8('0x44')]+'%'};return _0x35708b;})});}_0x3f5200=_[_0xc5a8('0x45')]({},_0x3f5200,_0x374f7e[_0xc5a8('0x49')]);return _0x5a4f99[_0xc5a8('0x68')](_0x3f5200);}})[_0xc5a8('0x2b')](function(_0x470c9f){if(_0x470c9f){_0x510a99=_0x470c9f['length'];if(!_0x374f7e['query'][_0xc5a8('0x3f')]('nolimit')){_0x3f5200['limit']=qs[_0xc5a8('0x25')](_0x374f7e[_0xc5a8('0x39')][_0xc5a8('0x25')]);_0x3f5200[_0xc5a8('0x23')]=qs[_0xc5a8('0x23')](_0x374f7e[_0xc5a8('0x39')][_0xc5a8('0x23')]);}return _0x5a4f99[_0xc5a8('0x68')](_0x3f5200);}})[_0xc5a8('0x2b')](function(_0x350e34){if(_0x350e34){return _0x350e34?{'count':_0x510a99,'rows':_0x350e34}:null;}})[_0xc5a8('0x2b')](respondWithResult(_0x5d3012,null))[_0xc5a8('0x4d')](handleError(_0x5d3012,null));};exports['addTeams']=function(_0x2b6452,_0x58d1c2,_0x3d5c19){var _0x442da0=_0x2b6452[_0xc5a8('0x54')]['ids'];return db[_0xc5a8('0x6a')][_0xc5a8('0x4b')]({'where':{'id':_0x442da0},'attributes':['id'],'include':[{'model':db[_0xc5a8('0x5e')],'as':_0xc5a8('0x6b'),'attributes':['id',_0xc5a8('0x31'),_0xc5a8('0x6c'),_0xc5a8('0x6d'),'interface'],'raw':!![]}]})[_0xc5a8('0x2b')](function(_0x4c4a40){if(_0x4c4a40){var _0x451212=_[_0xc5a8('0x6e')](_0x4c4a40,function(_0x357879){var _0x583020=_0x357879[_0xc5a8('0x2d')]({'plain':!![]});return _0x583020[_0xc5a8('0x6b')];});return db[_0xc5a8('0x35')]['find']({'where':{'id':_0x2b6452['params']['id']}})['then'](function(_0x10d6b1){return db[_0xc5a8('0x6f')][_0xc5a8('0x70')](function(_0x4a4699){return _0x10d6b1[_0xc5a8('0x71')](_0x442da0,{'transaction':_0x4a4699})[_0xc5a8('0x2b')](function(){return BPromise[_0xc5a8('0x72')](_0x451212,function(_0x1b1e7c){return db[_0xc5a8('0x5c')][_0xc5a8('0x73')]({'where':{'UserId':_0x1b1e7c['id'],'MailQueueId':_0x2b6452[_0xc5a8('0x4f')]['id']},'transaction':_0x4a4699});});})[_0xc5a8('0x2b')](function(){_0x451212[_0xc5a8('0x74')](function(_0x2b552e){socket[_0xc5a8('0x75')](_0xc5a8('0x76'),{'UserId':_0x2b552e['id'],'MailQueueId':_0x10d6b1['id']});});});});});}})[_0xc5a8('0x2b')](respondWithStatusCode(_0x58d1c2,null))[_0xc5a8('0x4d')](handleError(_0x58d1c2,null));};exports[_0xc5a8('0x77')]=function(_0x496776,_0x1efa66,_0x8b52e9){return db[_0xc5a8('0x6a')][_0xc5a8('0x4b')]({'where':{'id':_0x496776[_0xc5a8('0x39')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xc5a8('0x2b')](handleEntityNotFound(_0x1efa66,null))[_0xc5a8('0x2b')](function(_0x2df4c8){var _0x468285=_[_0xc5a8('0x34')](_0x2df4c8,'id');var _0x3eac0d=[];var _0x2569ba=[];var _0x115485=squel[_0xc5a8('0x78')]();_0x115485[_0xc5a8('0x79')](_0xc5a8('0x7a'))['from']('team_has_mail_queues','tq')['join'](_0xc5a8('0x7b'),'ut',_0xc5a8('0x7c'))[_0xc5a8('0x46')](_0xc5a8('0x7d'),_0x496776['params']['id']);for(var _0x3a967a=0x0;_0x3a967a<_0x2df4c8[_0xc5a8('0x50')];_0x3a967a+=0x1){let _0x5480ee=_0x2df4c8[_0x3a967a];for(var _0x5e4c82=0x0;_0x5e4c82<_0x5480ee['Agents'][_0xc5a8('0x50')];_0x5e4c82+=0x1){let _0x37f115=_0x5480ee[_0xc5a8('0x6b')][_0x5e4c82];var _0x26dd09=_0x115485[_0xc5a8('0x7e')]();_0x26dd09['where']('ut.UserId\x20=\x20?',_0x37f115['id']);_0x2569ba['push'](db['sequelize'][_0xc5a8('0x39')](_0x26dd09[_0xc5a8('0x7f')](),{'type':db[_0xc5a8('0x6f')][_0xc5a8('0x80')][_0xc5a8('0x81')]})[_0xc5a8('0x2b')](function(_0x347e89){if(_0x347e89[_0xc5a8('0x50')]===0x1){return _0x37f115['id'];}else{var _0x30101a=_['every'](_['map'](_0x347e89,'TeamId'),function(_0x49cb46){return _['includes'](_0x468285,_0x49cb46);});if(_0x30101a){return _0x37f115['id'];}}}));}}return BPromise[_0xc5a8('0x82')](_0x2569ba)[_0xc5a8('0x2b')](function(_0x236200){_0x3eac0d=_(_0x3eac0d)['union'](_0x236200)[_0xc5a8('0x83')]()[_0xc5a8('0x84')]();return db[_0xc5a8('0x35')]['find']({'where':{'id':_0x496776[_0xc5a8('0x4f')]['id']}})[_0xc5a8('0x2b')](function(_0x29c0fe){return db[_0xc5a8('0x6f')][_0xc5a8('0x70')](function(_0x2f8302){return _0x29c0fe['removeTeams'](_0x496776['query']['ids'],{'transaction':_0x2f8302})['then'](function(){if(!_[_0xc5a8('0x85')](_0x3eac0d)){return _0x29c0fe[_0xc5a8('0x86')](_0x3eac0d,{'transaction':_0x2f8302});}})[_0xc5a8('0x2b')](function(){_0x3eac0d['forEach'](function(_0x5b26a9){socket[_0xc5a8('0x75')](_0xc5a8('0x87'),{'UserId':_0x5b26a9,'MailQueueId':_0x29c0fe['id']});});});});});});})[_0xc5a8('0x2b')](respondWithStatusCode(_0x1efa66,null))['catch'](handleError(_0x1efa66,null));};exports['addAgents']=function(_0x1f7c09,_0x30bb1a,_0x4d868e){return db[_0xc5a8('0x35')][_0xc5a8('0x52')]({'where':{'id':_0x1f7c09[_0xc5a8('0x4f')]['id']}})[_0xc5a8('0x2b')](handleEntityNotFound(_0x30bb1a,null))[_0xc5a8('0x2b')](function(_0x41e5f6){if(_0x41e5f6){return _0x41e5f6[_0xc5a8('0x88')](_0x1f7c09[_0xc5a8('0x54')][_0xc5a8('0x89')],_[_0xc5a8('0x8a')](_0x1f7c09[_0xc5a8('0x54')],[_0xc5a8('0x89'),'id'])||{})[_0xc5a8('0x8b')](function(_0x3e9645){for(var _0x49e87f=0x0;_0x49e87f<_0x1f7c09[_0xc5a8('0x54')]['ids'][_0xc5a8('0x50')];_0x49e87f+=0x1){socket[_0xc5a8('0x75')](_0xc5a8('0x76'),{'UserId':Number(_0x1f7c09[_0xc5a8('0x54')][_0xc5a8('0x89')][_0x49e87f]),'MailQueueId':Number(_0x1f7c09[_0xc5a8('0x4f')]['id'])});}return _0x3e9645;});}})[_0xc5a8('0x2b')](respondWithResult(_0x30bb1a,null))['catch'](handleError(_0x30bb1a,null));};exports['removeAgents']=function(_0x59a74f,_0x54b003,_0x5b8053){return db[_0xc5a8('0x35')][_0xc5a8('0x52')]({'where':{'id':_0x59a74f[_0xc5a8('0x4f')]['id']}})[_0xc5a8('0x2b')](handleEntityNotFound(_0x54b003,null))[_0xc5a8('0x2b')](function(_0x524016){if(_0x524016){return _0x524016[_0xc5a8('0x86')](_0x59a74f['query'][_0xc5a8('0x89')])[_0xc5a8('0x2b')](function(){if(_[_0xc5a8('0x8c')](_0x59a74f['query'][_0xc5a8('0x89')])){for(var _0x16c1a1=0x0;_0x16c1a1<_0x59a74f['query'][_0xc5a8('0x89')][_0xc5a8('0x50')];_0x16c1a1+=0x1){socket[_0xc5a8('0x75')](_0xc5a8('0x87'),{'UserId':Number(_0x59a74f[_0xc5a8('0x39')]['ids'][_0x16c1a1]),'MailQueueId':Number(_0x59a74f['params']['id'])});}}else{socket[_0xc5a8('0x75')](_0xc5a8('0x87'),{'UserId':Number(_0x59a74f[_0xc5a8('0x39')][_0xc5a8('0x89')]),'MailQueueId':Number(_0x59a74f[_0xc5a8('0x4f')]['id'])});}});}})[_0xc5a8('0x2b')](respondWithStatusCode(_0x54b003,null))[_0xc5a8('0x4d')](handleError(_0x54b003,null));};exports[_0xc5a8('0x8d')]=function(_0x47c50e,_0x693602,_0x4a85fa){var _0x5280e4={};var _0x378a26={};var _0x42fa60;var _0x3fa9ea;return db[_0xc5a8('0x35')][_0xc5a8('0x69')]({'where':{'id':_0x47c50e[_0xc5a8('0x4f')]['id']}})['then'](handleEntityNotFound(_0x693602,null))[_0xc5a8('0x2b')](function(_0x537435){if(_0x537435){_0x42fa60=_0x537435;_0x378a26[_0xc5a8('0x38')]=_[_0xc5a8('0x3a')](db[_0xc5a8('0x5e')]['rawAttributes']);_0x378a26[_0xc5a8('0x39')]=_['keys'](_0x47c50e[_0xc5a8('0x39')]);_0x378a26[_0xc5a8('0x3b')]=_[_0xc5a8('0x3d')](_0x378a26[_0xc5a8('0x38')],_0x378a26[_0xc5a8('0x39')]);_0x5280e4[_0xc5a8('0x3c')]=_[_0xc5a8('0x3d')](_0x378a26[_0xc5a8('0x38')],qs[_0xc5a8('0x3e')](_0x47c50e[_0xc5a8('0x39')][_0xc5a8('0x3e')]));_0x5280e4['attributes']=_0x5280e4[_0xc5a8('0x3c')][_0xc5a8('0x50')]?_0x5280e4[_0xc5a8('0x3c')]:_0x378a26[_0xc5a8('0x38')];_0x5280e4['order']=qs[_0xc5a8('0x42')](_0x47c50e['query'][_0xc5a8('0x42')]);_0x5280e4[_0xc5a8('0x46')]=qs[_0xc5a8('0x3b')](_[_0xc5a8('0x43')](_0x47c50e[_0xc5a8('0x39')],_0x378a26[_0xc5a8('0x3b')]));if(_0x47c50e[_0xc5a8('0x39')]['filter']){_0x5280e4[_0xc5a8('0x46')]=_[_0xc5a8('0x45')](_0x5280e4['where'],{'$or':_[_0xc5a8('0x34')](_0x5280e4[_0xc5a8('0x3c')],function(_0x2dc6fe){var _0x1177bb={};_0x1177bb[_0x2dc6fe]={'$like':'%'+_0x47c50e[_0xc5a8('0x39')][_0xc5a8('0x44')]+'%'};return _0x1177bb;})});}_0x5280e4=_[_0xc5a8('0x45')]({},_0x5280e4,_0x47c50e[_0xc5a8('0x49')]);return _0x42fa60['getAgents'](_0x5280e4);}})[_0xc5a8('0x2b')](function(_0x3ab220){if(_0x3ab220){_0x3fa9ea=_0x3ab220['length'];if(!_0x47c50e[_0xc5a8('0x39')]['hasOwnProperty'](_0xc5a8('0x40'))){_0x5280e4[_0xc5a8('0x25')]=qs[_0xc5a8('0x25')](_0x47c50e['query'][_0xc5a8('0x25')]);_0x5280e4[_0xc5a8('0x23')]=qs['offset'](_0x47c50e['query'][_0xc5a8('0x23')]);}return _0x42fa60[_0xc5a8('0x8d')](_0x5280e4);}})[_0xc5a8('0x2b')](function(_0x3d5307){if(_0x3d5307){return _0x3d5307?{'count':_0x3fa9ea,'rows':_0x3d5307}:null;}})[_0xc5a8('0x2b')](respondWithResult(_0x693602,null))[_0xc5a8('0x4d')](handleError(_0x693602,null));};