a4de360407f57e9f7ca283f9b7b69870419cfcb4
[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 _0x6422=['save','destroy','then','get','MailQueues','UserProfileResource','name','map','MailQueue','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','limit','order','pick','filter','where','merge','VIRTUAL','includeAll','include','findAll','catch','length','find','create','body','role','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','describe','getMembers','findOne','rawAttributes','sort','MailQueueId','options','User','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','rows','format','%s/%s','SIP','Team','addTeams','Agents','online','transaction','each','UserMailQueue','findOrCreate','forEach','userMailQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_mail_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','SELECT','TeamId','includes','all','union','compact','value','isEmpty','removeAgents','emit','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','end','count','offset','set','Content-Range','reject'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6422,0x64));var _0x2642=function(_0x31567e,_0x26c7d6){_0x31567e=_0x31567e-0x0;var _0x267b32=_0x6422[_0x31567e];return _0x267b32;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require(_0x2642('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2642('0x1'));var rp=require('request-promise');var moment=require(_0x2642('0x2'));var BPromise=require(_0x2642('0x3'));var Mustache=require(_0x2642('0x4'));var util=require(_0x2642('0x5'));var path=require(_0x2642('0x6'));var sox=require(_0x2642('0x7'));var csv=require(_0x2642('0x8'));var ejs=require(_0x2642('0x9'));var fs=require('fs');var _=require(_0x2642('0xa'));var squel=require(_0x2642('0xb'));var crypto=require(_0x2642('0xc'));var jsforce=require(_0x2642('0xd'));var deskjs=require(_0x2642('0xe'));var toCsv=require(_0x2642('0x8'));var querystring=require(_0x2642('0xf'));var Papa=require(_0x2642('0x10'));var Redis=require(_0x2642('0x11'));var authService=require(_0x2642('0x12'));var qs=require(_0x2642('0x13'));var as=require(_0x2642('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x2642('0x15'))(_0x2642('0x16'));var utils=require(_0x2642('0x17'));var config=require(_0x2642('0x18'));var db=require(_0x2642('0x19'))['db'];config[_0x2642('0x1a')]=_[_0x2642('0x1b')](config[_0x2642('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x2642('0x1c'))(new Redis(config[_0x2642('0x1a')]));require(_0x2642('0x1d'))[_0x2642('0x1e')](socket);function respondWithStatusCode(_0x332752,_0x1be219){_0x1be219=_0x1be219||0xcc;return function(_0xdf370){if(_0xdf370){return _0x332752[_0x2642('0x1f')](_0x1be219);}return _0x332752[_0x2642('0x20')](_0x1be219)[_0x2642('0x21')]();};}function respondWithResult(_0x447e26,_0x57b192){_0x57b192=_0x57b192||0xc8;return function(_0x1b6a4d){if(_0x1b6a4d){return _0x447e26[_0x2642('0x20')](_0x57b192)['json'](_0x1b6a4d);}};}function respondWithFilteredResult(_0x1a28db,_0x5a6849){return function(_0x290580){if(_0x290580){var _0x2883df=_0x290580[_0x2642('0x22')],_0x42ca71=_0x5a6849[_0x2642('0x23')],_0x46746e=_0x5a6849['offset']+_0x5a6849['limit'],_0x306f2b;if(_0x46746e>=_0x2883df){_0x46746e=_0x2883df;_0x306f2b=0xc8;}else{_0x306f2b=0xce;}_0x1a28db[_0x2642('0x20')](_0x306f2b);return _0x1a28db[_0x2642('0x24')](_0x2642('0x25'),_0x42ca71+'-'+_0x46746e+'/'+_0x2883df)['json'](_0x290580);}return null;};}function patchUpdates(_0x797a4b){return function(_0x219a01){try{jsonpatch['apply'](_0x219a01,_0x797a4b,!![]);}catch(_0xcfbfe5){return BPromise[_0x2642('0x26')](_0xcfbfe5);}return _0x219a01[_0x2642('0x27')]();};}function saveUpdates(_0x5e17b4,_0x5bbd35){return function(_0x13d902){if(_0x13d902){return _0x13d902['update'](_0x5e17b4)['then'](function(_0x2835ea){return _0x2835ea;});}return null;};}function removeEntity(_0x1fdd53,_0x1b64c7){return function(_0x492fb9){if(_0x492fb9){return _0x492fb9[_0x2642('0x28')]()[_0x2642('0x29')](function(){var _0x2239ba=_0x492fb9[_0x2642('0x2a')]({'plain':!![]});var _0x72a7ed=_0x2642('0x2b');return db[_0x2642('0x2c')]['destroy']({'where':{'type':_0x72a7ed,'resourceId':_0x2239ba['id']}})[_0x2642('0x29')](function(){return _0x492fb9;});})[_0x2642('0x29')](function(){_0x1fdd53[_0x2642('0x20')](0xcc)['end']();});}};}function handleEntityNotFound(_0xd707d2,_0x116018){return function(_0x4a33f6){if(!_0x4a33f6){_0xd707d2[_0x2642('0x1f')](0x194);}return _0x4a33f6;};}function handleError(_0x25e795,_0x224972){_0x224972=_0x224972||0x1f4;return function(_0x1d19ac){logger['error'](_0x1d19ac['stack']);if(_0x1d19ac[_0x2642('0x2d')]){delete _0x1d19ac['name'];}_0x25e795[_0x2642('0x20')](_0x224972)['send'](_0x1d19ac);};}exports['index']=function(_0x3b3c6e,_0x59b3fe){var _0x540268={},_0x23af62={},_0x4544b0={'count':0x0,'rows':[]};var _0x49bbb1=_[_0x2642('0x2e')](db[_0x2642('0x2f')]['rawAttributes'],function(_0xa59d3f){return{'name':_0xa59d3f['fieldName'],'type':_0xa59d3f[_0x2642('0x30')][_0x2642('0x31')]};});_0x23af62[_0x2642('0x32')]=_[_0x2642('0x2e')](_0x49bbb1,_0x2642('0x2d'));_0x23af62[_0x2642('0x33')]=_[_0x2642('0x34')](_0x3b3c6e[_0x2642('0x33')]);_0x23af62[_0x2642('0x35')]=_[_0x2642('0x36')](_0x23af62['model'],_0x23af62[_0x2642('0x33')]);_0x540268[_0x2642('0x37')]=_['intersection'](_0x23af62[_0x2642('0x32')],qs[_0x2642('0x38')](_0x3b3c6e[_0x2642('0x33')][_0x2642('0x38')]));_0x540268[_0x2642('0x37')]=_0x540268[_0x2642('0x37')]['length']?_0x540268[_0x2642('0x37')]:_0x23af62[_0x2642('0x32')];if(!_0x3b3c6e[_0x2642('0x33')][_0x2642('0x39')](_0x2642('0x3a'))){_0x540268[_0x2642('0x3b')]=qs[_0x2642('0x3b')](_0x3b3c6e[_0x2642('0x33')][_0x2642('0x3b')]);_0x540268[_0x2642('0x23')]=qs[_0x2642('0x23')](_0x3b3c6e['query']['offset']);}_0x540268[_0x2642('0x3c')]=qs['sort'](_0x3b3c6e['query']['sort']);_0x540268['where']=qs[_0x2642('0x35')](_[_0x2642('0x3d')](_0x3b3c6e[_0x2642('0x33')],_0x23af62['filters']),_0x49bbb1);if(_0x3b3c6e[_0x2642('0x33')][_0x2642('0x3e')]){_0x540268[_0x2642('0x3f')]=_[_0x2642('0x40')](_0x540268[_0x2642('0x3f')],{'$or':_[_0x2642('0x2e')](_0x49bbb1,function(_0x279a14){if(_0x279a14[_0x2642('0x30')]!==_0x2642('0x41')){var _0x3be7fd={};_0x3be7fd[_0x279a14[_0x2642('0x2d')]]={'$like':'%'+_0x3b3c6e[_0x2642('0x33')]['filter']+'%'};return _0x3be7fd;}})});}_0x540268=_[_0x2642('0x40')]({},_0x540268,_0x3b3c6e['options']);var _0x5b174f={'where':_0x540268['where']};return db[_0x2642('0x2f')]['count'](_0x5b174f)['then'](function(_0x44b50b){_0x4544b0[_0x2642('0x22')]=_0x44b50b;if(_0x3b3c6e[_0x2642('0x33')][_0x2642('0x42')]){_0x540268[_0x2642('0x43')]=[{'all':!![]}];}return db[_0x2642('0x2f')][_0x2642('0x44')](_0x540268);})[_0x2642('0x29')](function(_0x4240e0){_0x4544b0['rows']=_0x4240e0;return _0x4544b0;})[_0x2642('0x29')](respondWithFilteredResult(_0x59b3fe,_0x540268))[_0x2642('0x45')](handleError(_0x59b3fe,null));};exports['show']=function(_0x125a0c,_0x55baaa){var _0x389c72={'raw':!![],'where':{'id':_0x125a0c['params']['id']}},_0x309305={};_0x309305[_0x2642('0x32')]=_[_0x2642('0x34')](db[_0x2642('0x2f')]['rawAttributes']);_0x309305[_0x2642('0x33')]=_[_0x2642('0x34')](_0x125a0c[_0x2642('0x33')]);_0x309305[_0x2642('0x35')]=_[_0x2642('0x36')](_0x309305[_0x2642('0x32')],_0x309305['query']);_0x389c72[_0x2642('0x37')]=_['intersection'](_0x309305['model'],qs['fields'](_0x125a0c['query']['fields']));_0x389c72['attributes']=_0x389c72[_0x2642('0x37')][_0x2642('0x46')]?_0x389c72[_0x2642('0x37')]:_0x309305[_0x2642('0x32')];if(_0x125a0c[_0x2642('0x33')]['includeAll']){_0x389c72[_0x2642('0x43')]=[{'all':!![]}];}_0x389c72=_[_0x2642('0x40')]({},_0x389c72,_0x125a0c['options']);return db[_0x2642('0x2f')][_0x2642('0x47')](_0x389c72)['then'](handleEntityNotFound(_0x55baaa,null))[_0x2642('0x29')](respondWithResult(_0x55baaa,null))[_0x2642('0x45')](handleError(_0x55baaa,null));};exports['create']=function(_0x4d226a,_0x52f980){return db[_0x2642('0x2f')][_0x2642('0x48')](_0x4d226a[_0x2642('0x49')],{})[_0x2642('0x29')](function(_0x2c96ac){var _0x2d9aca=_0x4d226a['user']['get']({'plain':!![]});if(!_0x2d9aca)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2d9aca[_0x2642('0x4a')]===_0x2642('0x4b')){var _0x163952=_0x2c96ac[_0x2642('0x2a')]({'plain':!![]});var _0x5ea5c7=_0x2642('0x2b');return db['UserProfileSection'][_0x2642('0x47')]({'where':{'name':_0x5ea5c7,'userProfileId':_0x2d9aca[_0x2642('0x4c')]},'raw':!![]})[_0x2642('0x29')](function(_0x2e86ff){if(_0x2e86ff&&_0x2e86ff[_0x2642('0x4d')]===0x0){return db['UserProfileResource']['create']({'name':_0x163952['name'],'resourceId':_0x163952['id'],'type':_0x2e86ff[_0x2642('0x2d')],'sectionId':_0x2e86ff['id']},{})['then'](function(){return _0x2c96ac;});}else{return _0x2c96ac;}})['catch'](function(_0x1cf2ce){logger['error'](_0x2642('0x4e'),_0x1cf2ce);throw _0x1cf2ce;});}return _0x2c96ac;})[_0x2642('0x29')](respondWithResult(_0x52f980,0xc9))[_0x2642('0x45')](handleError(_0x52f980,null));};exports[_0x2642('0x4f')]=function(_0x1ca3b2,_0xbad75b){if(_0x1ca3b2[_0x2642('0x49')]['id']){delete _0x1ca3b2[_0x2642('0x49')]['id'];}return db[_0x2642('0x2f')][_0x2642('0x47')]({'where':{'id':_0x1ca3b2['params']['id']}})[_0x2642('0x29')](handleEntityNotFound(_0xbad75b,null))['then'](saveUpdates(_0x1ca3b2[_0x2642('0x49')],null))[_0x2642('0x29')](respondWithResult(_0xbad75b,null))[_0x2642('0x45')](handleError(_0xbad75b,null));};exports[_0x2642('0x28')]=function(_0x2bc332,_0xbc15ad){return db['MailQueue']['find']({'where':{'id':_0x2bc332[_0x2642('0x50')]['id']}})['then'](handleEntityNotFound(_0xbc15ad,null))[_0x2642('0x29')](removeEntity(_0xbc15ad,null))['catch'](handleError(_0xbc15ad,null));};exports[_0x2642('0x51')]=function(_0x397596,_0x205177){return db[_0x2642('0x2f')][_0x2642('0x51')]()['then'](respondWithResult(_0x205177,null))[_0x2642('0x45')](handleError(_0x205177,null));};exports[_0x2642('0x52')]=function(_0x45a232,_0x4781b9,_0x5260b3){var _0x315b9d={'raw':!![],'where':{}},_0x40c4d4={},_0x49eca2;return db[_0x2642('0x2f')][_0x2642('0x53')]({'where':{'id':_0x45a232['params']['id']}})[_0x2642('0x29')](handleEntityNotFound(_0x4781b9,null))[_0x2642('0x29')](function(_0x54f3f4){if(_0x54f3f4){_0x49eca2=_0x54f3f4[_0x2642('0x2a')]({'plain':!![]});_0x40c4d4[_0x2642('0x32')]=_[_0x2642('0x34')](db['UserMailQueue'][_0x2642('0x54')]);_0x40c4d4['query']=_[_0x2642('0x34')](_0x45a232[_0x2642('0x33')]);_0x40c4d4[_0x2642('0x35')]=_[_0x2642('0x36')](_0x40c4d4[_0x2642('0x32')],_0x40c4d4[_0x2642('0x33')]);_0x315b9d[_0x2642('0x37')]=_['intersection'](_0x40c4d4[_0x2642('0x32')],qs[_0x2642('0x38')](_0x45a232[_0x2642('0x33')][_0x2642('0x38')]));_0x315b9d[_0x2642('0x37')]=_0x315b9d['attributes'][_0x2642('0x46')]?_0x315b9d['attributes']:_0x40c4d4[_0x2642('0x32')];if(!_0x45a232['query'][_0x2642('0x39')](_0x2642('0x3a'))){_0x315b9d['limit']=qs[_0x2642('0x3b')](_0x45a232[_0x2642('0x33')]['limit']);_0x315b9d['offset']=qs[_0x2642('0x23')](_0x45a232[_0x2642('0x33')][_0x2642('0x23')]);}_0x315b9d[_0x2642('0x3c')]=qs['sort'](_0x45a232[_0x2642('0x33')][_0x2642('0x55')]);_0x315b9d[_0x2642('0x3f')]=qs[_0x2642('0x35')](_[_0x2642('0x3d')](_0x45a232['query'],_0x40c4d4[_0x2642('0x35')]));_0x315b9d['where'][_0x2642('0x56')]=_0x54f3f4['id'];if(_0x45a232[_0x2642('0x33')][_0x2642('0x3e')]){_0x315b9d[_0x2642('0x3f')]=_[_0x2642('0x40')](_0x315b9d[_0x2642('0x3f')],{'$or':_['map'](_0x315b9d[_0x2642('0x37')],function(_0x45a826){var _0x472685={};_0x472685[_0x45a826]={'$like':'%'+_0x45a232[_0x2642('0x33')][_0x2642('0x3e')]+'%'};return _0x472685;})});}_0x315b9d=_[_0x2642('0x40')]({},_0x315b9d,_0x45a232[_0x2642('0x57')]);return db['UserMailQueue'][_0x2642('0x44')](_0x315b9d);}})[_0x2642('0x29')](function(_0x515637){if(_0x515637){return db[_0x2642('0x58')][_0x2642('0x59')]({'where':{'id':_[_0x2642('0x2e')](_0x515637,_0x2642('0x5a')),'role':_0x2642('0x5b')},'attributes':['id',_0x2642('0x2d'),_0x2642('0x5c'),_0x2642('0x5d'),_0x2642('0x5e')]});}})[_0x2642('0x29')](function(_0x32c6cc){if(_0x32c6cc){return{'count':_0x32c6cc['count'],'rows':_[_0x2642('0x2e')](_0x32c6cc[_0x2642('0x5f')],function(_0x4e0ba5){return{'membername':_0x4e0ba5['name'],'UserId':_0x4e0ba5['id'],'queue_name':_0x49eca2[_0x2642('0x2d')],'MailQueueId':_0x49eca2['id'],'interface':util[_0x2642('0x60')](_0x2642('0x61'),_0x2642('0x62'),_0x4e0ba5['name']),'penalty':0x0,'paused':_0x4e0ba5['mailPause'],'createdAt':_0x4e0ba5[_0x2642('0x5e')],'updatedAt':_0x4e0ba5[_0x2642('0x5d')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x2642('0x29')](respondWithFilteredResult(_0x4781b9,_0x315b9d))['catch'](handleError(_0x4781b9,null));};exports['getTeams']=function(_0x3348b2,_0x695cb3,_0x5becbb){var _0x289bce={};var _0x2cb82c={};var _0x536e21;var _0x114e53;return db[_0x2642('0x2f')][_0x2642('0x53')]({'where':{'id':_0x3348b2['params']['id']}})['then'](handleEntityNotFound(_0x695cb3,null))[_0x2642('0x29')](function(_0x3c7d34){if(_0x3c7d34){_0x536e21=_0x3c7d34;_0x2cb82c[_0x2642('0x32')]=_['keys'](db[_0x2642('0x63')][_0x2642('0x54')]);_0x2cb82c[_0x2642('0x33')]=_['keys'](_0x3348b2['query']);_0x2cb82c[_0x2642('0x35')]=_[_0x2642('0x36')](_0x2cb82c[_0x2642('0x32')],_0x2cb82c['query']);_0x289bce[_0x2642('0x37')]=_[_0x2642('0x36')](_0x2cb82c[_0x2642('0x32')],qs[_0x2642('0x38')](_0x3348b2['query'][_0x2642('0x38')]));_0x289bce[_0x2642('0x37')]=_0x289bce['attributes'][_0x2642('0x46')]?_0x289bce[_0x2642('0x37')]:_0x2cb82c[_0x2642('0x32')];_0x289bce['order']=qs[_0x2642('0x55')](_0x3348b2['query']['sort']);_0x289bce[_0x2642('0x3f')]=qs[_0x2642('0x35')](_[_0x2642('0x3d')](_0x3348b2[_0x2642('0x33')],_0x2cb82c[_0x2642('0x35')]));if(_0x3348b2[_0x2642('0x33')][_0x2642('0x3e')]){_0x289bce['where']=_[_0x2642('0x40')](_0x289bce['where'],{'$or':_['map'](_0x289bce[_0x2642('0x37')],function(_0x23fde3){var _0x1c5479={};_0x1c5479[_0x23fde3]={'$like':'%'+_0x3348b2[_0x2642('0x33')][_0x2642('0x3e')]+'%'};return _0x1c5479;})});}_0x289bce=_['merge']({},_0x289bce,_0x3348b2[_0x2642('0x57')]);return _0x536e21['getTeams'](_0x289bce);}})[_0x2642('0x29')](function(_0x25792d){if(_0x25792d){_0x114e53=_0x25792d[_0x2642('0x46')];if(!_0x3348b2[_0x2642('0x33')][_0x2642('0x39')]('nolimit')){_0x289bce[_0x2642('0x3b')]=qs[_0x2642('0x3b')](_0x3348b2[_0x2642('0x33')][_0x2642('0x3b')]);_0x289bce[_0x2642('0x23')]=qs[_0x2642('0x23')](_0x3348b2[_0x2642('0x33')]['offset']);}return _0x536e21['getTeams'](_0x289bce);}})[_0x2642('0x29')](function(_0x28320b){if(_0x28320b){return _0x28320b?{'count':_0x114e53,'rows':_0x28320b}:null;}})[_0x2642('0x29')](respondWithResult(_0x695cb3,null))['catch'](handleError(_0x695cb3,null));};exports[_0x2642('0x64')]=function(_0x391772,_0x1b9b31,_0x1b9b71){var _0x1f493a=_0x391772[_0x2642('0x49')]['ids'];return db[_0x2642('0x63')][_0x2642('0x44')]({'where':{'id':_0x1f493a},'attributes':['id'],'include':[{'model':db[_0x2642('0x58')],'as':_0x2642('0x65'),'attributes':['id',_0x2642('0x2d'),_0x2642('0x66'),'voicePause','interface'],'raw':!![]}]})[_0x2642('0x29')](function(_0x912d37){if(_0x912d37){var _0x9a9f7=_['flatMap'](_0x912d37,function(_0x21b511){var _0x2dae3b=_0x21b511[_0x2642('0x2a')]({'plain':!![]});return _0x2dae3b[_0x2642('0x65')];});return db[_0x2642('0x2f')][_0x2642('0x47')]({'where':{'id':_0x391772[_0x2642('0x50')]['id']}})[_0x2642('0x29')](function(_0x2527d6){return db['sequelize'][_0x2642('0x67')](function(_0x522fff){return _0x2527d6[_0x2642('0x64')](_0x1f493a,{'transaction':_0x522fff})[_0x2642('0x29')](function(){return BPromise[_0x2642('0x68')](_0x9a9f7,function(_0x2ca7b1){return db[_0x2642('0x69')][_0x2642('0x6a')]({'where':{'UserId':_0x2ca7b1['id'],'MailQueueId':_0x391772[_0x2642('0x50')]['id']},'transaction':_0x522fff});});})[_0x2642('0x29')](function(){_0x9a9f7[_0x2642('0x6b')](function(_0x564981){socket['emit'](_0x2642('0x6c'),{'UserId':_0x564981['id'],'MailQueueId':_0x2527d6['id']});});});});});}})[_0x2642('0x29')](respondWithStatusCode(_0x1b9b31,null))[_0x2642('0x45')](handleError(_0x1b9b31,null));};exports[_0x2642('0x6d')]=function(_0xb23a1f,_0x40692a,_0x449dfc){return db[_0x2642('0x63')]['findAll']({'where':{'id':_0xb23a1f[_0x2642('0x33')][_0x2642('0x6e')]},'attributes':['id'],'include':[{'model':db[_0x2642('0x58')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x2642('0x29')](handleEntityNotFound(_0x40692a,null))[_0x2642('0x29')](function(_0x394645){var _0x8e081a=_[_0x2642('0x2e')](_0x394645,'id');var _0x16bce4=[];var _0x54fd9f=[];var _0x4c82e0=squel[_0x2642('0x6f')]();_0x4c82e0[_0x2642('0x70')](_0x2642('0x71'))[_0x2642('0x72')](_0x2642('0x73'),'tq')['join'](_0x2642('0x74'),'ut',_0x2642('0x75'))[_0x2642('0x3f')](_0x2642('0x76'),_0xb23a1f['params']['id']);for(var _0x4ce0ab=0x0;_0x4ce0ab<_0x394645['length'];_0x4ce0ab+=0x1){let _0x2151d4=_0x394645[_0x4ce0ab];for(var _0x59fa05=0x0;_0x59fa05<_0x2151d4[_0x2642('0x65')][_0x2642('0x46')];_0x59fa05+=0x1){let _0x4bb905=_0x2151d4[_0x2642('0x65')][_0x59fa05];var _0x2e1087=_0x4c82e0[_0x2642('0x77')]();_0x2e1087[_0x2642('0x3f')](_0x2642('0x78'),_0x4bb905['id']);_0x54fd9f[_0x2642('0x79')](db[_0x2642('0x7a')]['query'](_0x2e1087['toString'](),{'type':db[_0x2642('0x7a')]['QueryTypes'][_0x2642('0x7b')]})[_0x2642('0x29')](function(_0x3e0689){if(_0x3e0689[_0x2642('0x46')]===0x1){return _0x4bb905['id'];}else{var _0x1093a4=_['every'](_[_0x2642('0x2e')](_0x3e0689,_0x2642('0x7c')),function(_0x3c597a){return _[_0x2642('0x7d')](_0x8e081a,_0x3c597a);});if(_0x1093a4){return _0x4bb905['id'];}}}));}}return BPromise[_0x2642('0x7e')](_0x54fd9f)[_0x2642('0x29')](function(_0x19bf91){_0x16bce4=_(_0x16bce4)[_0x2642('0x7f')](_0x19bf91)[_0x2642('0x80')]()[_0x2642('0x81')]();return db[_0x2642('0x2f')][_0x2642('0x47')]({'where':{'id':_0xb23a1f['params']['id']}})[_0x2642('0x29')](function(_0x3f4f18){return db[_0x2642('0x7a')][_0x2642('0x67')](function(_0x2e2a0e){return _0x3f4f18[_0x2642('0x6d')](_0xb23a1f[_0x2642('0x33')][_0x2642('0x6e')],{'transaction':_0x2e2a0e})[_0x2642('0x29')](function(){if(!_[_0x2642('0x82')](_0x16bce4)){return _0x3f4f18[_0x2642('0x83')](_0x16bce4,{'transaction':_0x2e2a0e});}})[_0x2642('0x29')](function(){_0x16bce4['forEach'](function(_0x106d13){socket[_0x2642('0x84')](_0x2642('0x85'),{'UserId':_0x106d13,'MailQueueId':_0x3f4f18['id']});});});});});});})[_0x2642('0x29')](respondWithStatusCode(_0x40692a,null))[_0x2642('0x45')](handleError(_0x40692a,null));};exports['addAgents']=function(_0x19542c,_0xa49e96,_0x33b8b2){return db[_0x2642('0x2f')][_0x2642('0x47')]({'where':{'id':_0x19542c[_0x2642('0x50')]['id']}})[_0x2642('0x29')](handleEntityNotFound(_0xa49e96,null))[_0x2642('0x29')](function(_0x387fd4){if(_0x387fd4){return _0x387fd4[_0x2642('0x86')](_0x19542c['body'][_0x2642('0x6e')],_[_0x2642('0x87')](_0x19542c['body'],[_0x2642('0x6e'),'id'])||{})[_0x2642('0x88')](function(_0x26a2f8){for(var _0x39cf19=0x0;_0x39cf19<_0x19542c[_0x2642('0x49')]['ids'][_0x2642('0x46')];_0x39cf19+=0x1){socket[_0x2642('0x84')](_0x2642('0x6c'),{'UserId':_0x19542c['body'][_0x2642('0x6e')][_0x39cf19],'MailQueueId':_0x19542c[_0x2642('0x50')]['id']});}return _0x26a2f8;});}})[_0x2642('0x29')](respondWithResult(_0xa49e96,null))['catch'](handleError(_0xa49e96,null));};exports[_0x2642('0x83')]=function(_0x27951f,_0x16871c,_0x425f52){return db['MailQueue'][_0x2642('0x47')]({'where':{'id':_0x27951f[_0x2642('0x50')]['id']}})[_0x2642('0x29')](handleEntityNotFound(_0x16871c,null))[_0x2642('0x29')](function(_0x4cf80c){if(_0x4cf80c){return _0x4cf80c['removeAgents'](_0x27951f[_0x2642('0x33')][_0x2642('0x6e')])['then'](function(){if(_[_0x2642('0x89')](_0x27951f[_0x2642('0x33')]['ids'])){for(var _0xfc5cf7=0x0;_0xfc5cf7<_0x27951f[_0x2642('0x33')][_0x2642('0x6e')][_0x2642('0x46')];_0xfc5cf7+=0x1){socket[_0x2642('0x84')](_0x2642('0x85'),{'UserId':Number(_0x27951f[_0x2642('0x33')][_0x2642('0x6e')][_0xfc5cf7]),'MailQueueId':Number(_0x27951f[_0x2642('0x50')]['id'])});}}else{socket[_0x2642('0x84')](_0x2642('0x85'),{'UserId':Number(_0x27951f[_0x2642('0x33')]['ids']),'MailQueueId':Number(_0x27951f[_0x2642('0x50')]['id'])});}});}})[_0x2642('0x29')](respondWithStatusCode(_0x16871c,null))['catch'](handleError(_0x16871c,null));};exports[_0x2642('0x8a')]=function(_0x3be152,_0x4f32d3,_0x5687ed){var _0x1c39ec={};var _0xa4857c={};var _0x155928;var _0xdfabcf;return db[_0x2642('0x2f')][_0x2642('0x53')]({'where':{'id':_0x3be152['params']['id']}})[_0x2642('0x29')](handleEntityNotFound(_0x4f32d3,null))[_0x2642('0x29')](function(_0x341765){if(_0x341765){_0x155928=_0x341765;_0xa4857c[_0x2642('0x32')]=_[_0x2642('0x34')](db['User'][_0x2642('0x54')]);_0xa4857c[_0x2642('0x33')]=_[_0x2642('0x34')](_0x3be152[_0x2642('0x33')]);_0xa4857c[_0x2642('0x35')]=_[_0x2642('0x36')](_0xa4857c[_0x2642('0x32')],_0xa4857c[_0x2642('0x33')]);_0x1c39ec[_0x2642('0x37')]=_[_0x2642('0x36')](_0xa4857c[_0x2642('0x32')],qs['fields'](_0x3be152[_0x2642('0x33')][_0x2642('0x38')]));_0x1c39ec['attributes']=_0x1c39ec[_0x2642('0x37')][_0x2642('0x46')]?_0x1c39ec[_0x2642('0x37')]:_0xa4857c[_0x2642('0x32')];_0x1c39ec[_0x2642('0x3c')]=qs[_0x2642('0x55')](_0x3be152[_0x2642('0x33')][_0x2642('0x55')]);_0x1c39ec[_0x2642('0x3f')]=qs[_0x2642('0x35')](_['pick'](_0x3be152[_0x2642('0x33')],_0xa4857c[_0x2642('0x35')]));if(_0x3be152['query'][_0x2642('0x3e')]){_0x1c39ec[_0x2642('0x3f')]=_[_0x2642('0x40')](_0x1c39ec['where'],{'$or':_[_0x2642('0x2e')](_0x1c39ec['attributes'],function(_0x45c5ed){var _0x417913={};_0x417913[_0x45c5ed]={'$like':'%'+_0x3be152['query'][_0x2642('0x3e')]+'%'};return _0x417913;})});}_0x1c39ec=_[_0x2642('0x40')]({},_0x1c39ec,_0x3be152[_0x2642('0x57')]);return _0x155928[_0x2642('0x8a')](_0x1c39ec);}})[_0x2642('0x29')](function(_0x35489b){if(_0x35489b){_0xdfabcf=_0x35489b[_0x2642('0x46')];if(!_0x3be152[_0x2642('0x33')]['hasOwnProperty'](_0x2642('0x3a'))){_0x1c39ec['limit']=qs[_0x2642('0x3b')](_0x3be152[_0x2642('0x33')][_0x2642('0x3b')]);_0x1c39ec['offset']=qs['offset'](_0x3be152[_0x2642('0x33')][_0x2642('0x23')]);}return _0x155928[_0x2642('0x8a')](_0x1c39ec);}})[_0x2642('0x29')](function(_0x2550af){if(_0x2550af){return _0x2550af?{'count':_0xdfabcf,'rows':_0x2550af}:null;}})['then'](respondWithResult(_0x4f32d3,null))[_0x2642('0x45')](handleError(_0x4f32d3,null));};