f7ff9a07047ef2df101aa48ccb7a952ebe90c19f
[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 _0x2d5d=['MailQueue','rawAttributes','fieldName','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','VIRTUAL','filter','options','include','findAll','catch','show','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','destroy','describe','getMembers','findOne','UserMailQueue','pick','User','findAndCountAll','UserId','agent','mailPause','createdAt','rows','format','%s/%s','SIP','updatedAt','Team','getTeams','addTeams','ids','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','findOrCreate','emit','userMailQueue:save','removeTeams','select','field','tq.TeamId','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','push','toString','QueryTypes','every','all','union','compact','value','isEmpty','userMailQueue:remove','addAgents','spread','removeAgents','isArray','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','papaparse','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','get','MailQueues','UserProfileResource','error','name','send','map'];(function(_0x36a5d8,_0x14ef3f){var _0x1d5dd1=function(_0x4f2017){while(--_0x4f2017){_0x36a5d8['push'](_0x36a5d8['shift']());}};_0x1d5dd1(++_0x14ef3f);}(_0x2d5d,0xe9));var _0xd2d5=function(_0xc2cc2c,_0x38777b){_0xc2cc2c=_0xc2cc2c-0x0;var _0x1e0350=_0x2d5d[_0xc2cc2c];return _0x1e0350;};'use strict';var pdf=require(_0xd2d5('0x0'));var emlformat=require(_0xd2d5('0x1'));var rimraf=require(_0xd2d5('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd2d5('0x3'));var rp=require(_0xd2d5('0x4'));var moment=require(_0xd2d5('0x5'));var BPromise=require(_0xd2d5('0x6'));var Mustache=require('mustache');var util=require('util');var path=require(_0xd2d5('0x7'));var sox=require(_0xd2d5('0x8'));var csv=require('to-csv');var ejs=require(_0xd2d5('0x9'));var fs=require('fs');var _=require(_0xd2d5('0xa'));var squel=require('squel');var crypto=require(_0xd2d5('0xb'));var jsforce=require(_0xd2d5('0xc'));var deskjs=require(_0xd2d5('0xd'));var toCsv=require(_0xd2d5('0xe'));var querystring=require('querystring');var Papa=require(_0xd2d5('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd2d5('0x10'));var logger=require('../../config/logger')('api');var utils=require(_0xd2d5('0x11'));var config=require(_0xd2d5('0x12'));var licenseUtil=require(_0xd2d5('0x13'));var db=require(_0xd2d5('0x14'))['db'];config[_0xd2d5('0x15')]=_[_0xd2d5('0x16')](config['redis'],{'host':_0xd2d5('0x17'),'port':0x18eb});var socket=require(_0xd2d5('0x18'))(new Redis(config[_0xd2d5('0x15')]));require(_0xd2d5('0x19'))[_0xd2d5('0x1a')](socket);function respondWithStatusCode(_0x3b9026,_0x4dde04){_0x4dde04=_0x4dde04||0xcc;return function(_0x5cd42a){if(_0x5cd42a){return _0x3b9026[_0xd2d5('0x1b')](_0x4dde04);}return _0x3b9026[_0xd2d5('0x1c')](_0x4dde04)[_0xd2d5('0x1d')]();};}function respondWithResult(_0x4243b5,_0x38c805){_0x38c805=_0x38c805||0xc8;return function(_0x2530d9){if(_0x2530d9){return _0x4243b5[_0xd2d5('0x1c')](_0x38c805)[_0xd2d5('0x1e')](_0x2530d9);}};}function respondWithFilteredResult(_0x15570a,_0x2ad90b){return function(_0x34939){if(_0x34939){var _0x4f518c=_0x34939[_0xd2d5('0x1f')],_0x2ce2f4=_0x2ad90b['offset'],_0x2f3808=_0x2ad90b[_0xd2d5('0x20')]+_0x2ad90b[_0xd2d5('0x21')],_0x3ca235;if(_0x2f3808>=_0x4f518c){_0x2f3808=_0x4f518c;_0x3ca235=0xc8;}else{_0x3ca235=0xce;}_0x15570a[_0xd2d5('0x1c')](_0x3ca235);return _0x15570a[_0xd2d5('0x22')](_0xd2d5('0x23'),_0x2ce2f4+'-'+_0x2f3808+'/'+_0x4f518c)['json'](_0x34939);}return null;};}function patchUpdates(_0x110137){return function(_0x4cbdc7){try{jsonpatch['apply'](_0x4cbdc7,_0x110137,!![]);}catch(_0x28177b){return BPromise[_0xd2d5('0x24')](_0x28177b);}return _0x4cbdc7[_0xd2d5('0x25')]();};}function saveUpdates(_0x4d9749,_0x524fa6){return function(_0x4911a7){if(_0x4911a7){return _0x4911a7[_0xd2d5('0x26')](_0x4d9749)[_0xd2d5('0x27')](function(_0x19c9cd){return _0x19c9cd;});}return null;};}function removeEntity(_0x8c9a2,_0x2f74c1){return function(_0x576d9f){if(_0x576d9f){return _0x576d9f['destroy']()['then'](function(){var _0x1b681f=_0x576d9f[_0xd2d5('0x28')]({'plain':!![]});var _0x272c4e=_0xd2d5('0x29');return db[_0xd2d5('0x2a')]['destroy']({'where':{'type':_0x272c4e,'resourceId':_0x1b681f['id']}})[_0xd2d5('0x27')](function(){return _0x576d9f;});})['then'](function(){_0x8c9a2[_0xd2d5('0x1c')](0xcc)[_0xd2d5('0x1d')]();});}};}function handleEntityNotFound(_0x47007c,_0x3fa511){return function(_0x17fadd){if(!_0x17fadd){_0x47007c['sendStatus'](0x194);}return _0x17fadd;};}function handleError(_0x3efc18,_0x3d8de2){_0x3d8de2=_0x3d8de2||0x1f4;return function(_0x5cbf5b){logger[_0xd2d5('0x2b')](_0x5cbf5b['stack']);if(_0x5cbf5b['name']){delete _0x5cbf5b[_0xd2d5('0x2c')];}_0x3efc18[_0xd2d5('0x1c')](_0x3d8de2)[_0xd2d5('0x2d')](_0x5cbf5b);};}exports['index']=function(_0x9bf4dc,_0x400503){var _0x479d78={},_0x12634f={},_0x69873a={'count':0x0,'rows':[]};var _0x534c0a=_[_0xd2d5('0x2e')](db[_0xd2d5('0x2f')][_0xd2d5('0x30')],function(_0x2e3b75){return{'name':_0x2e3b75[_0xd2d5('0x31')],'type':_0x2e3b75['type'][_0xd2d5('0x32')]};});_0x12634f[_0xd2d5('0x33')]=_[_0xd2d5('0x2e')](_0x534c0a,_0xd2d5('0x2c'));_0x12634f['query']=_[_0xd2d5('0x34')](_0x9bf4dc[_0xd2d5('0x35')]);_0x12634f[_0xd2d5('0x36')]=_[_0xd2d5('0x37')](_0x12634f[_0xd2d5('0x33')],_0x12634f['query']);_0x479d78[_0xd2d5('0x38')]=_[_0xd2d5('0x37')](_0x12634f[_0xd2d5('0x33')],qs[_0xd2d5('0x39')](_0x9bf4dc[_0xd2d5('0x35')][_0xd2d5('0x39')]));_0x479d78['attributes']=_0x479d78[_0xd2d5('0x38')][_0xd2d5('0x3a')]?_0x479d78[_0xd2d5('0x38')]:_0x12634f[_0xd2d5('0x33')];if(!_0x9bf4dc[_0xd2d5('0x35')][_0xd2d5('0x3b')](_0xd2d5('0x3c'))){_0x479d78[_0xd2d5('0x21')]=qs[_0xd2d5('0x21')](_0x9bf4dc[_0xd2d5('0x35')][_0xd2d5('0x21')]);_0x479d78['offset']=qs['offset'](_0x9bf4dc[_0xd2d5('0x35')][_0xd2d5('0x20')]);}_0x479d78[_0xd2d5('0x3d')]=qs[_0xd2d5('0x3e')](_0x9bf4dc[_0xd2d5('0x35')][_0xd2d5('0x3e')]);_0x479d78[_0xd2d5('0x3f')]=qs[_0xd2d5('0x36')](_['pick'](_0x9bf4dc[_0xd2d5('0x35')],_0x12634f['filters']),_0x534c0a);if(_0x9bf4dc[_0xd2d5('0x35')]['filter']){_0x479d78['where']=_[_0xd2d5('0x40')](_0x479d78[_0xd2d5('0x3f')],{'$or':_['map'](_0x534c0a,function(_0x526a67){if(_0x526a67['type']!==_0xd2d5('0x41')){var _0x4a08bf={};_0x4a08bf[_0x526a67[_0xd2d5('0x2c')]]={'$like':'%'+_0x9bf4dc['query'][_0xd2d5('0x42')]+'%'};return _0x4a08bf;}})});}_0x479d78=_['merge']({},_0x479d78,_0x9bf4dc[_0xd2d5('0x43')]);var _0x4dd653={'where':_0x479d78[_0xd2d5('0x3f')]};return db[_0xd2d5('0x2f')][_0xd2d5('0x1f')](_0x4dd653)[_0xd2d5('0x27')](function(_0xa4c5c1){_0x69873a[_0xd2d5('0x1f')]=_0xa4c5c1;if(_0x9bf4dc[_0xd2d5('0x35')]['includeAll']){_0x479d78[_0xd2d5('0x44')]=[{'all':!![]}];}return db['MailQueue'][_0xd2d5('0x45')](_0x479d78);})['then'](function(_0x2f7103){_0x69873a['rows']=_0x2f7103;return _0x69873a;})['then'](respondWithFilteredResult(_0x400503,_0x479d78))[_0xd2d5('0x46')](handleError(_0x400503,null));};exports[_0xd2d5('0x47')]=function(_0x419673,_0x3ba920){var _0x46a06a={'raw':!![],'where':{'id':_0x419673['params']['id']}},_0x1629d5={};_0x1629d5[_0xd2d5('0x33')]=_[_0xd2d5('0x34')](db[_0xd2d5('0x2f')][_0xd2d5('0x30')]);_0x1629d5[_0xd2d5('0x35')]=_[_0xd2d5('0x34')](_0x419673[_0xd2d5('0x35')]);_0x1629d5[_0xd2d5('0x36')]=_[_0xd2d5('0x37')](_0x1629d5[_0xd2d5('0x33')],_0x1629d5['query']);_0x46a06a[_0xd2d5('0x38')]=_[_0xd2d5('0x37')](_0x1629d5[_0xd2d5('0x33')],qs[_0xd2d5('0x39')](_0x419673['query'][_0xd2d5('0x39')]));_0x46a06a[_0xd2d5('0x38')]=_0x46a06a[_0xd2d5('0x38')][_0xd2d5('0x3a')]?_0x46a06a[_0xd2d5('0x38')]:_0x1629d5['model'];if(_0x419673[_0xd2d5('0x35')][_0xd2d5('0x48')]){_0x46a06a['include']=[{'all':!![]}];}_0x46a06a=_[_0xd2d5('0x40')]({},_0x46a06a,_0x419673[_0xd2d5('0x43')]);return db[_0xd2d5('0x2f')][_0xd2d5('0x49')](_0x46a06a)[_0xd2d5('0x27')](handleEntityNotFound(_0x3ba920,null))['then'](respondWithResult(_0x3ba920,null))['catch'](handleError(_0x3ba920,null));};exports['create']=function(_0x50a04d,_0x16ac38){return db[_0xd2d5('0x2f')][_0xd2d5('0x4a')](_0x50a04d[_0xd2d5('0x4b')],{})[_0xd2d5('0x27')](function(_0x4bfc10){var _0x11049b=_0x50a04d[_0xd2d5('0x4c')][_0xd2d5('0x28')]({'plain':!![]});if(!_0x11049b)throw new Error(_0xd2d5('0x4d'));if(_0x11049b[_0xd2d5('0x4e')]===_0xd2d5('0x4c')){var _0x2405d4=_0x4bfc10[_0xd2d5('0x28')]({'plain':!![]});var _0x3e3d28='MailQueues';return db[_0xd2d5('0x4f')][_0xd2d5('0x49')]({'where':{'name':_0x3e3d28,'userProfileId':_0x11049b[_0xd2d5('0x50')]},'raw':!![]})[_0xd2d5('0x27')](function(_0x428b2d){if(_0x428b2d&&_0x428b2d['autoAssociation']===0x0){return db['UserProfileResource'][_0xd2d5('0x4a')]({'name':_0x2405d4[_0xd2d5('0x2c')],'resourceId':_0x2405d4['id'],'type':_0x428b2d[_0xd2d5('0x2c')],'sectionId':_0x428b2d['id']},{})[_0xd2d5('0x27')](function(){return _0x4bfc10;});}else{return _0x4bfc10;}})[_0xd2d5('0x46')](function(_0x1dad6d){logger['error'](_0xd2d5('0x51'),_0x1dad6d);throw _0x1dad6d;});}return _0x4bfc10;})[_0xd2d5('0x27')](respondWithResult(_0x16ac38,0xc9))[_0xd2d5('0x46')](handleError(_0x16ac38,null));};exports[_0xd2d5('0x26')]=function(_0x22b318,_0x489f24){if(_0x22b318[_0xd2d5('0x4b')]['id']){delete _0x22b318[_0xd2d5('0x4b')]['id'];}return db[_0xd2d5('0x2f')]['find']({'where':{'id':_0x22b318[_0xd2d5('0x52')]['id']}})[_0xd2d5('0x27')](handleEntityNotFound(_0x489f24,null))['then'](saveUpdates(_0x22b318[_0xd2d5('0x4b')],null))[_0xd2d5('0x27')](respondWithResult(_0x489f24,null))[_0xd2d5('0x46')](handleError(_0x489f24,null));};exports[_0xd2d5('0x53')]=function(_0x18dafc,_0x23039a){return db[_0xd2d5('0x2f')][_0xd2d5('0x49')]({'where':{'id':_0x18dafc[_0xd2d5('0x52')]['id']}})['then'](handleEntityNotFound(_0x23039a,null))[_0xd2d5('0x27')](removeEntity(_0x23039a,null))[_0xd2d5('0x46')](handleError(_0x23039a,null));};exports['describe']=function(_0x396019,_0x50cae6){return db[_0xd2d5('0x2f')][_0xd2d5('0x54')]()['then'](respondWithResult(_0x50cae6,null))[_0xd2d5('0x46')](handleError(_0x50cae6,null));};exports[_0xd2d5('0x55')]=function(_0x5d2d38,_0x2e81b1,_0x69e1fa){var _0x576c2a={'raw':!![],'where':{}},_0x5270c0={},_0x290cac;return db[_0xd2d5('0x2f')][_0xd2d5('0x56')]({'where':{'id':_0x5d2d38[_0xd2d5('0x52')]['id']}})[_0xd2d5('0x27')](handleEntityNotFound(_0x2e81b1,null))[_0xd2d5('0x27')](function(_0x4bb8c5){if(_0x4bb8c5){_0x290cac=_0x4bb8c5[_0xd2d5('0x28')]({'plain':!![]});_0x5270c0[_0xd2d5('0x33')]=_[_0xd2d5('0x34')](db[_0xd2d5('0x57')][_0xd2d5('0x30')]);_0x5270c0[_0xd2d5('0x35')]=_['keys'](_0x5d2d38['query']);_0x5270c0[_0xd2d5('0x36')]=_[_0xd2d5('0x37')](_0x5270c0[_0xd2d5('0x33')],_0x5270c0[_0xd2d5('0x35')]);_0x576c2a[_0xd2d5('0x38')]=_[_0xd2d5('0x37')](_0x5270c0[_0xd2d5('0x33')],qs[_0xd2d5('0x39')](_0x5d2d38[_0xd2d5('0x35')][_0xd2d5('0x39')]));_0x576c2a[_0xd2d5('0x38')]=_0x576c2a['attributes']['length']?_0x576c2a['attributes']:_0x5270c0[_0xd2d5('0x33')];if(!_0x5d2d38['query'][_0xd2d5('0x3b')](_0xd2d5('0x3c'))){_0x576c2a['limit']=qs[_0xd2d5('0x21')](_0x5d2d38['query'][_0xd2d5('0x21')]);_0x576c2a['offset']=qs[_0xd2d5('0x20')](_0x5d2d38[_0xd2d5('0x35')][_0xd2d5('0x20')]);}_0x576c2a[_0xd2d5('0x3d')]=qs[_0xd2d5('0x3e')](_0x5d2d38[_0xd2d5('0x35')][_0xd2d5('0x3e')]);_0x576c2a['where']=qs['filters'](_[_0xd2d5('0x58')](_0x5d2d38[_0xd2d5('0x35')],_0x5270c0[_0xd2d5('0x36')]));_0x576c2a[_0xd2d5('0x3f')]['MailQueueId']=_0x4bb8c5['id'];if(_0x5d2d38['query'][_0xd2d5('0x42')]){_0x576c2a[_0xd2d5('0x3f')]=_[_0xd2d5('0x40')](_0x576c2a[_0xd2d5('0x3f')],{'$or':_['map'](_0x576c2a[_0xd2d5('0x38')],function(_0x42d22d){var _0x1c9976={};_0x1c9976[_0x42d22d]={'$like':'%'+_0x5d2d38[_0xd2d5('0x35')]['filter']+'%'};return _0x1c9976;})});}_0x576c2a=_[_0xd2d5('0x40')]({},_0x576c2a,_0x5d2d38[_0xd2d5('0x43')]);return db[_0xd2d5('0x57')][_0xd2d5('0x45')](_0x576c2a);}})[_0xd2d5('0x27')](function(_0x4db9f8){if(_0x4db9f8){return db[_0xd2d5('0x59')][_0xd2d5('0x5a')]({'where':{'id':_[_0xd2d5('0x2e')](_0x4db9f8,_0xd2d5('0x5b')),'role':_0xd2d5('0x5c')},'attributes':['id',_0xd2d5('0x2c'),_0xd2d5('0x5d'),'updatedAt',_0xd2d5('0x5e')]});}})['then'](function(_0x43c0a4){if(_0x43c0a4){return{'count':_0x43c0a4['count'],'rows':_[_0xd2d5('0x2e')](_0x43c0a4[_0xd2d5('0x5f')],function(_0x408dfa){return{'membername':_0x408dfa['name'],'UserId':_0x408dfa['id'],'queue_name':_0x290cac[_0xd2d5('0x2c')],'MailQueueId':_0x290cac['id'],'interface':util[_0xd2d5('0x60')](_0xd2d5('0x61'),_0xd2d5('0x62'),_0x408dfa[_0xd2d5('0x2c')]),'penalty':0x0,'paused':_0x408dfa[_0xd2d5('0x5d')],'createdAt':_0x408dfa[_0xd2d5('0x5e')],'updatedAt':_0x408dfa[_0xd2d5('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd2d5('0x27')](respondWithFilteredResult(_0x2e81b1,_0x576c2a))['catch'](handleError(_0x2e81b1,null));};exports['getTeams']=function(_0x38fae1,_0x210a33,_0x3a17a3){var _0x373650={};var _0x4a808c={};var _0x2828d3;var _0x3a31ee;return db[_0xd2d5('0x2f')][_0xd2d5('0x56')]({'where':{'id':_0x38fae1[_0xd2d5('0x52')]['id']}})[_0xd2d5('0x27')](handleEntityNotFound(_0x210a33,null))[_0xd2d5('0x27')](function(_0x348ed4){if(_0x348ed4){_0x2828d3=_0x348ed4;_0x4a808c['model']=_[_0xd2d5('0x34')](db[_0xd2d5('0x64')][_0xd2d5('0x30')]);_0x4a808c['query']=_[_0xd2d5('0x34')](_0x38fae1[_0xd2d5('0x35')]);_0x4a808c[_0xd2d5('0x36')]=_[_0xd2d5('0x37')](_0x4a808c[_0xd2d5('0x33')],_0x4a808c['query']);_0x373650[_0xd2d5('0x38')]=_['intersection'](_0x4a808c[_0xd2d5('0x33')],qs[_0xd2d5('0x39')](_0x38fae1[_0xd2d5('0x35')]['fields']));_0x373650[_0xd2d5('0x38')]=_0x373650[_0xd2d5('0x38')][_0xd2d5('0x3a')]?_0x373650['attributes']:_0x4a808c['model'];_0x373650['order']=qs[_0xd2d5('0x3e')](_0x38fae1[_0xd2d5('0x35')][_0xd2d5('0x3e')]);_0x373650[_0xd2d5('0x3f')]=qs['filters'](_[_0xd2d5('0x58')](_0x38fae1['query'],_0x4a808c[_0xd2d5('0x36')]));if(_0x38fae1[_0xd2d5('0x35')]['filter']){_0x373650[_0xd2d5('0x3f')]=_[_0xd2d5('0x40')](_0x373650[_0xd2d5('0x3f')],{'$or':_[_0xd2d5('0x2e')](_0x373650[_0xd2d5('0x38')],function(_0x59daea){var _0x555c89={};_0x555c89[_0x59daea]={'$like':'%'+_0x38fae1[_0xd2d5('0x35')][_0xd2d5('0x42')]+'%'};return _0x555c89;})});}_0x373650=_[_0xd2d5('0x40')]({},_0x373650,_0x38fae1[_0xd2d5('0x43')]);return _0x2828d3[_0xd2d5('0x65')](_0x373650);}})[_0xd2d5('0x27')](function(_0x234431){if(_0x234431){_0x3a31ee=_0x234431[_0xd2d5('0x3a')];if(!_0x38fae1['query']['hasOwnProperty']('nolimit')){_0x373650['limit']=qs[_0xd2d5('0x21')](_0x38fae1[_0xd2d5('0x35')]['limit']);_0x373650[_0xd2d5('0x20')]=qs[_0xd2d5('0x20')](_0x38fae1[_0xd2d5('0x35')]['offset']);}return _0x2828d3['getTeams'](_0x373650);}})['then'](function(_0x36d122){if(_0x36d122){return _0x36d122?{'count':_0x3a31ee,'rows':_0x36d122}:null;}})['then'](respondWithResult(_0x210a33,null))['catch'](handleError(_0x210a33,null));};exports[_0xd2d5('0x66')]=function(_0x162f32,_0x231b17,_0x202ae8){var _0x29aa15=_0x162f32['body'][_0xd2d5('0x67')];return db[_0xd2d5('0x64')][_0xd2d5('0x45')]({'where':{'id':_0x29aa15},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0xd2d5('0x2c'),_0xd2d5('0x68'),_0xd2d5('0x69'),_0xd2d5('0x6a')],'raw':!![]}]})[_0xd2d5('0x27')](function(_0x3cd422){if(_0x3cd422){var _0x6a61d1=_[_0xd2d5('0x6b')](_0x3cd422,function(_0x304868){var _0x31a947=_0x304868[_0xd2d5('0x28')]({'plain':!![]});return _0x31a947[_0xd2d5('0x6c')];});return db[_0xd2d5('0x2f')]['find']({'where':{'id':_0x162f32['params']['id']}})[_0xd2d5('0x27')](function(_0x36d58d){return db[_0xd2d5('0x6d')][_0xd2d5('0x6e')](function(_0x341496){return _0x36d58d['addTeams'](_0x29aa15,{'transaction':_0x341496})[_0xd2d5('0x27')](function(){return BPromise[_0xd2d5('0x6f')](_0x6a61d1,function(_0x1e0d89){return db[_0xd2d5('0x57')][_0xd2d5('0x70')]({'where':{'UserId':_0x1e0d89['id'],'MailQueueId':_0x162f32['params']['id']},'transaction':_0x341496});});})[_0xd2d5('0x27')](function(){_0x6a61d1['forEach'](function(_0x51f82d){socket[_0xd2d5('0x71')](_0xd2d5('0x72'),{'UserId':_0x51f82d['id'],'MailQueueId':_0x36d58d['id']});});});});});}})[_0xd2d5('0x27')](respondWithStatusCode(_0x231b17,null))['catch'](handleError(_0x231b17,null));};exports[_0xd2d5('0x73')]=function(_0x48f1b2,_0x50dde8,_0x566c8a){return db[_0xd2d5('0x64')][_0xd2d5('0x45')]({'where':{'id':_0x48f1b2[_0xd2d5('0x35')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':_0xd2d5('0x6c'),'attributes':['id'],'raw':!![]}]})[_0xd2d5('0x27')](handleEntityNotFound(_0x50dde8,null))[_0xd2d5('0x27')](function(_0x16f0f4){var _0x551703=_[_0xd2d5('0x2e')](_0x16f0f4,'id');var _0x115ab4=[];var _0x57f47a=[];var _0x2f2089=squel[_0xd2d5('0x74')]();_0x2f2089[_0xd2d5('0x75')](_0xd2d5('0x76'))['from'](_0xd2d5('0x77'),'tq')[_0xd2d5('0x78')](_0xd2d5('0x79'),'ut',_0xd2d5('0x7a'))[_0xd2d5('0x3f')](_0xd2d5('0x7b'),_0x48f1b2[_0xd2d5('0x52')]['id']);for(var _0x582f48=0x0;_0x582f48<_0x16f0f4[_0xd2d5('0x3a')];_0x582f48+=0x1){let _0x2a0b7e=_0x16f0f4[_0x582f48];for(var _0x351bb1=0x0;_0x351bb1<_0x2a0b7e[_0xd2d5('0x6c')][_0xd2d5('0x3a')];_0x351bb1+=0x1){let _0x56877b=_0x2a0b7e[_0xd2d5('0x6c')][_0x351bb1];var _0xa21d9d=_0x2f2089[_0xd2d5('0x7c')]();_0xa21d9d['where']('ut.UserId\x20=\x20?',_0x56877b['id']);_0x57f47a[_0xd2d5('0x7d')](db[_0xd2d5('0x6d')]['query'](_0xa21d9d[_0xd2d5('0x7e')](),{'type':db[_0xd2d5('0x6d')][_0xd2d5('0x7f')]['SELECT']})[_0xd2d5('0x27')](function(_0x10ab9e){if(_0x10ab9e[_0xd2d5('0x3a')]===0x1){return _0x56877b['id'];}else{var _0x357358=_[_0xd2d5('0x80')](_[_0xd2d5('0x2e')](_0x10ab9e,'TeamId'),function(_0x568728){return _['includes'](_0x551703,_0x568728);});if(_0x357358){return _0x56877b['id'];}}}));}}return BPromise[_0xd2d5('0x81')](_0x57f47a)[_0xd2d5('0x27')](function(_0x2fa56a){_0x115ab4=_(_0x115ab4)[_0xd2d5('0x82')](_0x2fa56a)[_0xd2d5('0x83')]()[_0xd2d5('0x84')]();return db[_0xd2d5('0x2f')]['find']({'where':{'id':_0x48f1b2[_0xd2d5('0x52')]['id']}})[_0xd2d5('0x27')](function(_0x23f351){return db[_0xd2d5('0x6d')]['transaction'](function(_0x27551a){return _0x23f351[_0xd2d5('0x73')](_0x48f1b2[_0xd2d5('0x35')]['ids'],{'transaction':_0x27551a})[_0xd2d5('0x27')](function(){if(!_[_0xd2d5('0x85')](_0x115ab4)){return _0x23f351['removeAgents'](_0x115ab4,{'transaction':_0x27551a});}})[_0xd2d5('0x27')](function(){_0x115ab4['forEach'](function(_0x30b7d3){socket[_0xd2d5('0x71')](_0xd2d5('0x86'),{'UserId':_0x30b7d3,'MailQueueId':_0x23f351['id']});});});});});});})[_0xd2d5('0x27')](respondWithStatusCode(_0x50dde8,null))['catch'](handleError(_0x50dde8,null));};exports['addAgents']=function(_0xa48fa0,_0x260f55,_0xbbf844){return db[_0xd2d5('0x2f')][_0xd2d5('0x49')]({'where':{'id':_0xa48fa0['params']['id']}})[_0xd2d5('0x27')](handleEntityNotFound(_0x260f55,null))[_0xd2d5('0x27')](function(_0x4b19c1){if(_0x4b19c1){return _0x4b19c1[_0xd2d5('0x87')](_0xa48fa0[_0xd2d5('0x4b')][_0xd2d5('0x67')],_['omit'](_0xa48fa0[_0xd2d5('0x4b')],['ids','id'])||{})[_0xd2d5('0x88')](function(_0x41d1e3){for(var _0x899249=0x0;_0x899249<_0xa48fa0[_0xd2d5('0x4b')][_0xd2d5('0x67')][_0xd2d5('0x3a')];_0x899249+=0x1){socket[_0xd2d5('0x71')](_0xd2d5('0x72'),{'UserId':_0xa48fa0[_0xd2d5('0x4b')][_0xd2d5('0x67')][_0x899249],'MailQueueId':_0xa48fa0[_0xd2d5('0x52')]['id']});}return _0x41d1e3;});}})[_0xd2d5('0x27')](respondWithResult(_0x260f55,null))[_0xd2d5('0x46')](handleError(_0x260f55,null));};exports['removeAgents']=function(_0x5af223,_0x505fd2,_0x4713cf){return db[_0xd2d5('0x2f')][_0xd2d5('0x49')]({'where':{'id':_0x5af223[_0xd2d5('0x52')]['id']}})[_0xd2d5('0x27')](handleEntityNotFound(_0x505fd2,null))[_0xd2d5('0x27')](function(_0xb9b02e){if(_0xb9b02e){return _0xb9b02e[_0xd2d5('0x89')](_0x5af223[_0xd2d5('0x35')][_0xd2d5('0x67')])[_0xd2d5('0x27')](function(){if(_[_0xd2d5('0x8a')](_0x5af223[_0xd2d5('0x35')][_0xd2d5('0x67')])){for(var _0x5daa0c=0x0;_0x5daa0c<_0x5af223[_0xd2d5('0x35')][_0xd2d5('0x67')][_0xd2d5('0x3a')];_0x5daa0c+=0x1){socket['emit'](_0xd2d5('0x86'),{'UserId':Number(_0x5af223[_0xd2d5('0x35')][_0xd2d5('0x67')][_0x5daa0c]),'MailQueueId':Number(_0x5af223['params']['id'])});}}else{socket['emit'](_0xd2d5('0x86'),{'UserId':Number(_0x5af223['query'][_0xd2d5('0x67')]),'MailQueueId':Number(_0x5af223[_0xd2d5('0x52')]['id'])});}});}})['then'](respondWithStatusCode(_0x505fd2,null))[_0xd2d5('0x46')](handleError(_0x505fd2,null));};exports[_0xd2d5('0x8b')]=function(_0x18d3e8,_0xd2037f,_0x57c64a){var _0x2ee7c9={};var _0x1ae0a2={};var _0x5c031e;var _0x2dc241;return db[_0xd2d5('0x2f')][_0xd2d5('0x56')]({'where':{'id':_0x18d3e8['params']['id']}})[_0xd2d5('0x27')](handleEntityNotFound(_0xd2037f,null))[_0xd2d5('0x27')](function(_0x1240eb){if(_0x1240eb){_0x5c031e=_0x1240eb;_0x1ae0a2[_0xd2d5('0x33')]=_[_0xd2d5('0x34')](db[_0xd2d5('0x59')][_0xd2d5('0x30')]);_0x1ae0a2['query']=_[_0xd2d5('0x34')](_0x18d3e8['query']);_0x1ae0a2[_0xd2d5('0x36')]=_[_0xd2d5('0x37')](_0x1ae0a2[_0xd2d5('0x33')],_0x1ae0a2[_0xd2d5('0x35')]);_0x2ee7c9[_0xd2d5('0x38')]=_['intersection'](_0x1ae0a2[_0xd2d5('0x33')],qs['fields'](_0x18d3e8['query'][_0xd2d5('0x39')]));_0x2ee7c9['attributes']=_0x2ee7c9[_0xd2d5('0x38')][_0xd2d5('0x3a')]?_0x2ee7c9[_0xd2d5('0x38')]:_0x1ae0a2[_0xd2d5('0x33')];_0x2ee7c9['order']=qs[_0xd2d5('0x3e')](_0x18d3e8[_0xd2d5('0x35')]['sort']);_0x2ee7c9[_0xd2d5('0x3f')]=qs[_0xd2d5('0x36')](_[_0xd2d5('0x58')](_0x18d3e8[_0xd2d5('0x35')],_0x1ae0a2[_0xd2d5('0x36')]));if(_0x18d3e8[_0xd2d5('0x35')]['filter']){_0x2ee7c9[_0xd2d5('0x3f')]=_['merge'](_0x2ee7c9[_0xd2d5('0x3f')],{'$or':_[_0xd2d5('0x2e')](_0x2ee7c9[_0xd2d5('0x38')],function(_0x42034){var _0x2e1ce0={};_0x2e1ce0[_0x42034]={'$like':'%'+_0x18d3e8[_0xd2d5('0x35')][_0xd2d5('0x42')]+'%'};return _0x2e1ce0;})});}_0x2ee7c9=_[_0xd2d5('0x40')]({},_0x2ee7c9,_0x18d3e8[_0xd2d5('0x43')]);return _0x5c031e['getAgents'](_0x2ee7c9);}})['then'](function(_0x2bcc1d){if(_0x2bcc1d){_0x2dc241=_0x2bcc1d[_0xd2d5('0x3a')];if(!_0x18d3e8['query']['hasOwnProperty']('nolimit')){_0x2ee7c9[_0xd2d5('0x21')]=qs[_0xd2d5('0x21')](_0x18d3e8[_0xd2d5('0x35')]['limit']);_0x2ee7c9[_0xd2d5('0x20')]=qs['offset'](_0x18d3e8[_0xd2d5('0x35')][_0xd2d5('0x20')]);}return _0x5c031e[_0xd2d5('0x8b')](_0x2ee7c9);}})[_0xd2d5('0x27')](function(_0x193b4c){if(_0x193b4c){return _0x193b4c?{'count':_0x2dc241,'rows':_0x193b4c}:null;}})[_0xd2d5('0x27')](respondWithResult(_0xd2037f,null))[_0xd2d5('0x46')](handleError(_0xd2037f,null));};