9f07d02f20a7d4cb7623a0651e31671e738b58ac
[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 _0xfa09=['jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','./mailQueue.socket','register','sendStatus','end','json','undefined','limit','offset','apply','reject','save','update','then','destroy','MailQueues','UserProfileResource','error','stack','name','status','send','index','map','MailQueue','rawAttributes','query','filters','model','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','count','include','rows','catch','keys','includeAll','find','create','body','user','get','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','UserMailQueue','findAll','User','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','findOne','Team','addTeams','Agents','online','voicePause','interface','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','field','tq.TeamId','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','includes','all','union','compact','value','sequelize','transaction','removeAgents','userMailQueue:remove','addAgents','omit','spread','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','lodash','squel','crypto'];(function(_0x406bb3,_0x956df2){var _0x14fd16=function(_0x7b37a0){while(--_0x7b37a0){_0x406bb3['push'](_0x406bb3['shift']());}};_0x14fd16(++_0x956df2);}(_0xfa09,0x7f));var _0x9fa0=function(_0x20fceb,_0x5811fa){_0x20fceb=_0x20fceb-0x0;var _0x2a28fe=_0xfa09[_0x20fceb];return _0x2a28fe;};'use strict';var emlformat=require(_0x9fa0('0x0'));var rimraf=require(_0x9fa0('0x1'));var zipdir=require(_0x9fa0('0x2'));var jsonpatch=require(_0x9fa0('0x3'));var rp=require(_0x9fa0('0x4'));var moment=require(_0x9fa0('0x5'));var BPromise=require(_0x9fa0('0x6'));var Mustache=require(_0x9fa0('0x7'));var util=require(_0x9fa0('0x8'));var path=require(_0x9fa0('0x9'));var sox=require(_0x9fa0('0xa'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9fa0('0xb'));var _=require(_0x9fa0('0xc'));var squel=require(_0x9fa0('0xd'));var crypto=require(_0x9fa0('0xe'));var jsforce=require(_0x9fa0('0xf'));var deskjs=require(_0x9fa0('0x10'));var toCsv=require(_0x9fa0('0x11'));var querystring=require(_0x9fa0('0x12'));var Papa=require(_0x9fa0('0x13'));var Redis=require('ioredis');var authService=require(_0x9fa0('0x14'));var qs=require(_0x9fa0('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9fa0('0x16'));var logger=require(_0x9fa0('0x17'))(_0x9fa0('0x18'));var utils=require(_0x9fa0('0x19'));var config=require(_0x9fa0('0x1a'));var licenseUtil=require(_0x9fa0('0x1b'));var db=require('../../mysqldb')['db'];config[_0x9fa0('0x1c')]=_[_0x9fa0('0x1d')](config[_0x9fa0('0x1c')],{'host':'localhost','port':0x18eb});var socket=require(_0x9fa0('0x1e'))(new Redis(config[_0x9fa0('0x1c')]));require(_0x9fa0('0x1f'))[_0x9fa0('0x20')](socket);function respondWithStatusCode(_0x282d37,_0x2f6eea){_0x2f6eea=_0x2f6eea||0xcc;return function(_0x2c98ee){if(_0x2c98ee){return _0x282d37[_0x9fa0('0x21')](_0x2f6eea);}return _0x282d37['status'](_0x2f6eea)[_0x9fa0('0x22')]();};}function respondWithResult(_0x2a2282,_0x5c6841){_0x5c6841=_0x5c6841||0xc8;return function(_0x36dc26){if(_0x36dc26){return _0x2a2282['status'](_0x5c6841)[_0x9fa0('0x23')](_0x36dc26);}};}function respondWithFilteredResult(_0x295829,_0xed2086){return function(_0x59ddd6){if(_0x59ddd6){var _0x54ce2e=typeof _0xed2086['offset']===_0x9fa0('0x24')&&typeof _0xed2086[_0x9fa0('0x25')]===_0x9fa0('0x24');var _0x4c0952=_0x59ddd6['count'];var _0x24e5d6=_0x54ce2e?0x0:_0xed2086[_0x9fa0('0x26')];var _0x14d860=_0x54ce2e?_0x59ddd6['count']:_0xed2086[_0x9fa0('0x26')]+_0xed2086[_0x9fa0('0x25')];var _0x49fccb;if(_0x14d860>=_0x4c0952){_0x14d860=_0x4c0952;_0x49fccb=0xc8;}else{_0x49fccb=0xce;}_0x295829['status'](_0x49fccb);return _0x295829['set']('Content-Range',_0x24e5d6+'-'+_0x14d860+'/'+_0x4c0952)[_0x9fa0('0x23')](_0x59ddd6);}return null;};}function patchUpdates(_0x16c250){return function(_0x42e63d){try{jsonpatch[_0x9fa0('0x27')](_0x42e63d,_0x16c250,!![]);}catch(_0x492bb2){return BPromise[_0x9fa0('0x28')](_0x492bb2);}return _0x42e63d[_0x9fa0('0x29')]();};}function saveUpdates(_0x1c7e38,_0x46de49){return function(_0x26046c){if(_0x26046c){return _0x26046c[_0x9fa0('0x2a')](_0x1c7e38)[_0x9fa0('0x2b')](function(_0x1d9b73){return _0x1d9b73;});}return null;};}function removeEntity(_0x5be2b6,_0x3929bf){return function(_0x472890){if(_0x472890){return _0x472890[_0x9fa0('0x2c')]()[_0x9fa0('0x2b')](function(){var _0x5278c3=_0x472890['get']({'plain':!![]});var _0x51561a=_0x9fa0('0x2d');return db[_0x9fa0('0x2e')][_0x9fa0('0x2c')]({'where':{'type':_0x51561a,'resourceId':_0x5278c3['id']}})['then'](function(){return _0x472890;});})[_0x9fa0('0x2b')](function(){_0x5be2b6['status'](0xcc)[_0x9fa0('0x22')]();});}};}function handleEntityNotFound(_0x3e34d3,_0x4786b6){return function(_0x2fdc30){if(!_0x2fdc30){_0x3e34d3[_0x9fa0('0x21')](0x194);}return _0x2fdc30;};}function handleError(_0x386773,_0x119a4a){_0x119a4a=_0x119a4a||0x1f4;return function(_0x4bdc1e){logger[_0x9fa0('0x2f')](_0x4bdc1e[_0x9fa0('0x30')]);if(_0x4bdc1e[_0x9fa0('0x31')]){delete _0x4bdc1e['name'];}_0x386773[_0x9fa0('0x32')](_0x119a4a)[_0x9fa0('0x33')](_0x4bdc1e);};}exports[_0x9fa0('0x34')]=function(_0x192e9f,_0x1eb328){var _0x1a2e1d={},_0x1da00e={},_0x369167={'count':0x0,'rows':[]};var _0x25b779=_[_0x9fa0('0x35')](db[_0x9fa0('0x36')][_0x9fa0('0x37')],function(_0x7efd0b){return{'name':_0x7efd0b['fieldName'],'type':_0x7efd0b['type']['key']};});_0x1da00e['model']=_[_0x9fa0('0x35')](_0x25b779,_0x9fa0('0x31'));_0x1da00e[_0x9fa0('0x38')]=_['keys'](_0x192e9f[_0x9fa0('0x38')]);_0x1da00e[_0x9fa0('0x39')]=_['intersection'](_0x1da00e[_0x9fa0('0x3a')],_0x1da00e[_0x9fa0('0x38')]);_0x1a2e1d['attributes']=_[_0x9fa0('0x3b')](_0x1da00e['model'],qs[_0x9fa0('0x3c')](_0x192e9f[_0x9fa0('0x38')][_0x9fa0('0x3c')]));_0x1a2e1d[_0x9fa0('0x3d')]=_0x1a2e1d['attributes'][_0x9fa0('0x3e')]?_0x1a2e1d['attributes']:_0x1da00e[_0x9fa0('0x3a')];if(!_0x192e9f['query'][_0x9fa0('0x3f')](_0x9fa0('0x40'))){_0x1a2e1d[_0x9fa0('0x25')]=qs[_0x9fa0('0x25')](_0x192e9f[_0x9fa0('0x38')][_0x9fa0('0x25')]);_0x1a2e1d['offset']=qs[_0x9fa0('0x26')](_0x192e9f['query'][_0x9fa0('0x26')]);}_0x1a2e1d[_0x9fa0('0x41')]=qs[_0x9fa0('0x42')](_0x192e9f[_0x9fa0('0x38')][_0x9fa0('0x42')]);_0x1a2e1d[_0x9fa0('0x43')]=qs[_0x9fa0('0x39')](_[_0x9fa0('0x44')](_0x192e9f[_0x9fa0('0x38')],_0x1da00e['filters']),_0x25b779);if(_0x192e9f['query'][_0x9fa0('0x45')]){_0x1a2e1d[_0x9fa0('0x43')]=_[_0x9fa0('0x46')](_0x1a2e1d[_0x9fa0('0x43')],{'$or':_[_0x9fa0('0x35')](_0x25b779,function(_0x4641ed){if(_0x4641ed[_0x9fa0('0x47')]!==_0x9fa0('0x48')){var _0x538b33={};_0x538b33[_0x4641ed[_0x9fa0('0x31')]]={'$like':'%'+_0x192e9f[_0x9fa0('0x38')][_0x9fa0('0x45')]+'%'};return _0x538b33;}})});}_0x1a2e1d=_[_0x9fa0('0x46')]({},_0x1a2e1d,_0x192e9f[_0x9fa0('0x49')]);var _0x2de913={'where':_0x1a2e1d[_0x9fa0('0x43')]};return db['MailQueue'][_0x9fa0('0x4a')](_0x2de913)[_0x9fa0('0x2b')](function(_0x145714){_0x369167[_0x9fa0('0x4a')]=_0x145714;if(_0x192e9f[_0x9fa0('0x38')]['includeAll']){_0x1a2e1d[_0x9fa0('0x4b')]=[{'all':!![]}];}return db[_0x9fa0('0x36')]['findAll'](_0x1a2e1d);})[_0x9fa0('0x2b')](function(_0x39d5d9){_0x369167[_0x9fa0('0x4c')]=_0x39d5d9;return _0x369167;})['then'](respondWithFilteredResult(_0x1eb328,_0x1a2e1d))[_0x9fa0('0x4d')](handleError(_0x1eb328,null));};exports['show']=function(_0x1cf445,_0x3d51db){var _0x18af2c={'raw':!![],'where':{'id':_0x1cf445['params']['id']}},_0x558374={};_0x558374[_0x9fa0('0x3a')]=_[_0x9fa0('0x4e')](db[_0x9fa0('0x36')]['rawAttributes']);_0x558374[_0x9fa0('0x38')]=_[_0x9fa0('0x4e')](_0x1cf445[_0x9fa0('0x38')]);_0x558374['filters']=_[_0x9fa0('0x3b')](_0x558374[_0x9fa0('0x3a')],_0x558374['query']);_0x18af2c[_0x9fa0('0x3d')]=_['intersection'](_0x558374[_0x9fa0('0x3a')],qs[_0x9fa0('0x3c')](_0x1cf445['query'][_0x9fa0('0x3c')]));_0x18af2c[_0x9fa0('0x3d')]=_0x18af2c['attributes']['length']?_0x18af2c[_0x9fa0('0x3d')]:_0x558374[_0x9fa0('0x3a')];if(_0x1cf445[_0x9fa0('0x38')][_0x9fa0('0x4f')]){_0x18af2c[_0x9fa0('0x4b')]=[{'all':!![]}];}_0x18af2c=_[_0x9fa0('0x46')]({},_0x18af2c,_0x1cf445['options']);return db['MailQueue'][_0x9fa0('0x50')](_0x18af2c)[_0x9fa0('0x2b')](handleEntityNotFound(_0x3d51db,null))[_0x9fa0('0x2b')](respondWithResult(_0x3d51db,null))[_0x9fa0('0x4d')](handleError(_0x3d51db,null));};exports[_0x9fa0('0x51')]=function(_0x39a4d3,_0xb9fbba){return db[_0x9fa0('0x36')]['create'](_0x39a4d3[_0x9fa0('0x52')],{})[_0x9fa0('0x2b')](function(_0x5bbd5e){var _0x3ca479=_0x39a4d3[_0x9fa0('0x53')][_0x9fa0('0x54')]({'plain':!![]});if(!_0x3ca479)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3ca479[_0x9fa0('0x55')]===_0x9fa0('0x53')){var _0x46e861=_0x5bbd5e['get']({'plain':!![]});var _0x1d6230='MailQueues';return db[_0x9fa0('0x56')][_0x9fa0('0x50')]({'where':{'name':_0x1d6230,'userProfileId':_0x3ca479[_0x9fa0('0x57')]},'raw':!![]})[_0x9fa0('0x2b')](function(_0x364945){if(_0x364945&&_0x364945['autoAssociation']===0x0){return db[_0x9fa0('0x2e')][_0x9fa0('0x51')]({'name':_0x46e861[_0x9fa0('0x31')],'resourceId':_0x46e861['id'],'type':_0x364945[_0x9fa0('0x31')],'sectionId':_0x364945['id']},{})[_0x9fa0('0x2b')](function(){return _0x5bbd5e;});}else{return _0x5bbd5e;}})[_0x9fa0('0x4d')](function(_0x262f22){logger[_0x9fa0('0x2f')](_0x9fa0('0x58'),_0x262f22);throw _0x262f22;});}return _0x5bbd5e;})[_0x9fa0('0x2b')](respondWithResult(_0xb9fbba,0xc9))[_0x9fa0('0x4d')](handleError(_0xb9fbba,null));};exports['update']=function(_0x3122a6,_0x4738aa){if(_0x3122a6[_0x9fa0('0x52')]['id']){delete _0x3122a6[_0x9fa0('0x52')]['id'];}return db[_0x9fa0('0x36')][_0x9fa0('0x50')]({'where':{'id':_0x3122a6[_0x9fa0('0x59')]['id']}})[_0x9fa0('0x2b')](handleEntityNotFound(_0x4738aa,null))[_0x9fa0('0x2b')](saveUpdates(_0x3122a6['body'],null))[_0x9fa0('0x2b')](respondWithResult(_0x4738aa,null))[_0x9fa0('0x4d')](handleError(_0x4738aa,null));};exports[_0x9fa0('0x2c')]=function(_0x517afb,_0x36e5df){return db[_0x9fa0('0x36')][_0x9fa0('0x50')]({'where':{'id':_0x517afb[_0x9fa0('0x59')]['id']}})[_0x9fa0('0x2b')](handleEntityNotFound(_0x36e5df,null))['then'](removeEntity(_0x36e5df,null))[_0x9fa0('0x4d')](handleError(_0x36e5df,null));};exports['describe']=function(_0x135c20,_0x401ff3){return db[_0x9fa0('0x36')][_0x9fa0('0x5a')]()[_0x9fa0('0x2b')](respondWithResult(_0x401ff3,null))['catch'](handleError(_0x401ff3,null));};exports[_0x9fa0('0x5b')]=function(_0x31df8b,_0x6614b3,_0x44a609){var _0x3e797a={'raw':!![],'where':{}},_0x34304f={},_0x10288e;return db[_0x9fa0('0x36')]['findOne']({'where':{'id':_0x31df8b['params']['id']}})[_0x9fa0('0x2b')](handleEntityNotFound(_0x6614b3,null))[_0x9fa0('0x2b')](function(_0x2ab2c6){if(_0x2ab2c6){_0x10288e=_0x2ab2c6[_0x9fa0('0x54')]({'plain':!![]});_0x34304f['model']=_[_0x9fa0('0x4e')](db[_0x9fa0('0x5c')]['rawAttributes']);_0x34304f[_0x9fa0('0x38')]=_[_0x9fa0('0x4e')](_0x31df8b[_0x9fa0('0x38')]);_0x34304f['filters']=_['intersection'](_0x34304f[_0x9fa0('0x3a')],_0x34304f['query']);_0x3e797a[_0x9fa0('0x3d')]=_['intersection'](_0x34304f[_0x9fa0('0x3a')],qs[_0x9fa0('0x3c')](_0x31df8b[_0x9fa0('0x38')][_0x9fa0('0x3c')]));_0x3e797a['attributes']=_0x3e797a[_0x9fa0('0x3d')][_0x9fa0('0x3e')]?_0x3e797a[_0x9fa0('0x3d')]:_0x34304f[_0x9fa0('0x3a')];if(!_0x31df8b[_0x9fa0('0x38')]['hasOwnProperty']('nolimit')){_0x3e797a[_0x9fa0('0x25')]=qs[_0x9fa0('0x25')](_0x31df8b[_0x9fa0('0x38')][_0x9fa0('0x25')]);_0x3e797a[_0x9fa0('0x26')]=qs['offset'](_0x31df8b[_0x9fa0('0x38')][_0x9fa0('0x26')]);}_0x3e797a['order']=qs[_0x9fa0('0x42')](_0x31df8b[_0x9fa0('0x38')][_0x9fa0('0x42')]);_0x3e797a['where']=qs['filters'](_[_0x9fa0('0x44')](_0x31df8b[_0x9fa0('0x38')],_0x34304f['filters']));_0x3e797a[_0x9fa0('0x43')]['MailQueueId']=_0x2ab2c6['id'];if(_0x31df8b[_0x9fa0('0x38')]['filter']){_0x3e797a['where']=_[_0x9fa0('0x46')](_0x3e797a[_0x9fa0('0x43')],{'$or':_[_0x9fa0('0x35')](_0x3e797a['attributes'],function(_0x2de0c6){var _0xd09afb={};_0xd09afb[_0x2de0c6]={'$like':'%'+_0x31df8b[_0x9fa0('0x38')][_0x9fa0('0x45')]+'%'};return _0xd09afb;})});}_0x3e797a=_[_0x9fa0('0x46')]({},_0x3e797a,_0x31df8b[_0x9fa0('0x49')]);return db[_0x9fa0('0x5c')][_0x9fa0('0x5d')](_0x3e797a);}})['then'](function(_0x133bb2){if(_0x133bb2){return db[_0x9fa0('0x5e')]['findAndCountAll']({'where':{'id':_[_0x9fa0('0x35')](_0x133bb2,_0x9fa0('0x5f')),'role':_0x9fa0('0x60')},'attributes':['id',_0x9fa0('0x31'),_0x9fa0('0x61'),_0x9fa0('0x62'),_0x9fa0('0x63')]});}})[_0x9fa0('0x2b')](function(_0x31a96f){if(_0x31a96f){return{'count':_0x31a96f['count'],'rows':_[_0x9fa0('0x35')](_0x31a96f[_0x9fa0('0x4c')],function(_0xcc6ef4){return{'membername':_0xcc6ef4[_0x9fa0('0x31')],'UserId':_0xcc6ef4['id'],'queue_name':_0x10288e[_0x9fa0('0x31')],'MailQueueId':_0x10288e['id'],'interface':util[_0x9fa0('0x64')](_0x9fa0('0x65'),_0x9fa0('0x66'),_0xcc6ef4[_0x9fa0('0x31')]),'penalty':0x0,'paused':_0xcc6ef4[_0x9fa0('0x61')],'createdAt':_0xcc6ef4['createdAt'],'updatedAt':_0xcc6ef4[_0x9fa0('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x9fa0('0x2b')](respondWithFilteredResult(_0x6614b3,_0x3e797a))[_0x9fa0('0x4d')](handleError(_0x6614b3,null));};exports[_0x9fa0('0x67')]=function(_0x167762,_0xa31707,_0x964c32){var _0x25830e={};var _0x38bda5={};var _0x31877a;var _0x5dffd8;return db[_0x9fa0('0x36')][_0x9fa0('0x68')]({'where':{'id':_0x167762['params']['id']}})[_0x9fa0('0x2b')](handleEntityNotFound(_0xa31707,null))[_0x9fa0('0x2b')](function(_0x55790e){if(_0x55790e){_0x31877a=_0x55790e;_0x38bda5['model']=_['keys'](db[_0x9fa0('0x69')][_0x9fa0('0x37')]);_0x38bda5['query']=_['keys'](_0x167762[_0x9fa0('0x38')]);_0x38bda5[_0x9fa0('0x39')]=_[_0x9fa0('0x3b')](_0x38bda5[_0x9fa0('0x3a')],_0x38bda5['query']);_0x25830e[_0x9fa0('0x3d')]=_['intersection'](_0x38bda5[_0x9fa0('0x3a')],qs['fields'](_0x167762['query'][_0x9fa0('0x3c')]));_0x25830e['attributes']=_0x25830e['attributes'][_0x9fa0('0x3e')]?_0x25830e[_0x9fa0('0x3d')]:_0x38bda5[_0x9fa0('0x3a')];_0x25830e[_0x9fa0('0x41')]=qs[_0x9fa0('0x42')](_0x167762[_0x9fa0('0x38')][_0x9fa0('0x42')]);_0x25830e['where']=qs[_0x9fa0('0x39')](_[_0x9fa0('0x44')](_0x167762[_0x9fa0('0x38')],_0x38bda5['filters']));if(_0x167762['query'][_0x9fa0('0x45')]){_0x25830e[_0x9fa0('0x43')]=_[_0x9fa0('0x46')](_0x25830e['where'],{'$or':_['map'](_0x25830e[_0x9fa0('0x3d')],function(_0x380220){var _0x50a007={};_0x50a007[_0x380220]={'$like':'%'+_0x167762[_0x9fa0('0x38')][_0x9fa0('0x45')]+'%'};return _0x50a007;})});}_0x25830e=_[_0x9fa0('0x46')]({},_0x25830e,_0x167762[_0x9fa0('0x49')]);return _0x31877a[_0x9fa0('0x67')](_0x25830e);}})[_0x9fa0('0x2b')](function(_0x1e5fb9){if(_0x1e5fb9){_0x5dffd8=_0x1e5fb9[_0x9fa0('0x3e')];if(!_0x167762[_0x9fa0('0x38')][_0x9fa0('0x3f')](_0x9fa0('0x40'))){_0x25830e[_0x9fa0('0x25')]=qs[_0x9fa0('0x25')](_0x167762[_0x9fa0('0x38')]['limit']);_0x25830e[_0x9fa0('0x26')]=qs['offset'](_0x167762[_0x9fa0('0x38')]['offset']);}return _0x31877a['getTeams'](_0x25830e);}})[_0x9fa0('0x2b')](function(_0x5c2ef3){if(_0x5c2ef3){return _0x5c2ef3?{'count':_0x5dffd8,'rows':_0x5c2ef3}:null;}})[_0x9fa0('0x2b')](respondWithResult(_0xa31707,null))['catch'](handleError(_0xa31707,null));};exports[_0x9fa0('0x6a')]=function(_0x2033bf,_0x154e41,_0x4b5ba0){var _0x2610db=_0x2033bf[_0x9fa0('0x52')]['ids'];return db[_0x9fa0('0x69')][_0x9fa0('0x5d')]({'where':{'id':_0x2610db},'attributes':['id'],'include':[{'model':db[_0x9fa0('0x5e')],'as':_0x9fa0('0x6b'),'attributes':['id',_0x9fa0('0x31'),_0x9fa0('0x6c'),_0x9fa0('0x6d'),_0x9fa0('0x6e')],'raw':!![]}]})[_0x9fa0('0x2b')](function(_0x397d05){if(_0x397d05){var _0x3b3acf=_['flatMap'](_0x397d05,function(_0x3e5091){var _0x5a4ff3=_0x3e5091[_0x9fa0('0x54')]({'plain':!![]});return _0x5a4ff3[_0x9fa0('0x6b')];});return db[_0x9fa0('0x36')][_0x9fa0('0x50')]({'where':{'id':_0x2033bf[_0x9fa0('0x59')]['id']}})[_0x9fa0('0x2b')](function(_0x35279d){return db['sequelize']['transaction'](function(_0x15f88d){return _0x35279d[_0x9fa0('0x6a')](_0x2610db,{'transaction':_0x15f88d})[_0x9fa0('0x2b')](function(){return BPromise[_0x9fa0('0x6f')](_0x3b3acf,function(_0x4b31b0){return db[_0x9fa0('0x5c')][_0x9fa0('0x70')]({'where':{'UserId':_0x4b31b0['id'],'MailQueueId':_0x2033bf['params']['id']},'transaction':_0x15f88d});});})[_0x9fa0('0x2b')](function(){_0x3b3acf[_0x9fa0('0x71')](function(_0x340753){socket[_0x9fa0('0x72')](_0x9fa0('0x73'),{'UserId':_0x340753['id'],'MailQueueId':_0x35279d['id']});});});});});}})['then'](respondWithStatusCode(_0x154e41,null))[_0x9fa0('0x4d')](handleError(_0x154e41,null));};exports[_0x9fa0('0x74')]=function(_0x4d3595,_0x48f4a3,_0x582ab9){return db['Team']['findAll']({'where':{'id':_0x4d3595['query'][_0x9fa0('0x75')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x9fa0('0x6b'),'attributes':['id'],'raw':!![]}]})[_0x9fa0('0x2b')](handleEntityNotFound(_0x48f4a3,null))['then'](function(_0x59fb88){var _0x10b981=_[_0x9fa0('0x35')](_0x59fb88,'id');var _0x29be00=[];var _0x318439=[];var _0x5a93e5=squel['select']();_0x5a93e5[_0x9fa0('0x76')](_0x9fa0('0x77'))['from']('team_has_mail_queues','tq')['join'](_0x9fa0('0x78'),'ut',_0x9fa0('0x79'))[_0x9fa0('0x43')](_0x9fa0('0x7a'),_0x4d3595['params']['id']);for(var _0x467ade=0x0;_0x467ade<_0x59fb88['length'];_0x467ade+=0x1){let _0xb04fef=_0x59fb88[_0x467ade];for(var _0x14ceee=0x0;_0x14ceee<_0xb04fef[_0x9fa0('0x6b')]['length'];_0x14ceee+=0x1){let _0x2577b1=_0xb04fef[_0x9fa0('0x6b')][_0x14ceee];var _0x56462b=_0x5a93e5['clone']();_0x56462b[_0x9fa0('0x43')](_0x9fa0('0x7b'),_0x2577b1['id']);_0x318439[_0x9fa0('0x7c')](db['sequelize']['query'](_0x56462b[_0x9fa0('0x7d')](),{'type':db['sequelize'][_0x9fa0('0x7e')][_0x9fa0('0x7f')]})['then'](function(_0x1f4ea1){if(_0x1f4ea1[_0x9fa0('0x3e')]===0x1){return _0x2577b1['id'];}else{var _0xaa9e01=_[_0x9fa0('0x80')](_[_0x9fa0('0x35')](_0x1f4ea1,'TeamId'),function(_0x52ca18){return _[_0x9fa0('0x81')](_0x10b981,_0x52ca18);});if(_0xaa9e01){return _0x2577b1['id'];}}}));}}return BPromise[_0x9fa0('0x82')](_0x318439)[_0x9fa0('0x2b')](function(_0x4a3745){_0x29be00=_(_0x29be00)[_0x9fa0('0x83')](_0x4a3745)[_0x9fa0('0x84')]()[_0x9fa0('0x85')]();return db['MailQueue'][_0x9fa0('0x50')]({'where':{'id':_0x4d3595['params']['id']}})[_0x9fa0('0x2b')](function(_0xe064c9){return db[_0x9fa0('0x86')][_0x9fa0('0x87')](function(_0xe54808){return _0xe064c9['removeTeams'](_0x4d3595['query'][_0x9fa0('0x75')],{'transaction':_0xe54808})[_0x9fa0('0x2b')](function(){if(!_['isEmpty'](_0x29be00)){return _0xe064c9[_0x9fa0('0x88')](_0x29be00,{'transaction':_0xe54808});}})[_0x9fa0('0x2b')](function(){_0x29be00[_0x9fa0('0x71')](function(_0x23e1d3){socket['emit'](_0x9fa0('0x89'),{'UserId':_0x23e1d3,'MailQueueId':_0xe064c9['id']});});});});});});})['then'](respondWithStatusCode(_0x48f4a3,null))['catch'](handleError(_0x48f4a3,null));};exports[_0x9fa0('0x8a')]=function(_0x41064c,_0x3c227c,_0x170f1f){return db[_0x9fa0('0x36')][_0x9fa0('0x50')]({'where':{'id':_0x41064c[_0x9fa0('0x59')]['id']}})['then'](handleEntityNotFound(_0x3c227c,null))[_0x9fa0('0x2b')](function(_0x12009c){if(_0x12009c){return _0x12009c[_0x9fa0('0x8a')](_0x41064c[_0x9fa0('0x52')][_0x9fa0('0x75')],_[_0x9fa0('0x8b')](_0x41064c[_0x9fa0('0x52')],[_0x9fa0('0x75'),'id'])||{})[_0x9fa0('0x8c')](function(_0x3bd759){for(var _0xa770a1=0x0;_0xa770a1<_0x41064c[_0x9fa0('0x52')][_0x9fa0('0x75')][_0x9fa0('0x3e')];_0xa770a1+=0x1){socket[_0x9fa0('0x72')](_0x9fa0('0x73'),{'UserId':Number(_0x41064c[_0x9fa0('0x52')]['ids'][_0xa770a1]),'MailQueueId':Number(_0x41064c[_0x9fa0('0x59')]['id'])});}return _0x3bd759;});}})[_0x9fa0('0x2b')](respondWithResult(_0x3c227c,null))[_0x9fa0('0x4d')](handleError(_0x3c227c,null));};exports[_0x9fa0('0x88')]=function(_0x69201d,_0x8ea8da,_0x560c29){return db[_0x9fa0('0x36')][_0x9fa0('0x50')]({'where':{'id':_0x69201d[_0x9fa0('0x59')]['id']}})['then'](handleEntityNotFound(_0x8ea8da,null))[_0x9fa0('0x2b')](function(_0x2fde37){if(_0x2fde37){return _0x2fde37[_0x9fa0('0x88')](_0x69201d[_0x9fa0('0x38')][_0x9fa0('0x75')])[_0x9fa0('0x2b')](function(){if(_['isArray'](_0x69201d[_0x9fa0('0x38')]['ids'])){for(var _0x4a80bc=0x0;_0x4a80bc<_0x69201d[_0x9fa0('0x38')][_0x9fa0('0x75')]['length'];_0x4a80bc+=0x1){socket[_0x9fa0('0x72')](_0x9fa0('0x89'),{'UserId':Number(_0x69201d[_0x9fa0('0x38')][_0x9fa0('0x75')][_0x4a80bc]),'MailQueueId':Number(_0x69201d[_0x9fa0('0x59')]['id'])});}}else{socket[_0x9fa0('0x72')](_0x9fa0('0x89'),{'UserId':Number(_0x69201d[_0x9fa0('0x38')][_0x9fa0('0x75')]),'MailQueueId':Number(_0x69201d[_0x9fa0('0x59')]['id'])});}});}})[_0x9fa0('0x2b')](respondWithStatusCode(_0x8ea8da,null))['catch'](handleError(_0x8ea8da,null));};exports[_0x9fa0('0x8d')]=function(_0x261aa0,_0x394df0,_0x21dc2a){var _0x51b585={};var _0x347c1c={};var _0x15a972;var _0x155f9e;return db[_0x9fa0('0x36')][_0x9fa0('0x68')]({'where':{'id':_0x261aa0['params']['id']}})[_0x9fa0('0x2b')](handleEntityNotFound(_0x394df0,null))[_0x9fa0('0x2b')](function(_0x116962){if(_0x116962){_0x15a972=_0x116962;_0x347c1c[_0x9fa0('0x3a')]=_[_0x9fa0('0x4e')](db['User'][_0x9fa0('0x37')]);_0x347c1c[_0x9fa0('0x38')]=_[_0x9fa0('0x4e')](_0x261aa0['query']);_0x347c1c[_0x9fa0('0x39')]=_[_0x9fa0('0x3b')](_0x347c1c[_0x9fa0('0x3a')],_0x347c1c['query']);_0x51b585[_0x9fa0('0x3d')]=_[_0x9fa0('0x3b')](_0x347c1c[_0x9fa0('0x3a')],qs['fields'](_0x261aa0[_0x9fa0('0x38')][_0x9fa0('0x3c')]));_0x51b585['attributes']=_0x51b585[_0x9fa0('0x3d')][_0x9fa0('0x3e')]?_0x51b585[_0x9fa0('0x3d')]:_0x347c1c['model'];_0x51b585['order']=qs[_0x9fa0('0x42')](_0x261aa0[_0x9fa0('0x38')][_0x9fa0('0x42')]);_0x51b585['where']=qs['filters'](_[_0x9fa0('0x44')](_0x261aa0['query'],_0x347c1c['filters']));if(_0x261aa0['query'][_0x9fa0('0x45')]){_0x51b585['where']=_[_0x9fa0('0x46')](_0x51b585['where'],{'$or':_['map'](_0x51b585[_0x9fa0('0x3d')],function(_0x242c07){var _0x58f436={};_0x58f436[_0x242c07]={'$like':'%'+_0x261aa0['query'][_0x9fa0('0x45')]+'%'};return _0x58f436;})});}_0x51b585=_[_0x9fa0('0x46')]({},_0x51b585,_0x261aa0[_0x9fa0('0x49')]);return _0x15a972[_0x9fa0('0x8d')](_0x51b585);}})[_0x9fa0('0x2b')](function(_0x23d5af){if(_0x23d5af){_0x155f9e=_0x23d5af[_0x9fa0('0x3e')];if(!_0x261aa0['query']['hasOwnProperty'](_0x9fa0('0x40'))){_0x51b585[_0x9fa0('0x25')]=qs[_0x9fa0('0x25')](_0x261aa0[_0x9fa0('0x38')][_0x9fa0('0x25')]);_0x51b585['offset']=qs['offset'](_0x261aa0['query'][_0x9fa0('0x26')]);}return _0x15a972['getAgents'](_0x51b585);}})['then'](function(_0x38548c){if(_0x38548c){return _0x38548c?{'count':_0x155f9e,'rows':_0x38548c}:null;}})[_0x9fa0('0x2b')](respondWithResult(_0x394df0,null))[_0x9fa0('0x4d')](handleError(_0x394df0,null));};