103d6d99118c90e1e9c4036fc2e018493e564b9c
[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 _0x0712=['length','includeAll','merge','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','findOne','UserMailQueue','rawAttributes','MailQueueId','User','findAndCountAll','mailPause','createdAt','%s/%s','Team','getTeams','addTeams','ids','Agents','online','interface','flatMap','sequelize','each','forEach','userMailQueue:save','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','every','all','union','compact','value','transaction','removeAgents','userMailQueue:remove','addAgents','spread','emit','isArray','getAgents','zip-dir','fast-json-patch','moment','mustache','util','path','ejs','fs-extra','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./mailQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','update','then','get','MailQueues','destroy','error','stack','name','send','index','map','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','options','MailQueue','include','findAll','rows','params'];(function(_0x220f3f,_0x11c540){var _0x1f170e=function(_0x2c0ec9){while(--_0x2c0ec9){_0x220f3f['push'](_0x220f3f['shift']());}};_0x1f170e(++_0x11c540);}(_0x0712,0x147));var _0x2071=function(_0x2e97e4,_0x4d6ea6){_0x2e97e4=_0x2e97e4-0x0;var _0x4e3f57=_0x0712[_0x2e97e4];return _0x4e3f57;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x2071('0x0'));var jsonpatch=require(_0x2071('0x1'));var rp=require('request-promise');var moment=require(_0x2071('0x2'));var BPromise=require('bluebird');var Mustache=require(_0x2071('0x3'));var util=require(_0x2071('0x4'));var path=require(_0x2071('0x5'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x2071('0x6'));var fs=require('fs');var fs_extra=require(_0x2071('0x7'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x2071('0x8'));var jsforce=require(_0x2071('0x9'));var deskjs=require(_0x2071('0xa'));var toCsv=require(_0x2071('0xb'));var querystring=require(_0x2071('0xc'));var Papa=require(_0x2071('0xd'));var Redis=require(_0x2071('0xe'));var authService=require(_0x2071('0xf'));var qs=require(_0x2071('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x2071('0x11'));var logger=require(_0x2071('0x12'))(_0x2071('0x13'));var utils=require(_0x2071('0x14'));var config=require(_0x2071('0x15'));var licenseUtil=require(_0x2071('0x16'));var db=require(_0x2071('0x17'))['db'];config[_0x2071('0x18')]=_[_0x2071('0x19')](config[_0x2071('0x18')],{'host':_0x2071('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x2071('0x18')]));require(_0x2071('0x1b'))[_0x2071('0x1c')](socket);function respondWithStatusCode(_0x542256,_0x7947de){_0x7947de=_0x7947de||0xcc;return function(_0x3ce56e){if(_0x3ce56e){return _0x542256[_0x2071('0x1d')](_0x7947de);}return _0x542256[_0x2071('0x1e')](_0x7947de)[_0x2071('0x1f')]();};}function respondWithResult(_0x13d1be,_0x442101){_0x442101=_0x442101||0xc8;return function(_0x310162){if(_0x310162){return _0x13d1be['status'](_0x442101)[_0x2071('0x20')](_0x310162);}};}function respondWithFilteredResult(_0x1c7753,_0x10ea95){return function(_0x25cf33){if(_0x25cf33){var _0x29a5fa=typeof _0x10ea95[_0x2071('0x21')]===_0x2071('0x22')&&typeof _0x10ea95[_0x2071('0x23')]===_0x2071('0x22');var _0x478c7b=_0x25cf33[_0x2071('0x24')];var _0x3ad0df=_0x29a5fa?0x0:_0x10ea95[_0x2071('0x21')];var _0xcb0897=_0x29a5fa?_0x25cf33[_0x2071('0x24')]:_0x10ea95['offset']+_0x10ea95[_0x2071('0x23')];var _0x737676;if(_0xcb0897>=_0x478c7b){_0xcb0897=_0x478c7b;_0x737676=0xc8;}else{_0x737676=0xce;}_0x1c7753['status'](_0x737676);return _0x1c7753['set']('Content-Range',_0x3ad0df+'-'+_0xcb0897+'/'+_0x478c7b)['json'](_0x25cf33);}return null;};}function patchUpdates(_0x590de6){return function(_0x464d18){try{jsonpatch['apply'](_0x464d18,_0x590de6,!![]);}catch(_0x3faec5){return BPromise['reject'](_0x3faec5);}return _0x464d18['save']();};}function saveUpdates(_0x87b0e1,_0x11be41){return function(_0x388eff){if(_0x388eff){return _0x388eff[_0x2071('0x25')](_0x87b0e1)[_0x2071('0x26')](function(_0x46f742){return _0x46f742;});}return null;};}function removeEntity(_0x1c92f7,_0x3c092e){return function(_0x483314){if(_0x483314){return _0x483314['destroy']()[_0x2071('0x26')](function(){var _0x505c63=_0x483314[_0x2071('0x27')]({'plain':!![]});var _0x4f64a1=_0x2071('0x28');return db['UserProfileResource'][_0x2071('0x29')]({'where':{'type':_0x4f64a1,'resourceId':_0x505c63['id']}})[_0x2071('0x26')](function(){return _0x483314;});})['then'](function(){_0x1c92f7[_0x2071('0x1e')](0xcc)[_0x2071('0x1f')]();});}};}function handleEntityNotFound(_0x3753af,_0x3ba100){return function(_0x171f88){if(!_0x171f88){_0x3753af[_0x2071('0x1d')](0x194);}return _0x171f88;};}function handleError(_0x31a36b,_0x224d91){_0x224d91=_0x224d91||0x1f4;return function(_0x5e38c1){logger[_0x2071('0x2a')](_0x5e38c1[_0x2071('0x2b')]);if(_0x5e38c1[_0x2071('0x2c')]){delete _0x5e38c1[_0x2071('0x2c')];}_0x31a36b[_0x2071('0x1e')](_0x224d91)[_0x2071('0x2d')](_0x5e38c1);};}exports[_0x2071('0x2e')]=function(_0x33ca99,_0x4bf616){var _0x54aa57={},_0x53f3bf={},_0x4576b7={'count':0x0,'rows':[]};var _0x2d24d5=_[_0x2071('0x2f')](db['MailQueue']['rawAttributes'],function(_0x327d03){return{'name':_0x327d03[_0x2071('0x30')],'type':_0x327d03[_0x2071('0x31')][_0x2071('0x32')]};});_0x53f3bf[_0x2071('0x33')]=_['map'](_0x2d24d5,_0x2071('0x2c'));_0x53f3bf[_0x2071('0x34')]=_[_0x2071('0x35')](_0x33ca99['query']);_0x53f3bf[_0x2071('0x36')]=_[_0x2071('0x37')](_0x53f3bf['model'],_0x53f3bf[_0x2071('0x34')]);_0x54aa57[_0x2071('0x38')]=_[_0x2071('0x37')](_0x53f3bf[_0x2071('0x33')],qs[_0x2071('0x39')](_0x33ca99['query'][_0x2071('0x39')]));_0x54aa57[_0x2071('0x38')]=_0x54aa57[_0x2071('0x38')]['length']?_0x54aa57[_0x2071('0x38')]:_0x53f3bf[_0x2071('0x33')];if(!_0x33ca99[_0x2071('0x34')][_0x2071('0x3a')](_0x2071('0x3b'))){_0x54aa57[_0x2071('0x23')]=qs[_0x2071('0x23')](_0x33ca99[_0x2071('0x34')]['limit']);_0x54aa57[_0x2071('0x21')]=qs[_0x2071('0x21')](_0x33ca99[_0x2071('0x34')][_0x2071('0x21')]);}_0x54aa57[_0x2071('0x3c')]=qs[_0x2071('0x3d')](_0x33ca99[_0x2071('0x34')][_0x2071('0x3d')]);_0x54aa57[_0x2071('0x3e')]=qs[_0x2071('0x36')](_[_0x2071('0x3f')](_0x33ca99[_0x2071('0x34')],_0x53f3bf[_0x2071('0x36')]),_0x2d24d5);if(_0x33ca99[_0x2071('0x34')][_0x2071('0x40')]){_0x54aa57[_0x2071('0x3e')]=_['merge'](_0x54aa57[_0x2071('0x3e')],{'$or':_[_0x2071('0x2f')](_0x2d24d5,function(_0x2be1d0){if(_0x2be1d0[_0x2071('0x31')]!==_0x2071('0x41')){var _0x36f597={};_0x36f597[_0x2be1d0[_0x2071('0x2c')]]={'$like':'%'+_0x33ca99['query']['filter']+'%'};return _0x36f597;}})});}_0x54aa57=_['merge']({},_0x54aa57,_0x33ca99[_0x2071('0x42')]);var _0x22c072={'where':_0x54aa57['where']};return db[_0x2071('0x43')][_0x2071('0x24')](_0x22c072)[_0x2071('0x26')](function(_0x4269ca){_0x4576b7[_0x2071('0x24')]=_0x4269ca;if(_0x33ca99['query']['includeAll']){_0x54aa57[_0x2071('0x44')]=[{'all':!![]}];}return db[_0x2071('0x43')][_0x2071('0x45')](_0x54aa57);})[_0x2071('0x26')](function(_0xe40679){_0x4576b7[_0x2071('0x46')]=_0xe40679;return _0x4576b7;})[_0x2071('0x26')](respondWithFilteredResult(_0x4bf616,_0x54aa57))['catch'](handleError(_0x4bf616,null));};exports['show']=function(_0x39f01c,_0x3d3882){var _0x45dae1={'raw':!![],'where':{'id':_0x39f01c[_0x2071('0x47')]['id']}},_0x346edb={};_0x346edb[_0x2071('0x33')]=_['keys'](db[_0x2071('0x43')]['rawAttributes']);_0x346edb['query']=_[_0x2071('0x35')](_0x39f01c[_0x2071('0x34')]);_0x346edb[_0x2071('0x36')]=_[_0x2071('0x37')](_0x346edb[_0x2071('0x33')],_0x346edb[_0x2071('0x34')]);_0x45dae1[_0x2071('0x38')]=_[_0x2071('0x37')](_0x346edb['model'],qs[_0x2071('0x39')](_0x39f01c[_0x2071('0x34')][_0x2071('0x39')]));_0x45dae1[_0x2071('0x38')]=_0x45dae1['attributes'][_0x2071('0x48')]?_0x45dae1[_0x2071('0x38')]:_0x346edb['model'];if(_0x39f01c[_0x2071('0x34')][_0x2071('0x49')]){_0x45dae1['include']=[{'all':!![]}];}_0x45dae1=_[_0x2071('0x4a')]({},_0x45dae1,_0x39f01c['options']);return db[_0x2071('0x43')][_0x2071('0x4b')](_0x45dae1)[_0x2071('0x26')](handleEntityNotFound(_0x3d3882,null))[_0x2071('0x26')](respondWithResult(_0x3d3882,null))[_0x2071('0x4c')](handleError(_0x3d3882,null));};exports[_0x2071('0x4d')]=function(_0x4a2e55,_0x4c190a){return db[_0x2071('0x43')][_0x2071('0x4d')](_0x4a2e55['body'],{})[_0x2071('0x26')](function(_0x8563a7){var _0x3cfc9d=_0x4a2e55[_0x2071('0x4e')][_0x2071('0x27')]({'plain':!![]});if(!_0x3cfc9d)throw new Error(_0x2071('0x4f'));if(_0x3cfc9d[_0x2071('0x50')]==='user'){var _0xb02a8d=_0x8563a7['get']({'plain':!![]});var _0x3339a6=_0x2071('0x28');return db[_0x2071('0x51')][_0x2071('0x4b')]({'where':{'name':_0x3339a6,'userProfileId':_0x3cfc9d[_0x2071('0x52')]},'raw':!![]})[_0x2071('0x26')](function(_0xed29e){if(_0xed29e&&_0xed29e[_0x2071('0x53')]===0x0){return db['UserProfileResource'][_0x2071('0x4d')]({'name':_0xb02a8d[_0x2071('0x2c')],'resourceId':_0xb02a8d['id'],'type':_0xed29e[_0x2071('0x2c')],'sectionId':_0xed29e['id']},{})['then'](function(){return _0x8563a7;});}else{return _0x8563a7;}})['catch'](function(_0x35af90){logger[_0x2071('0x2a')](_0x2071('0x54'),_0x35af90);throw _0x35af90;});}return _0x8563a7;})[_0x2071('0x26')](respondWithResult(_0x4c190a,0xc9))['catch'](handleError(_0x4c190a,null));};exports[_0x2071('0x25')]=function(_0x54b512,_0x5d3a69){if(_0x54b512[_0x2071('0x55')]['id']){delete _0x54b512[_0x2071('0x55')]['id'];}return db[_0x2071('0x43')]['find']({'where':{'id':_0x54b512[_0x2071('0x47')]['id']}})[_0x2071('0x26')](handleEntityNotFound(_0x5d3a69,null))[_0x2071('0x26')](saveUpdates(_0x54b512[_0x2071('0x55')],null))[_0x2071('0x26')](respondWithResult(_0x5d3a69,null))[_0x2071('0x4c')](handleError(_0x5d3a69,null));};exports[_0x2071('0x29')]=function(_0x463780,_0x26fa01){return db[_0x2071('0x43')][_0x2071('0x4b')]({'where':{'id':_0x463780['params']['id']}})[_0x2071('0x26')](handleEntityNotFound(_0x26fa01,null))['then'](removeEntity(_0x26fa01,null))[_0x2071('0x4c')](handleError(_0x26fa01,null));};exports[_0x2071('0x56')]=function(_0xf23c1c,_0x5d45bc){return db[_0x2071('0x43')]['describe']()['then'](respondWithResult(_0x5d45bc,null))['catch'](handleError(_0x5d45bc,null));};exports['getMembers']=function(_0x3819a9,_0x2b2715,_0x3830fc){var _0x5d94b7={'raw':!![],'where':{}},_0x3b4d81={},_0x78479;return db[_0x2071('0x43')][_0x2071('0x57')]({'where':{'id':_0x3819a9['params']['id']}})[_0x2071('0x26')](handleEntityNotFound(_0x2b2715,null))[_0x2071('0x26')](function(_0x1968a7){if(_0x1968a7){_0x78479=_0x1968a7[_0x2071('0x27')]({'plain':!![]});_0x3b4d81[_0x2071('0x33')]=_[_0x2071('0x35')](db[_0x2071('0x58')][_0x2071('0x59')]);_0x3b4d81[_0x2071('0x34')]=_[_0x2071('0x35')](_0x3819a9['query']);_0x3b4d81['filters']=_[_0x2071('0x37')](_0x3b4d81['model'],_0x3b4d81['query']);_0x5d94b7[_0x2071('0x38')]=_[_0x2071('0x37')](_0x3b4d81[_0x2071('0x33')],qs[_0x2071('0x39')](_0x3819a9[_0x2071('0x34')][_0x2071('0x39')]));_0x5d94b7['attributes']=_0x5d94b7[_0x2071('0x38')]['length']?_0x5d94b7[_0x2071('0x38')]:_0x3b4d81[_0x2071('0x33')];if(!_0x3819a9[_0x2071('0x34')][_0x2071('0x3a')]('nolimit')){_0x5d94b7['limit']=qs['limit'](_0x3819a9[_0x2071('0x34')][_0x2071('0x23')]);_0x5d94b7[_0x2071('0x21')]=qs[_0x2071('0x21')](_0x3819a9['query']['offset']);}_0x5d94b7[_0x2071('0x3c')]=qs[_0x2071('0x3d')](_0x3819a9[_0x2071('0x34')][_0x2071('0x3d')]);_0x5d94b7[_0x2071('0x3e')]=qs['filters'](_[_0x2071('0x3f')](_0x3819a9[_0x2071('0x34')],_0x3b4d81[_0x2071('0x36')]));_0x5d94b7['where'][_0x2071('0x5a')]=_0x1968a7['id'];if(_0x3819a9[_0x2071('0x34')][_0x2071('0x40')]){_0x5d94b7['where']=_[_0x2071('0x4a')](_0x5d94b7['where'],{'$or':_['map'](_0x5d94b7[_0x2071('0x38')],function(_0x2a6aac){var _0x305146={};_0x305146[_0x2a6aac]={'$like':'%'+_0x3819a9[_0x2071('0x34')][_0x2071('0x40')]+'%'};return _0x305146;})});}_0x5d94b7=_['merge']({},_0x5d94b7,_0x3819a9[_0x2071('0x42')]);return db[_0x2071('0x58')][_0x2071('0x45')](_0x5d94b7);}})[_0x2071('0x26')](function(_0x1811cd){if(_0x1811cd){return db[_0x2071('0x5b')][_0x2071('0x5c')]({'where':{'id':_[_0x2071('0x2f')](_0x1811cd,'UserId'),'role':'agent'},'attributes':['id','name',_0x2071('0x5d'),'updatedAt',_0x2071('0x5e')]});}})['then'](function(_0x459a5b){if(_0x459a5b){return{'count':_0x459a5b[_0x2071('0x24')],'rows':_[_0x2071('0x2f')](_0x459a5b[_0x2071('0x46')],function(_0x18a47b){return{'membername':_0x18a47b[_0x2071('0x2c')],'UserId':_0x18a47b['id'],'queue_name':_0x78479[_0x2071('0x2c')],'MailQueueId':_0x78479['id'],'interface':util['format'](_0x2071('0x5f'),'SIP',_0x18a47b['name']),'penalty':0x0,'paused':_0x18a47b[_0x2071('0x5d')],'createdAt':_0x18a47b['createdAt'],'updatedAt':_0x18a47b['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x2071('0x26')](respondWithFilteredResult(_0x2b2715,_0x5d94b7))[_0x2071('0x4c')](handleError(_0x2b2715,null));};exports['getTeams']=function(_0x5098a5,_0x50a8c1,_0x4020f0){var _0x6c10f1={};var _0x255af9={};var _0x191e21;var _0x536b81;return db[_0x2071('0x43')][_0x2071('0x57')]({'where':{'id':_0x5098a5[_0x2071('0x47')]['id']}})[_0x2071('0x26')](handleEntityNotFound(_0x50a8c1,null))[_0x2071('0x26')](function(_0x33b880){if(_0x33b880){_0x191e21=_0x33b880;_0x255af9[_0x2071('0x33')]=_[_0x2071('0x35')](db[_0x2071('0x60')][_0x2071('0x59')]);_0x255af9[_0x2071('0x34')]=_[_0x2071('0x35')](_0x5098a5[_0x2071('0x34')]);_0x255af9[_0x2071('0x36')]=_[_0x2071('0x37')](_0x255af9[_0x2071('0x33')],_0x255af9[_0x2071('0x34')]);_0x6c10f1[_0x2071('0x38')]=_[_0x2071('0x37')](_0x255af9[_0x2071('0x33')],qs['fields'](_0x5098a5[_0x2071('0x34')]['fields']));_0x6c10f1['attributes']=_0x6c10f1['attributes']['length']?_0x6c10f1[_0x2071('0x38')]:_0x255af9[_0x2071('0x33')];_0x6c10f1[_0x2071('0x3c')]=qs[_0x2071('0x3d')](_0x5098a5[_0x2071('0x34')]['sort']);_0x6c10f1[_0x2071('0x3e')]=qs['filters'](_['pick'](_0x5098a5['query'],_0x255af9[_0x2071('0x36')]));if(_0x5098a5[_0x2071('0x34')][_0x2071('0x40')]){_0x6c10f1[_0x2071('0x3e')]=_['merge'](_0x6c10f1[_0x2071('0x3e')],{'$or':_['map'](_0x6c10f1[_0x2071('0x38')],function(_0x3d986f){var _0x3b5148={};_0x3b5148[_0x3d986f]={'$like':'%'+_0x5098a5[_0x2071('0x34')][_0x2071('0x40')]+'%'};return _0x3b5148;})});}_0x6c10f1=_[_0x2071('0x4a')]({},_0x6c10f1,_0x5098a5['options']);return _0x191e21[_0x2071('0x61')](_0x6c10f1);}})[_0x2071('0x26')](function(_0x29468d){if(_0x29468d){_0x536b81=_0x29468d[_0x2071('0x48')];if(!_0x5098a5[_0x2071('0x34')][_0x2071('0x3a')]('nolimit')){_0x6c10f1['limit']=qs['limit'](_0x5098a5[_0x2071('0x34')][_0x2071('0x23')]);_0x6c10f1[_0x2071('0x21')]=qs[_0x2071('0x21')](_0x5098a5['query'][_0x2071('0x21')]);}return _0x191e21[_0x2071('0x61')](_0x6c10f1);}})[_0x2071('0x26')](function(_0x297ccc){if(_0x297ccc){return _0x297ccc?{'count':_0x536b81,'rows':_0x297ccc}:null;}})[_0x2071('0x26')](respondWithResult(_0x50a8c1,null))[_0x2071('0x4c')](handleError(_0x50a8c1,null));};exports[_0x2071('0x62')]=function(_0x3fe0e0,_0xc5cf3,_0x595819){var _0x5a0525=_0x3fe0e0[_0x2071('0x55')][_0x2071('0x63')];return db[_0x2071('0x60')][_0x2071('0x45')]({'where':{'id':_0x5a0525},'attributes':['id'],'include':[{'model':db[_0x2071('0x5b')],'as':_0x2071('0x64'),'attributes':['id',_0x2071('0x2c'),_0x2071('0x65'),'voicePause',_0x2071('0x66')],'raw':!![]}]})[_0x2071('0x26')](function(_0x43cf57){if(_0x43cf57){var _0x1e61b1=_[_0x2071('0x67')](_0x43cf57,function(_0x38416b){var _0x3dc097=_0x38416b[_0x2071('0x27')]({'plain':!![]});return _0x3dc097['Agents'];});return db[_0x2071('0x43')][_0x2071('0x4b')]({'where':{'id':_0x3fe0e0[_0x2071('0x47')]['id']}})[_0x2071('0x26')](function(_0x497250){return db[_0x2071('0x68')]['transaction'](function(_0x290171){return _0x497250['addTeams'](_0x5a0525,{'transaction':_0x290171})[_0x2071('0x26')](function(){return BPromise[_0x2071('0x69')](_0x1e61b1,function(_0xbd1c4d){return db[_0x2071('0x58')]['findOrCreate']({'where':{'UserId':_0xbd1c4d['id'],'MailQueueId':_0x3fe0e0[_0x2071('0x47')]['id']},'transaction':_0x290171});});})[_0x2071('0x26')](function(){_0x1e61b1[_0x2071('0x6a')](function(_0x272b37){socket['emit'](_0x2071('0x6b'),{'UserId':_0x272b37['id'],'MailQueueId':_0x497250['id']});});});});});}})[_0x2071('0x26')](respondWithStatusCode(_0xc5cf3,null))[_0x2071('0x4c')](handleError(_0xc5cf3,null));};exports[_0x2071('0x6c')]=function(_0x580cbc,_0x8ccb0,_0x24adc2){return db['Team'][_0x2071('0x45')]({'where':{'id':_0x580cbc[_0x2071('0x34')][_0x2071('0x63')]},'attributes':['id'],'include':[{'model':db[_0x2071('0x5b')],'as':_0x2071('0x64'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x8ccb0,null))[_0x2071('0x26')](function(_0x50e925){var _0x500f22=_[_0x2071('0x2f')](_0x50e925,'id');var _0x194ebe=[];var _0x5dd645=[];var _0x3f6acb=squel[_0x2071('0x6d')]();_0x3f6acb[_0x2071('0x6e')](_0x2071('0x6f'))[_0x2071('0x70')]('team_has_mail_queues','tq')[_0x2071('0x71')](_0x2071('0x72'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x2071('0x3e')](_0x2071('0x73'),_0x580cbc['params']['id']);for(var _0x44606a=0x0;_0x44606a<_0x50e925[_0x2071('0x48')];_0x44606a+=0x1){let _0x530380=_0x50e925[_0x44606a];for(var _0x1eb30b=0x0;_0x1eb30b<_0x530380[_0x2071('0x64')][_0x2071('0x48')];_0x1eb30b+=0x1){let _0x4d59be=_0x530380[_0x2071('0x64')][_0x1eb30b];var _0x28cbbe=_0x3f6acb['clone']();_0x28cbbe[_0x2071('0x3e')](_0x2071('0x74'),_0x4d59be['id']);_0x5dd645[_0x2071('0x75')](db[_0x2071('0x68')][_0x2071('0x34')](_0x28cbbe[_0x2071('0x76')](),{'type':db[_0x2071('0x68')][_0x2071('0x77')]['SELECT']})['then'](function(_0x3d7469){if(_0x3d7469[_0x2071('0x48')]===0x1){return _0x4d59be['id'];}else{var _0x37f041=_[_0x2071('0x78')](_[_0x2071('0x2f')](_0x3d7469,'TeamId'),function(_0x55187a){return _['includes'](_0x500f22,_0x55187a);});if(_0x37f041){return _0x4d59be['id'];}}}));}}return BPromise[_0x2071('0x79')](_0x5dd645)[_0x2071('0x26')](function(_0x3adccf){_0x194ebe=_(_0x194ebe)[_0x2071('0x7a')](_0x3adccf)[_0x2071('0x7b')]()[_0x2071('0x7c')]();return db[_0x2071('0x43')][_0x2071('0x4b')]({'where':{'id':_0x580cbc['params']['id']}})[_0x2071('0x26')](function(_0x602e87){return db[_0x2071('0x68')][_0x2071('0x7d')](function(_0x503405){return _0x602e87['removeTeams'](_0x580cbc[_0x2071('0x34')][_0x2071('0x63')],{'transaction':_0x503405})[_0x2071('0x26')](function(){if(!_['isEmpty'](_0x194ebe)){return _0x602e87[_0x2071('0x7e')](_0x194ebe,{'transaction':_0x503405});}})[_0x2071('0x26')](function(){_0x194ebe[_0x2071('0x6a')](function(_0x29ecda){socket['emit'](_0x2071('0x7f'),{'UserId':_0x29ecda,'MailQueueId':_0x602e87['id']});});});});});});})[_0x2071('0x26')](respondWithStatusCode(_0x8ccb0,null))[_0x2071('0x4c')](handleError(_0x8ccb0,null));};exports['addAgents']=function(_0x449c1e,_0x4d2dd6,_0x162c06){return db[_0x2071('0x43')][_0x2071('0x4b')]({'where':{'id':_0x449c1e[_0x2071('0x47')]['id']}})[_0x2071('0x26')](handleEntityNotFound(_0x4d2dd6,null))[_0x2071('0x26')](function(_0x2cd763){if(_0x2cd763){return _0x2cd763[_0x2071('0x80')](_0x449c1e[_0x2071('0x55')][_0x2071('0x63')],_['omit'](_0x449c1e[_0x2071('0x55')],[_0x2071('0x63'),'id'])||{})[_0x2071('0x81')](function(_0x5298c0){for(var _0x57e024=0x0;_0x57e024<_0x449c1e['body'][_0x2071('0x63')]['length'];_0x57e024+=0x1){socket[_0x2071('0x82')]('userMailQueue:save',{'UserId':Number(_0x449c1e[_0x2071('0x55')][_0x2071('0x63')][_0x57e024]),'MailQueueId':Number(_0x449c1e['params']['id'])});}return _0x5298c0;});}})[_0x2071('0x26')](respondWithResult(_0x4d2dd6,null))[_0x2071('0x4c')](handleError(_0x4d2dd6,null));};exports['removeAgents']=function(_0x108343,_0x58239e,_0x5fcce1){return db[_0x2071('0x43')][_0x2071('0x4b')]({'where':{'id':_0x108343[_0x2071('0x47')]['id']}})['then'](handleEntityNotFound(_0x58239e,null))[_0x2071('0x26')](function(_0x24eebd){if(_0x24eebd){return _0x24eebd[_0x2071('0x7e')](_0x108343[_0x2071('0x34')][_0x2071('0x63')])[_0x2071('0x26')](function(){if(_[_0x2071('0x83')](_0x108343[_0x2071('0x34')][_0x2071('0x63')])){for(var _0x245035=0x0;_0x245035<_0x108343[_0x2071('0x34')]['ids'][_0x2071('0x48')];_0x245035+=0x1){socket[_0x2071('0x82')]('userMailQueue:remove',{'UserId':Number(_0x108343['query'][_0x2071('0x63')][_0x245035]),'MailQueueId':Number(_0x108343['params']['id'])});}}else{socket[_0x2071('0x82')](_0x2071('0x7f'),{'UserId':Number(_0x108343['query'][_0x2071('0x63')]),'MailQueueId':Number(_0x108343['params']['id'])});}});}})[_0x2071('0x26')](respondWithStatusCode(_0x58239e,null))[_0x2071('0x4c')](handleError(_0x58239e,null));};exports[_0x2071('0x84')]=function(_0x24f593,_0x11fd6e,_0x33fb22){var _0x642724={};var _0x357e78={};var _0x2d48fc;var _0x22112c;return db[_0x2071('0x43')][_0x2071('0x57')]({'where':{'id':_0x24f593[_0x2071('0x47')]['id']}})[_0x2071('0x26')](handleEntityNotFound(_0x11fd6e,null))[_0x2071('0x26')](function(_0x25dabc){if(_0x25dabc){_0x2d48fc=_0x25dabc;_0x357e78['model']=_['keys'](db[_0x2071('0x5b')][_0x2071('0x59')]);_0x357e78[_0x2071('0x34')]=_['keys'](_0x24f593[_0x2071('0x34')]);_0x357e78[_0x2071('0x36')]=_[_0x2071('0x37')](_0x357e78['model'],_0x357e78[_0x2071('0x34')]);_0x642724[_0x2071('0x38')]=_[_0x2071('0x37')](_0x357e78[_0x2071('0x33')],qs[_0x2071('0x39')](_0x24f593[_0x2071('0x34')][_0x2071('0x39')]));_0x642724[_0x2071('0x38')]=_0x642724[_0x2071('0x38')]['length']?_0x642724[_0x2071('0x38')]:_0x357e78['model'];_0x642724[_0x2071('0x3c')]=qs[_0x2071('0x3d')](_0x24f593[_0x2071('0x34')]['sort']);_0x642724[_0x2071('0x3e')]=qs[_0x2071('0x36')](_[_0x2071('0x3f')](_0x24f593[_0x2071('0x34')],_0x357e78['filters']));if(_0x24f593[_0x2071('0x34')][_0x2071('0x40')]){_0x642724['where']=_[_0x2071('0x4a')](_0x642724['where'],{'$or':_[_0x2071('0x2f')](_0x642724[_0x2071('0x38')],function(_0x4fafb1){var _0x167478={};_0x167478[_0x4fafb1]={'$like':'%'+_0x24f593[_0x2071('0x34')][_0x2071('0x40')]+'%'};return _0x167478;})});}_0x642724=_[_0x2071('0x4a')]({},_0x642724,_0x24f593[_0x2071('0x42')]);return _0x2d48fc[_0x2071('0x84')](_0x642724);}})['then'](function(_0xe428e1){if(_0xe428e1){_0x22112c=_0xe428e1[_0x2071('0x48')];if(!_0x24f593['query'][_0x2071('0x3a')](_0x2071('0x3b'))){_0x642724[_0x2071('0x23')]=qs['limit'](_0x24f593[_0x2071('0x34')]['limit']);_0x642724[_0x2071('0x21')]=qs['offset'](_0x24f593[_0x2071('0x34')][_0x2071('0x21')]);}return _0x2d48fc['getAgents'](_0x642724);}})[_0x2071('0x26')](function(_0x2b30fa){if(_0x2b30fa){return _0x2b30fa?{'count':_0x22112c,'rows':_0x2b30fa}:null;}})[_0x2071('0x26')](respondWithResult(_0x11fd6e,null))[_0x2071('0x4c')](handleError(_0x11fd6e,null));};