Built motion from commit 9d7072cc.|2.5.39
[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 _0x736b=['eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','status','offset','undefined','limit','Content-Range','json','reject','save','update','then','MailQueues','UserProfileResource','destroy','sendStatus','stack','name','send','index','map','MailQueue','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserMailQueue','hasOwnProperty','nolimit','order','MailQueueId','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','Team','getTeams','addTeams','ids','User','online','interface','transaction','each','forEach','emit','userMailQueue:save','removeTeams','Agents','select','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','sequelize','QueryTypes','every','union','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents'];(function(_0x5abf7a,_0x4d16bb){var _0x17350f=function(_0x142f20){while(--_0x142f20){_0x5abf7a['push'](_0x5abf7a['shift']());}};_0x17350f(++_0x4d16bb);}(_0x736b,0x8a));var _0xb736=function(_0x43e61e,_0x13ae1c){_0x43e61e=_0x43e61e-0x0;var _0x440e58=_0x736b[_0x43e61e];return _0x440e58;};'use strict';var emlformat=require(_0xb736('0x0'));var rimraf=require(_0xb736('0x1'));var zipdir=require(_0xb736('0x2'));var jsonpatch=require(_0xb736('0x3'));var rp=require(_0xb736('0x4'));var moment=require(_0xb736('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb736('0x6'));var util=require(_0xb736('0x7'));var path=require(_0xb736('0x8'));var sox=require(_0xb736('0x9'));var csv=require(_0xb736('0xa'));var ejs=require(_0xb736('0xb'));var fs=require('fs');var fs_extra=require(_0xb736('0xc'));var _=require(_0xb736('0xd'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb736('0xe'));var deskjs=require(_0xb736('0xf'));var toCsv=require(_0xb736('0xa'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb736('0x10'));var authService=require(_0xb736('0x11'));var qs=require(_0xb736('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xb736('0x13'))('api');var utils=require(_0xb736('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0xb736('0x15'));var db=require(_0xb736('0x16'))['db'];config[_0xb736('0x17')]=_[_0xb736('0x18')](config[_0xb736('0x17')],{'host':_0xb736('0x19'),'port':0x18eb});var socket=require(_0xb736('0x1a'))(new Redis(config[_0xb736('0x17')]));require(_0xb736('0x1b'))[_0xb736('0x1c')](socket);function respondWithStatusCode(_0xea9652,_0x24441c){_0x24441c=_0x24441c||0xcc;return function(_0x5d335d){if(_0x5d335d){return _0xea9652['sendStatus'](_0x24441c);}return _0xea9652[_0xb736('0x1d')](_0x24441c)['end']();};}function respondWithResult(_0x1f4299,_0xbc42b0){_0xbc42b0=_0xbc42b0||0xc8;return function(_0x5bc285){if(_0x5bc285){return _0x1f4299[_0xb736('0x1d')](_0xbc42b0)['json'](_0x5bc285);}};}function respondWithFilteredResult(_0xb7ec77,_0x34effb){return function(_0x48d62a){if(_0x48d62a){var _0x229fa7=typeof _0x34effb[_0xb736('0x1e')]===_0xb736('0x1f')&&typeof _0x34effb[_0xb736('0x20')]===_0xb736('0x1f');var _0xbb2c47=_0x48d62a['count'];var _0x204b0b=_0x229fa7?0x0:_0x34effb['offset'];var _0x3c1e56=_0x229fa7?_0x48d62a['count']:_0x34effb[_0xb736('0x1e')]+_0x34effb['limit'];var _0x50b99b;if(_0x3c1e56>=_0xbb2c47){_0x3c1e56=_0xbb2c47;_0x50b99b=0xc8;}else{_0x50b99b=0xce;}_0xb7ec77['status'](_0x50b99b);return _0xb7ec77['set'](_0xb736('0x21'),_0x204b0b+'-'+_0x3c1e56+'/'+_0xbb2c47)[_0xb736('0x22')](_0x48d62a);}return null;};}function patchUpdates(_0x1b6664){return function(_0x3527d5){try{jsonpatch['apply'](_0x3527d5,_0x1b6664,!![]);}catch(_0x3d01e4){return BPromise[_0xb736('0x23')](_0x3d01e4);}return _0x3527d5[_0xb736('0x24')]();};}function saveUpdates(_0xf6d8cc,_0x3a30e6){return function(_0x1389f6){if(_0x1389f6){return _0x1389f6[_0xb736('0x25')](_0xf6d8cc)[_0xb736('0x26')](function(_0x4eca54){return _0x4eca54;});}return null;};}function removeEntity(_0x348867,_0x5a3e1f){return function(_0x5af324){if(_0x5af324){return _0x5af324['destroy']()['then'](function(){var _0x3a7f60=_0x5af324['get']({'plain':!![]});var _0x187df6=_0xb736('0x27');return db[_0xb736('0x28')][_0xb736('0x29')]({'where':{'type':_0x187df6,'resourceId':_0x3a7f60['id']}})[_0xb736('0x26')](function(){return _0x5af324;});})[_0xb736('0x26')](function(){_0x348867[_0xb736('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2dba5f,_0x419288){return function(_0x26d4fa){if(!_0x26d4fa){_0x2dba5f[_0xb736('0x2a')](0x194);}return _0x26d4fa;};}function handleError(_0xeb46e4,_0x3015ff){_0x3015ff=_0x3015ff||0x1f4;return function(_0x4f2f49){logger['error'](_0x4f2f49[_0xb736('0x2b')]);if(_0x4f2f49[_0xb736('0x2c')]){delete _0x4f2f49[_0xb736('0x2c')];}_0xeb46e4[_0xb736('0x1d')](_0x3015ff)[_0xb736('0x2d')](_0x4f2f49);};}exports[_0xb736('0x2e')]=function(_0x96e197,_0x36af7f){var _0x23862a={},_0x595b03={},_0x4b96d8={'count':0x0,'rows':[]};var _0x331bbc=_[_0xb736('0x2f')](db[_0xb736('0x30')]['rawAttributes'],function(_0x21d1f9){return{'name':_0x21d1f9[_0xb736('0x31')],'type':_0x21d1f9['type'][_0xb736('0x32')]};});_0x595b03[_0xb736('0x33')]=_['map'](_0x331bbc,_0xb736('0x2c'));_0x595b03[_0xb736('0x34')]=_[_0xb736('0x35')](_0x96e197[_0xb736('0x34')]);_0x595b03[_0xb736('0x36')]=_[_0xb736('0x37')](_0x595b03[_0xb736('0x33')],_0x595b03[_0xb736('0x34')]);_0x23862a[_0xb736('0x38')]=_[_0xb736('0x37')](_0x595b03[_0xb736('0x33')],qs['fields'](_0x96e197[_0xb736('0x34')][_0xb736('0x39')]));_0x23862a[_0xb736('0x38')]=_0x23862a['attributes'][_0xb736('0x3a')]?_0x23862a[_0xb736('0x38')]:_0x595b03[_0xb736('0x33')];if(!_0x96e197[_0xb736('0x34')]['hasOwnProperty']('nolimit')){_0x23862a[_0xb736('0x20')]=qs[_0xb736('0x20')](_0x96e197[_0xb736('0x34')][_0xb736('0x20')]);_0x23862a[_0xb736('0x1e')]=qs[_0xb736('0x1e')](_0x96e197[_0xb736('0x34')][_0xb736('0x1e')]);}_0x23862a['order']=qs[_0xb736('0x3b')](_0x96e197[_0xb736('0x34')][_0xb736('0x3b')]);_0x23862a[_0xb736('0x3c')]=qs['filters'](_[_0xb736('0x3d')](_0x96e197['query'],_0x595b03[_0xb736('0x36')]),_0x331bbc);if(_0x96e197[_0xb736('0x34')][_0xb736('0x3e')]){_0x23862a[_0xb736('0x3c')]=_[_0xb736('0x3f')](_0x23862a[_0xb736('0x3c')],{'$or':_['map'](_0x331bbc,function(_0x520399){if(_0x520399['type']!==_0xb736('0x40')){var _0xe736cd={};_0xe736cd[_0x520399['name']]={'$like':'%'+_0x96e197['query']['filter']+'%'};return _0xe736cd;}})});}_0x23862a=_[_0xb736('0x3f')]({},_0x23862a,_0x96e197[_0xb736('0x41')]);var _0x1db12f={'where':_0x23862a[_0xb736('0x3c')]};return db[_0xb736('0x30')][_0xb736('0x42')](_0x1db12f)['then'](function(_0x2db525){_0x4b96d8[_0xb736('0x42')]=_0x2db525;if(_0x96e197[_0xb736('0x34')][_0xb736('0x43')]){_0x23862a[_0xb736('0x44')]=[{'all':!![]}];}return db[_0xb736('0x30')][_0xb736('0x45')](_0x23862a);})[_0xb736('0x26')](function(_0x3fde4a){_0x4b96d8[_0xb736('0x46')]=_0x3fde4a;return _0x4b96d8;})['then'](respondWithFilteredResult(_0x36af7f,_0x23862a))[_0xb736('0x47')](handleError(_0x36af7f,null));};exports[_0xb736('0x48')]=function(_0x322dc1,_0x55e395){var _0x1f23f4={'raw':!![],'where':{'id':_0x322dc1[_0xb736('0x49')]['id']}},_0x137a62={};_0x137a62['model']=_[_0xb736('0x35')](db[_0xb736('0x30')][_0xb736('0x4a')]);_0x137a62['query']=_[_0xb736('0x35')](_0x322dc1[_0xb736('0x34')]);_0x137a62[_0xb736('0x36')]=_[_0xb736('0x37')](_0x137a62[_0xb736('0x33')],_0x137a62[_0xb736('0x34')]);_0x1f23f4[_0xb736('0x38')]=_['intersection'](_0x137a62[_0xb736('0x33')],qs[_0xb736('0x39')](_0x322dc1[_0xb736('0x34')]['fields']));_0x1f23f4[_0xb736('0x38')]=_0x1f23f4[_0xb736('0x38')][_0xb736('0x3a')]?_0x1f23f4[_0xb736('0x38')]:_0x137a62[_0xb736('0x33')];if(_0x322dc1[_0xb736('0x34')]['includeAll']){_0x1f23f4[_0xb736('0x44')]=[{'all':!![]}];}_0x1f23f4=_[_0xb736('0x3f')]({},_0x1f23f4,_0x322dc1['options']);return db[_0xb736('0x30')][_0xb736('0x4b')](_0x1f23f4)[_0xb736('0x26')](handleEntityNotFound(_0x55e395,null))[_0xb736('0x26')](respondWithResult(_0x55e395,null))[_0xb736('0x47')](handleError(_0x55e395,null));};exports[_0xb736('0x4c')]=function(_0x11342f,_0x18098f){return db[_0xb736('0x30')]['create'](_0x11342f[_0xb736('0x4d')],{})[_0xb736('0x26')](function(_0x119be5){var _0x21025f=_0x11342f['user'][_0xb736('0x4e')]({'plain':!![]});if(!_0x21025f)throw new Error(_0xb736('0x4f'));if(_0x21025f[_0xb736('0x50')]==='user'){var _0x1c85f4=_0x119be5[_0xb736('0x4e')]({'plain':!![]});var _0x30092d=_0xb736('0x27');return db[_0xb736('0x51')]['find']({'where':{'name':_0x30092d,'userProfileId':_0x21025f[_0xb736('0x52')]},'raw':!![]})['then'](function(_0x5148cb){if(_0x5148cb&&_0x5148cb['autoAssociation']===0x0){return db[_0xb736('0x28')]['create']({'name':_0x1c85f4['name'],'resourceId':_0x1c85f4['id'],'type':_0x5148cb['name'],'sectionId':_0x5148cb['id']},{})['then'](function(){return _0x119be5;});}else{return _0x119be5;}})[_0xb736('0x47')](function(_0xeb8228){logger[_0xb736('0x53')](_0xb736('0x54'),_0xeb8228);throw _0xeb8228;});}return _0x119be5;})[_0xb736('0x26')](respondWithResult(_0x18098f,0xc9))[_0xb736('0x47')](handleError(_0x18098f,null));};exports['update']=function(_0x392a7b,_0x269fc5){if(_0x392a7b[_0xb736('0x4d')]['id']){delete _0x392a7b[_0xb736('0x4d')]['id'];}return db[_0xb736('0x30')][_0xb736('0x4b')]({'where':{'id':_0x392a7b[_0xb736('0x49')]['id']}})[_0xb736('0x26')](handleEntityNotFound(_0x269fc5,null))['then'](saveUpdates(_0x392a7b[_0xb736('0x4d')],null))[_0xb736('0x26')](respondWithResult(_0x269fc5,null))[_0xb736('0x47')](handleError(_0x269fc5,null));};exports['destroy']=function(_0x152b6e,_0xc832dc){return db[_0xb736('0x30')]['find']({'where':{'id':_0x152b6e[_0xb736('0x49')]['id']}})['then'](handleEntityNotFound(_0xc832dc,null))[_0xb736('0x26')](removeEntity(_0xc832dc,null))['catch'](handleError(_0xc832dc,null));};exports[_0xb736('0x55')]=function(_0x3aecf9,_0x31f5ef){return db['MailQueue'][_0xb736('0x55')]()[_0xb736('0x26')](respondWithResult(_0x31f5ef,null))[_0xb736('0x47')](handleError(_0x31f5ef,null));};exports['getMembers']=function(_0x1bf389,_0x40640c,_0x1a817c){var _0x36e386={'raw':!![],'where':{}},_0x14aa2a={},_0x508241;return db[_0xb736('0x30')][_0xb736('0x56')]({'where':{'id':_0x1bf389[_0xb736('0x49')]['id']}})[_0xb736('0x26')](handleEntityNotFound(_0x40640c,null))['then'](function(_0x52474a){if(_0x52474a){_0x508241=_0x52474a[_0xb736('0x4e')]({'plain':!![]});_0x14aa2a[_0xb736('0x33')]=_[_0xb736('0x35')](db[_0xb736('0x57')][_0xb736('0x4a')]);_0x14aa2a[_0xb736('0x34')]=_[_0xb736('0x35')](_0x1bf389[_0xb736('0x34')]);_0x14aa2a[_0xb736('0x36')]=_[_0xb736('0x37')](_0x14aa2a[_0xb736('0x33')],_0x14aa2a['query']);_0x36e386[_0xb736('0x38')]=_[_0xb736('0x37')](_0x14aa2a[_0xb736('0x33')],qs['fields'](_0x1bf389[_0xb736('0x34')]['fields']));_0x36e386[_0xb736('0x38')]=_0x36e386[_0xb736('0x38')][_0xb736('0x3a')]?_0x36e386[_0xb736('0x38')]:_0x14aa2a['model'];if(!_0x1bf389[_0xb736('0x34')][_0xb736('0x58')](_0xb736('0x59'))){_0x36e386[_0xb736('0x20')]=qs[_0xb736('0x20')](_0x1bf389['query'][_0xb736('0x20')]);_0x36e386[_0xb736('0x1e')]=qs['offset'](_0x1bf389['query'][_0xb736('0x1e')]);}_0x36e386[_0xb736('0x5a')]=qs[_0xb736('0x3b')](_0x1bf389['query'][_0xb736('0x3b')]);_0x36e386['where']=qs[_0xb736('0x36')](_[_0xb736('0x3d')](_0x1bf389[_0xb736('0x34')],_0x14aa2a[_0xb736('0x36')]));_0x36e386[_0xb736('0x3c')][_0xb736('0x5b')]=_0x52474a['id'];if(_0x1bf389[_0xb736('0x34')][_0xb736('0x3e')]){_0x36e386[_0xb736('0x3c')]=_[_0xb736('0x3f')](_0x36e386[_0xb736('0x3c')],{'$or':_[_0xb736('0x2f')](_0x36e386[_0xb736('0x38')],function(_0x4cb524){var _0x2de064={};_0x2de064[_0x4cb524]={'$like':'%'+_0x1bf389[_0xb736('0x34')][_0xb736('0x3e')]+'%'};return _0x2de064;})});}_0x36e386=_[_0xb736('0x3f')]({},_0x36e386,_0x1bf389[_0xb736('0x41')]);return db[_0xb736('0x57')]['findAll'](_0x36e386);}})['then'](function(_0x4a0e65){if(_0x4a0e65){return db['User']['findAndCountAll']({'where':{'id':_[_0xb736('0x2f')](_0x4a0e65,_0xb736('0x5c')),'role':_0xb736('0x5d')},'attributes':['id',_0xb736('0x2c'),_0xb736('0x5e'),_0xb736('0x5f'),_0xb736('0x60')]});}})[_0xb736('0x26')](function(_0x48f335){if(_0x48f335){return{'count':_0x48f335[_0xb736('0x42')],'rows':_['map'](_0x48f335['rows'],function(_0x10a9c8){return{'membername':_0x10a9c8['name'],'UserId':_0x10a9c8['id'],'queue_name':_0x508241[_0xb736('0x2c')],'MailQueueId':_0x508241['id'],'interface':util[_0xb736('0x61')](_0xb736('0x62'),_0xb736('0x63'),_0x10a9c8['name']),'penalty':0x0,'paused':_0x10a9c8[_0xb736('0x5e')],'createdAt':_0x10a9c8[_0xb736('0x60')],'updatedAt':_0x10a9c8['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x40640c,_0x36e386))['catch'](handleError(_0x40640c,null));};exports['getTeams']=function(_0x5eb164,_0x4e15a1,_0x36b376){var _0x7ce863={};var _0x381e2e={};var _0x44986a;var _0x34fb3b;return db['MailQueue'][_0xb736('0x56')]({'where':{'id':_0x5eb164[_0xb736('0x49')]['id']}})[_0xb736('0x26')](handleEntityNotFound(_0x4e15a1,null))[_0xb736('0x26')](function(_0x358bf5){if(_0x358bf5){_0x44986a=_0x358bf5;_0x381e2e['model']=_[_0xb736('0x35')](db[_0xb736('0x64')][_0xb736('0x4a')]);_0x381e2e[_0xb736('0x34')]=_[_0xb736('0x35')](_0x5eb164[_0xb736('0x34')]);_0x381e2e['filters']=_[_0xb736('0x37')](_0x381e2e[_0xb736('0x33')],_0x381e2e['query']);_0x7ce863[_0xb736('0x38')]=_['intersection'](_0x381e2e[_0xb736('0x33')],qs['fields'](_0x5eb164[_0xb736('0x34')][_0xb736('0x39')]));_0x7ce863[_0xb736('0x38')]=_0x7ce863[_0xb736('0x38')][_0xb736('0x3a')]?_0x7ce863[_0xb736('0x38')]:_0x381e2e['model'];_0x7ce863[_0xb736('0x5a')]=qs[_0xb736('0x3b')](_0x5eb164[_0xb736('0x34')][_0xb736('0x3b')]);_0x7ce863[_0xb736('0x3c')]=qs[_0xb736('0x36')](_[_0xb736('0x3d')](_0x5eb164['query'],_0x381e2e[_0xb736('0x36')]));if(_0x5eb164[_0xb736('0x34')][_0xb736('0x3e')]){_0x7ce863[_0xb736('0x3c')]=_[_0xb736('0x3f')](_0x7ce863[_0xb736('0x3c')],{'$or':_[_0xb736('0x2f')](_0x7ce863[_0xb736('0x38')],function(_0x25426d){var _0x4787ee={};_0x4787ee[_0x25426d]={'$like':'%'+_0x5eb164[_0xb736('0x34')]['filter']+'%'};return _0x4787ee;})});}_0x7ce863=_[_0xb736('0x3f')]({},_0x7ce863,_0x5eb164['options']);return _0x44986a[_0xb736('0x65')](_0x7ce863);}})[_0xb736('0x26')](function(_0x435b7c){if(_0x435b7c){_0x34fb3b=_0x435b7c['length'];if(!_0x5eb164[_0xb736('0x34')][_0xb736('0x58')](_0xb736('0x59'))){_0x7ce863['limit']=qs[_0xb736('0x20')](_0x5eb164[_0xb736('0x34')][_0xb736('0x20')]);_0x7ce863[_0xb736('0x1e')]=qs[_0xb736('0x1e')](_0x5eb164[_0xb736('0x34')]['offset']);}return _0x44986a['getTeams'](_0x7ce863);}})[_0xb736('0x26')](function(_0x1b3f87){if(_0x1b3f87){return _0x1b3f87?{'count':_0x34fb3b,'rows':_0x1b3f87}:null;}})[_0xb736('0x26')](respondWithResult(_0x4e15a1,null))[_0xb736('0x47')](handleError(_0x4e15a1,null));};exports[_0xb736('0x66')]=function(_0xaa639,_0x21e9d2,_0x187887){var _0x55e952=_0xaa639[_0xb736('0x4d')][_0xb736('0x67')];return db[_0xb736('0x64')][_0xb736('0x45')]({'where':{'id':_0x55e952},'attributes':['id'],'include':[{'model':db[_0xb736('0x68')],'as':'Agents','attributes':['id','name',_0xb736('0x69'),'voicePause',_0xb736('0x6a')],'raw':!![]}]})[_0xb736('0x26')](function(_0x728a25){if(_0x728a25){var _0x34bfe8=_['flatMap'](_0x728a25,function(_0x344d2b){var _0x8a31bc=_0x344d2b[_0xb736('0x4e')]({'plain':!![]});return _0x8a31bc['Agents'];});return db[_0xb736('0x30')][_0xb736('0x4b')]({'where':{'id':_0xaa639[_0xb736('0x49')]['id']}})['then'](function(_0x4c6e70){return db['sequelize'][_0xb736('0x6b')](function(_0x50f9f7){return _0x4c6e70[_0xb736('0x66')](_0x55e952,{'transaction':_0x50f9f7})['then'](function(){return BPromise[_0xb736('0x6c')](_0x34bfe8,function(_0x3c4083){return db[_0xb736('0x57')]['findOrCreate']({'where':{'UserId':_0x3c4083['id'],'MailQueueId':_0xaa639[_0xb736('0x49')]['id']},'transaction':_0x50f9f7});});})['then'](function(){_0x34bfe8[_0xb736('0x6d')](function(_0x5c325e){socket[_0xb736('0x6e')](_0xb736('0x6f'),{'UserId':_0x5c325e['id'],'MailQueueId':_0x4c6e70['id']});});});});});}})['then'](respondWithStatusCode(_0x21e9d2,null))['catch'](handleError(_0x21e9d2,null));};exports[_0xb736('0x70')]=function(_0xfca020,_0x43df33,_0x4ccc09){return db[_0xb736('0x64')][_0xb736('0x45')]({'where':{'id':_0xfca020[_0xb736('0x34')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':_0xb736('0x71'),'attributes':['id'],'raw':!![]}]})[_0xb736('0x26')](handleEntityNotFound(_0x43df33,null))[_0xb736('0x26')](function(_0x3fddf6){var _0x29038c=_['map'](_0x3fddf6,'id');var _0x1515b7=[];var _0xf138f6=[];var _0x48c7b5=squel[_0xb736('0x72')]();_0x48c7b5[_0xb736('0x73')](_0xb736('0x74'))[_0xb736('0x75')](_0xb736('0x76'),'tq')[_0xb736('0x77')](_0xb736('0x78'),'ut',_0xb736('0x79'))[_0xb736('0x3c')](_0xb736('0x7a'),_0xfca020[_0xb736('0x49')]['id']);for(var _0x48c0f8=0x0;_0x48c0f8<_0x3fddf6[_0xb736('0x3a')];_0x48c0f8+=0x1){let _0x464d03=_0x3fddf6[_0x48c0f8];for(var _0x2dcd92=0x0;_0x2dcd92<_0x464d03['Agents'][_0xb736('0x3a')];_0x2dcd92+=0x1){let _0x989742=_0x464d03[_0xb736('0x71')][_0x2dcd92];var _0x17f54a=_0x48c7b5[_0xb736('0x7b')]();_0x17f54a[_0xb736('0x3c')](_0xb736('0x7c'),_0x989742['id']);_0xf138f6['push'](db['sequelize']['query'](_0x17f54a['toString'](),{'type':db[_0xb736('0x7d')][_0xb736('0x7e')]['SELECT']})[_0xb736('0x26')](function(_0x1e269b){if(_0x1e269b['length']===0x1){return _0x989742['id'];}else{var _0x958ce5=_[_0xb736('0x7f')](_['map'](_0x1e269b,'TeamId'),function(_0x284b58){return _['includes'](_0x29038c,_0x284b58);});if(_0x958ce5){return _0x989742['id'];}}}));}}return BPromise['all'](_0xf138f6)[_0xb736('0x26')](function(_0xd5c527){_0x1515b7=_(_0x1515b7)[_0xb736('0x80')](_0xd5c527)['compact']()[_0xb736('0x81')]();return db[_0xb736('0x30')][_0xb736('0x4b')]({'where':{'id':_0xfca020['params']['id']}})['then'](function(_0x31b75b){return db[_0xb736('0x7d')]['transaction'](function(_0x5cb633){return _0x31b75b['removeTeams'](_0xfca020['query'][_0xb736('0x67')],{'transaction':_0x5cb633})[_0xb736('0x26')](function(){if(!_[_0xb736('0x82')](_0x1515b7)){return _0x31b75b[_0xb736('0x83')](_0x1515b7,{'transaction':_0x5cb633});}})[_0xb736('0x26')](function(){_0x1515b7[_0xb736('0x6d')](function(_0x3aa012){socket[_0xb736('0x6e')](_0xb736('0x84'),{'UserId':_0x3aa012,'MailQueueId':_0x31b75b['id']});});});});});});})[_0xb736('0x26')](respondWithStatusCode(_0x43df33,null))['catch'](handleError(_0x43df33,null));};exports[_0xb736('0x85')]=function(_0x2d16b3,_0x2bb522,_0xb7c45a){return db[_0xb736('0x30')]['find']({'where':{'id':_0x2d16b3['params']['id']}})[_0xb736('0x26')](handleEntityNotFound(_0x2bb522,null))[_0xb736('0x26')](function(_0x7ba16b){if(_0x7ba16b){return _0x7ba16b[_0xb736('0x85')](_0x2d16b3['body'][_0xb736('0x67')],_[_0xb736('0x86')](_0x2d16b3['body'],[_0xb736('0x67'),'id'])||{})[_0xb736('0x87')](function(_0xead7e8){for(var _0x2201fc=0x0;_0x2201fc<_0x2d16b3['body'][_0xb736('0x67')][_0xb736('0x3a')];_0x2201fc+=0x1){socket[_0xb736('0x6e')](_0xb736('0x6f'),{'UserId':Number(_0x2d16b3[_0xb736('0x4d')][_0xb736('0x67')][_0x2201fc]),'MailQueueId':Number(_0x2d16b3[_0xb736('0x49')]['id'])});}return _0xead7e8;});}})[_0xb736('0x26')](respondWithResult(_0x2bb522,null))['catch'](handleError(_0x2bb522,null));};exports[_0xb736('0x83')]=function(_0x58cd4e,_0x19c992,_0x17cbcd){return db[_0xb736('0x30')][_0xb736('0x4b')]({'where':{'id':_0x58cd4e['params']['id']}})['then'](handleEntityNotFound(_0x19c992,null))['then'](function(_0x66b835){if(_0x66b835){return _0x66b835['removeAgents'](_0x58cd4e[_0xb736('0x34')][_0xb736('0x67')])[_0xb736('0x26')](function(){if(_[_0xb736('0x88')](_0x58cd4e['query'][_0xb736('0x67')])){for(var _0x16f64f=0x0;_0x16f64f<_0x58cd4e['query'][_0xb736('0x67')][_0xb736('0x3a')];_0x16f64f+=0x1){socket[_0xb736('0x6e')]('userMailQueue:remove',{'UserId':Number(_0x58cd4e[_0xb736('0x34')][_0xb736('0x67')][_0x16f64f]),'MailQueueId':Number(_0x58cd4e[_0xb736('0x49')]['id'])});}}else{socket[_0xb736('0x6e')](_0xb736('0x84'),{'UserId':Number(_0x58cd4e[_0xb736('0x34')][_0xb736('0x67')]),'MailQueueId':Number(_0x58cd4e[_0xb736('0x49')]['id'])});}});}})[_0xb736('0x26')](respondWithStatusCode(_0x19c992,null))[_0xb736('0x47')](handleError(_0x19c992,null));};exports[_0xb736('0x89')]=function(_0x3bf2f0,_0x1158d8,_0x481263){var _0x56acb1={};var _0x49dbdb={};var _0x2ed05d;var _0xc9c2a4;return db[_0xb736('0x30')][_0xb736('0x56')]({'where':{'id':_0x3bf2f0[_0xb736('0x49')]['id']}})['then'](handleEntityNotFound(_0x1158d8,null))['then'](function(_0x3fac3a){if(_0x3fac3a){_0x2ed05d=_0x3fac3a;_0x49dbdb['model']=_[_0xb736('0x35')](db['User'][_0xb736('0x4a')]);_0x49dbdb['query']=_[_0xb736('0x35')](_0x3bf2f0['query']);_0x49dbdb[_0xb736('0x36')]=_[_0xb736('0x37')](_0x49dbdb[_0xb736('0x33')],_0x49dbdb[_0xb736('0x34')]);_0x56acb1[_0xb736('0x38')]=_[_0xb736('0x37')](_0x49dbdb[_0xb736('0x33')],qs['fields'](_0x3bf2f0[_0xb736('0x34')][_0xb736('0x39')]));_0x56acb1[_0xb736('0x38')]=_0x56acb1[_0xb736('0x38')]['length']?_0x56acb1[_0xb736('0x38')]:_0x49dbdb['model'];_0x56acb1['order']=qs['sort'](_0x3bf2f0['query'][_0xb736('0x3b')]);_0x56acb1[_0xb736('0x3c')]=qs[_0xb736('0x36')](_[_0xb736('0x3d')](_0x3bf2f0[_0xb736('0x34')],_0x49dbdb[_0xb736('0x36')]));if(_0x3bf2f0[_0xb736('0x34')][_0xb736('0x3e')]){_0x56acb1['where']=_['merge'](_0x56acb1[_0xb736('0x3c')],{'$or':_[_0xb736('0x2f')](_0x56acb1[_0xb736('0x38')],function(_0x260a8d){var _0x2605ed={};_0x2605ed[_0x260a8d]={'$like':'%'+_0x3bf2f0[_0xb736('0x34')][_0xb736('0x3e')]+'%'};return _0x2605ed;})});}_0x56acb1=_[_0xb736('0x3f')]({},_0x56acb1,_0x3bf2f0[_0xb736('0x41')]);return _0x2ed05d[_0xb736('0x89')](_0x56acb1);}})['then'](function(_0x567d8e){if(_0x567d8e){_0xc9c2a4=_0x567d8e['length'];if(!_0x3bf2f0[_0xb736('0x34')]['hasOwnProperty'](_0xb736('0x59'))){_0x56acb1['limit']=qs[_0xb736('0x20')](_0x3bf2f0[_0xb736('0x34')][_0xb736('0x20')]);_0x56acb1['offset']=qs[_0xb736('0x1e')](_0x3bf2f0[_0xb736('0x34')]['offset']);}return _0x2ed05d['getAgents'](_0x56acb1);}})[_0xb736('0x26')](function(_0x568174){if(_0x568174){return _0x568174?{'count':_0xc9c2a4,'rows':_0x568174}:null;}})['then'](respondWithResult(_0x1158d8,null))[_0xb736('0x47')](handleError(_0x1158d8,null));};