19b075ef06b4e1d4cd8012d66e3de237fa8ffc24
[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 _0x7efe=['MailQueues','UserProfileResource','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','getOptions','MailQueue','include','query','findAll','show','params','model','keys','filters','intersection','attributes','fields','length','includeAll','options','find','catch','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','findOne','UserMailQueue','hasOwnProperty','nolimit','order','sort','pick','where','MailQueueId','filter','merge','User','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','Team','getTeams','addTeams','Agents','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','forEach','userMailQueue:save','ids','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','every','TeamId','includes','all','union','compact','value','removeTeams','isEmpty','removeAgents','emit','userMailQueue:remove','addAgents','omit','isArray','getAgents','bluebird','lodash','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','status','end','json','offset','undefined','limit','count','set','Content-Range','update','then','destroy'];(function(_0x242750,_0x454e0b){var _0x17eeba=function(_0x4fc28c){while(--_0x4fc28c){_0x242750['push'](_0x242750['shift']());}};_0x17eeba(++_0x454e0b);}(_0x7efe,0x16a));var _0xe7ef=function(_0x5d2c2b,_0xacb574){_0x5d2c2b=_0x5d2c2b-0x0;var _0x206dc9=_0x7efe[_0x5d2c2b];return _0x206dc9;};'use strict';var BPromise=require(_0xe7ef('0x0'));var util=require('util');var _=require(_0xe7ef('0x1'));var squel=require('squel');var Redis=require(_0xe7ef('0x2'));var qs=require(_0xe7ef('0x3'));var logger=require('../../config/logger')(_0xe7ef('0x4'));var config=require(_0xe7ef('0x5'));var db=require(_0xe7ef('0x6'))['db'];config[_0xe7ef('0x7')]=_[_0xe7ef('0x8')](config[_0xe7ef('0x7')],{'host':_0xe7ef('0x9'),'port':0x18eb});var socket=require(_0xe7ef('0xa'))(new Redis(config[_0xe7ef('0x7')]));require(_0xe7ef('0xb'))[_0xe7ef('0xc')](socket);function respondWithStatusCode(_0x58a34b,_0x583b7c){_0x583b7c=_0x583b7c||0xcc;return function(_0x2cabfc){if(_0x2cabfc){return _0x58a34b['sendStatus'](_0x583b7c);}return _0x58a34b[_0xe7ef('0xd')](_0x583b7c)[_0xe7ef('0xe')]();};}function respondWithResult(_0x732646,_0x52c0f9){_0x52c0f9=_0x52c0f9||0xc8;return function(_0x61035c){if(_0x61035c){return _0x732646['status'](_0x52c0f9)[_0xe7ef('0xf')](_0x61035c);}};}function respondWithFilteredResult(_0x5a299b,_0xf3c9f9){return function(_0x11a2cf){if(_0x11a2cf){var _0x23348e=typeof _0xf3c9f9[_0xe7ef('0x10')]===_0xe7ef('0x11')&&typeof _0xf3c9f9[_0xe7ef('0x12')]===_0xe7ef('0x11');var _0x2927fb=_0x11a2cf['count'];var _0x356e3e=_0x23348e?0x0:_0xf3c9f9[_0xe7ef('0x10')];var _0x4ca7e6=_0x23348e?_0x11a2cf[_0xe7ef('0x13')]:_0xf3c9f9[_0xe7ef('0x10')]+_0xf3c9f9[_0xe7ef('0x12')];var _0x314a07;if(_0x4ca7e6>=_0x2927fb){_0x4ca7e6=_0x2927fb;_0x314a07=0xc8;}else{_0x314a07=0xce;}_0x5a299b[_0xe7ef('0xd')](_0x314a07);return _0x5a299b[_0xe7ef('0x14')](_0xe7ef('0x15'),_0x356e3e+'-'+_0x4ca7e6+'/'+_0x2927fb)['json'](_0x11a2cf);}return null;};}function saveUpdates(_0x2df72a){return function(_0x3a0894){if(_0x3a0894){return _0x3a0894[_0xe7ef('0x16')](_0x2df72a)[_0xe7ef('0x17')](function(_0x382028){return _0x382028;});}return null;};}function removeEntity(_0x27f42a){return function(_0x1e618d){if(_0x1e618d){return _0x1e618d[_0xe7ef('0x18')]()[_0xe7ef('0x17')](function(){var _0x24753a=_0x1e618d['get']({'plain':!![]});var _0x5dac9a=_0xe7ef('0x19');return db[_0xe7ef('0x1a')]['destroy']({'where':{'type':_0x5dac9a,'resourceId':_0x24753a['id']}})[_0xe7ef('0x17')](function(){return _0x1e618d;});})[_0xe7ef('0x17')](function(){_0x27f42a[_0xe7ef('0xd')](0xcc)[_0xe7ef('0xe')]();});}};}function handleEntityNotFound(_0x49ff89){return function(_0x21aed1){if(!_0x21aed1){_0x49ff89[_0xe7ef('0x1b')](0x194);}return _0x21aed1;};}function handleError(_0x452bf7,_0x330106){_0x330106=_0x330106||0x1f4;return function(_0x3e6cc8){logger[_0xe7ef('0x1c')](_0x3e6cc8[_0xe7ef('0x1d')]);if(_0x3e6cc8[_0xe7ef('0x1e')]){delete _0x3e6cc8[_0xe7ef('0x1e')];}_0x452bf7[_0xe7ef('0xd')](_0x330106)[_0xe7ef('0x1f')](_0x3e6cc8);};}exports[_0xe7ef('0x20')]=function(_0x3f9a60,_0x19cccf){var _0x46315d={};var _0x4bcc4d={'count':0x0,'rows':[]};var _0x5a8cc5=_[_0xe7ef('0x21')](db['MailQueue'][_0xe7ef('0x22')],function(_0x2bca63){return{'name':_0x2bca63[_0xe7ef('0x23')],'type':_0x2bca63[_0xe7ef('0x24')][_0xe7ef('0x25')]};});_0x46315d=qs[_0xe7ef('0x26')](_0x5a8cc5,_0x3f9a60);var _0x316436={'where':_0x46315d['where']};return db[_0xe7ef('0x27')][_0xe7ef('0x13')](_0x316436)['then'](function(_0x4de599){_0x4bcc4d[_0xe7ef('0x13')]=_0x4de599;_0x46315d[_0xe7ef('0x28')]=qs[_0xe7ef('0x28')](_0x3f9a60[_0xe7ef('0x29')]);return db[_0xe7ef('0x27')][_0xe7ef('0x2a')](_0x46315d);})[_0xe7ef('0x17')](function(_0x425aa4){_0x4bcc4d['rows']=_0x425aa4;return _0x4bcc4d;})[_0xe7ef('0x17')](respondWithFilteredResult(_0x19cccf,_0x46315d))['catch'](handleError(_0x19cccf,null));};exports[_0xe7ef('0x2b')]=function(_0x2e6eb4,_0x40eeec){var _0x597803={'raw':!![],'where':{'id':_0x2e6eb4[_0xe7ef('0x2c')]['id']}},_0x28c967={};_0x28c967[_0xe7ef('0x2d')]=_[_0xe7ef('0x2e')](db['MailQueue'][_0xe7ef('0x22')]);_0x28c967[_0xe7ef('0x29')]=_['keys'](_0x2e6eb4[_0xe7ef('0x29')]);_0x28c967[_0xe7ef('0x2f')]=_[_0xe7ef('0x30')](_0x28c967['model'],_0x28c967[_0xe7ef('0x29')]);_0x597803[_0xe7ef('0x31')]=_[_0xe7ef('0x30')](_0x28c967[_0xe7ef('0x2d')],qs[_0xe7ef('0x32')](_0x2e6eb4[_0xe7ef('0x29')]['fields']));_0x597803[_0xe7ef('0x31')]=_0x597803['attributes'][_0xe7ef('0x33')]?_0x597803[_0xe7ef('0x31')]:_0x28c967[_0xe7ef('0x2d')];if(_0x2e6eb4['query'][_0xe7ef('0x34')]){_0x597803['include']=[{'all':!![]}];}_0x597803=_['merge']({},_0x597803,_0x2e6eb4[_0xe7ef('0x35')]);return db[_0xe7ef('0x27')][_0xe7ef('0x36')](_0x597803)[_0xe7ef('0x17')](handleEntityNotFound(_0x40eeec,null))['then'](respondWithResult(_0x40eeec,null))[_0xe7ef('0x37')](handleError(_0x40eeec,null));};exports[_0xe7ef('0x38')]=function(_0x2ead91,_0x1c972d){return db[_0xe7ef('0x27')][_0xe7ef('0x38')](_0x2ead91[_0xe7ef('0x39')],{})[_0xe7ef('0x17')](function(_0x3aa314){var _0x267fc6=_0x2ead91[_0xe7ef('0x3a')][_0xe7ef('0x3b')]({'plain':!![]});if(!_0x267fc6)throw new Error(_0xe7ef('0x3c'));if(_0x267fc6[_0xe7ef('0x3d')]==='user'){var _0x165cee=_0x3aa314[_0xe7ef('0x3b')]({'plain':!![]});var _0x299b2a='MailQueues';return db[_0xe7ef('0x3e')][_0xe7ef('0x36')]({'where':{'name':_0x299b2a,'userProfileId':_0x267fc6[_0xe7ef('0x3f')]},'raw':!![]})[_0xe7ef('0x17')](function(_0x2d0f64){if(_0x2d0f64&&_0x2d0f64[_0xe7ef('0x40')]===0x0){return db['UserProfileResource']['create']({'name':_0x165cee[_0xe7ef('0x1e')],'resourceId':_0x165cee['id'],'type':_0x2d0f64['name'],'sectionId':_0x2d0f64['id']},{})['then'](function(){return _0x3aa314;});}else{return _0x3aa314;}})[_0xe7ef('0x37')](function(_0x18cbf9){logger['error'](_0xe7ef('0x41'),_0x18cbf9);throw _0x18cbf9;});}return _0x3aa314;})[_0xe7ef('0x17')](respondWithResult(_0x1c972d,0xc9))['catch'](handleError(_0x1c972d,null));};exports['update']=function(_0x3a419d,_0x45ef44){if(_0x3a419d[_0xe7ef('0x39')]['id']){delete _0x3a419d[_0xe7ef('0x39')]['id'];}return db[_0xe7ef('0x27')][_0xe7ef('0x36')]({'where':{'id':_0x3a419d['params']['id']}})[_0xe7ef('0x17')](handleEntityNotFound(_0x45ef44,null))[_0xe7ef('0x17')](saveUpdates(_0x3a419d[_0xe7ef('0x39')],null))[_0xe7ef('0x17')](respondWithResult(_0x45ef44,null))['catch'](handleError(_0x45ef44,null));};exports[_0xe7ef('0x18')]=function(_0x2e94ee,_0xa1e608){return db[_0xe7ef('0x27')][_0xe7ef('0x36')]({'where':{'id':_0x2e94ee[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](handleEntityNotFound(_0xa1e608,null))[_0xe7ef('0x17')](removeEntity(_0xa1e608,null))[_0xe7ef('0x37')](handleError(_0xa1e608,null));};exports['describe']=function(_0x3485f0,_0x4271e7){return db[_0xe7ef('0x27')]['describe']()[_0xe7ef('0x17')](respondWithResult(_0x4271e7,null))[_0xe7ef('0x37')](handleError(_0x4271e7,null));};exports['getMembers']=function(_0x42dae9,_0x4c29bd){var _0x33f408={'raw':!![],'where':{}},_0x346b60={},_0x20fc0c;return db[_0xe7ef('0x27')][_0xe7ef('0x42')]({'where':{'id':_0x42dae9[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](handleEntityNotFound(_0x4c29bd,null))['then'](function(_0x48c8de){if(_0x48c8de){_0x20fc0c=_0x48c8de['get']({'plain':!![]});_0x346b60[_0xe7ef('0x2d')]=_[_0xe7ef('0x2e')](db[_0xe7ef('0x43')][_0xe7ef('0x22')]);_0x346b60[_0xe7ef('0x29')]=_[_0xe7ef('0x2e')](_0x42dae9[_0xe7ef('0x29')]);_0x346b60[_0xe7ef('0x2f')]=_[_0xe7ef('0x30')](_0x346b60[_0xe7ef('0x2d')],_0x346b60['query']);_0x33f408['attributes']=_[_0xe7ef('0x30')](_0x346b60[_0xe7ef('0x2d')],qs['fields'](_0x42dae9[_0xe7ef('0x29')][_0xe7ef('0x32')]));_0x33f408[_0xe7ef('0x31')]=_0x33f408[_0xe7ef('0x31')][_0xe7ef('0x33')]?_0x33f408['attributes']:_0x346b60[_0xe7ef('0x2d')];if(!_0x42dae9[_0xe7ef('0x29')][_0xe7ef('0x44')](_0xe7ef('0x45'))){_0x33f408[_0xe7ef('0x12')]=qs[_0xe7ef('0x12')](_0x42dae9['query'][_0xe7ef('0x12')]);_0x33f408[_0xe7ef('0x10')]=qs[_0xe7ef('0x10')](_0x42dae9[_0xe7ef('0x29')][_0xe7ef('0x10')]);}_0x33f408[_0xe7ef('0x46')]=qs[_0xe7ef('0x47')](_0x42dae9[_0xe7ef('0x29')][_0xe7ef('0x47')]);_0x33f408['where']=qs[_0xe7ef('0x2f')](_[_0xe7ef('0x48')](_0x42dae9['query'],_0x346b60[_0xe7ef('0x2f')]));_0x33f408[_0xe7ef('0x49')][_0xe7ef('0x4a')]=_0x48c8de['id'];if(_0x42dae9[_0xe7ef('0x29')][_0xe7ef('0x4b')]){_0x33f408[_0xe7ef('0x49')]=_[_0xe7ef('0x4c')](_0x33f408[_0xe7ef('0x49')],{'$or':_[_0xe7ef('0x21')](_0x33f408[_0xe7ef('0x31')],function(_0x129a30){var _0x1f7fa8={};_0x1f7fa8[_0x129a30]={'$like':'%'+_0x42dae9['query']['filter']+'%'};return _0x1f7fa8;})});}_0x33f408=_[_0xe7ef('0x4c')]({},_0x33f408,_0x42dae9[_0xe7ef('0x35')]);return db['UserMailQueue'][_0xe7ef('0x2a')](_0x33f408);}})['then'](function(_0x3a2714){if(_0x3a2714){return db[_0xe7ef('0x4d')][_0xe7ef('0x4e')]({'where':{'id':_[_0xe7ef('0x21')](_0x3a2714,_0xe7ef('0x4f')),'role':_0xe7ef('0x50')},'attributes':['id',_0xe7ef('0x1e'),_0xe7ef('0x51'),_0xe7ef('0x52'),_0xe7ef('0x53')]});}})[_0xe7ef('0x17')](function(_0x562af2){if(_0x562af2){return{'count':_0x562af2[_0xe7ef('0x13')],'rows':_[_0xe7ef('0x21')](_0x562af2['rows'],function(_0x20afc4){return{'membername':_0x20afc4['name'],'UserId':_0x20afc4['id'],'queue_name':_0x20fc0c[_0xe7ef('0x1e')],'MailQueueId':_0x20fc0c['id'],'interface':util[_0xe7ef('0x54')](_0xe7ef('0x55'),_0xe7ef('0x56'),_0x20afc4[_0xe7ef('0x1e')]),'penalty':0x0,'paused':_0x20afc4[_0xe7ef('0x51')],'createdAt':_0x20afc4['createdAt'],'updatedAt':_0x20afc4[_0xe7ef('0x52')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x4c29bd,_0x33f408))[_0xe7ef('0x37')](handleError(_0x4c29bd,null));};exports['getTeams']=function(_0x283ebd,_0x18c1ab){var _0xc8927f={};var _0x378aac={};var _0x30f7ac;var _0x564f2d;return db[_0xe7ef('0x27')][_0xe7ef('0x42')]({'where':{'id':_0x283ebd[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](handleEntityNotFound(_0x18c1ab,null))[_0xe7ef('0x17')](function(_0x51f3c2){if(_0x51f3c2){_0x30f7ac=_0x51f3c2;_0x378aac[_0xe7ef('0x2d')]=_['keys'](db[_0xe7ef('0x57')][_0xe7ef('0x22')]);_0x378aac['query']=_[_0xe7ef('0x2e')](_0x283ebd[_0xe7ef('0x29')]);_0x378aac[_0xe7ef('0x2f')]=_['intersection'](_0x378aac[_0xe7ef('0x2d')],_0x378aac['query']);_0xc8927f[_0xe7ef('0x31')]=_['intersection'](_0x378aac[_0xe7ef('0x2d')],qs[_0xe7ef('0x32')](_0x283ebd['query']['fields']));_0xc8927f[_0xe7ef('0x31')]=_0xc8927f[_0xe7ef('0x31')][_0xe7ef('0x33')]?_0xc8927f[_0xe7ef('0x31')]:_0x378aac['model'];_0xc8927f[_0xe7ef('0x46')]=qs[_0xe7ef('0x47')](_0x283ebd[_0xe7ef('0x29')][_0xe7ef('0x47')]);_0xc8927f[_0xe7ef('0x49')]=qs['filters'](_['pick'](_0x283ebd[_0xe7ef('0x29')],_0x378aac[_0xe7ef('0x2f')]));if(_0x283ebd[_0xe7ef('0x29')][_0xe7ef('0x4b')]){_0xc8927f[_0xe7ef('0x49')]=_['merge'](_0xc8927f[_0xe7ef('0x49')],{'$or':_[_0xe7ef('0x21')](_0xc8927f['attributes'],function(_0x9b364c){var _0x37e431={};_0x37e431[_0x9b364c]={'$like':'%'+_0x283ebd[_0xe7ef('0x29')]['filter']+'%'};return _0x37e431;})});}_0xc8927f=_['merge']({},_0xc8927f,_0x283ebd[_0xe7ef('0x35')]);return _0x30f7ac[_0xe7ef('0x58')](_0xc8927f);}})[_0xe7ef('0x17')](function(_0x57482c){if(_0x57482c){_0x564f2d=_0x57482c['length'];if(!_0x283ebd[_0xe7ef('0x29')][_0xe7ef('0x44')](_0xe7ef('0x45'))){_0xc8927f['limit']=qs[_0xe7ef('0x12')](_0x283ebd['query'][_0xe7ef('0x12')]);_0xc8927f[_0xe7ef('0x10')]=qs[_0xe7ef('0x10')](_0x283ebd[_0xe7ef('0x29')][_0xe7ef('0x10')]);}return _0x30f7ac[_0xe7ef('0x58')](_0xc8927f);}})[_0xe7ef('0x17')](function(_0x4fbcfc){if(_0x4fbcfc){return _0x4fbcfc?{'count':_0x564f2d,'rows':_0x4fbcfc}:null;}})[_0xe7ef('0x17')](respondWithResult(_0x18c1ab,null))[_0xe7ef('0x37')](handleError(_0x18c1ab,null));};exports[_0xe7ef('0x59')]=function(_0xf103c8,_0x19394c){var _0x661105=_0xf103c8['body']['ids'];return db['Team'][_0xe7ef('0x2a')]({'where':{'id':_0x661105},'attributes':['id'],'include':[{'model':db['User'],'as':_0xe7ef('0x5a'),'attributes':['id',_0xe7ef('0x1e'),'online',_0xe7ef('0x5b'),_0xe7ef('0x5c')],'raw':!![]}]})[_0xe7ef('0x17')](function(_0x3edc4e){if(_0x3edc4e){var _0x1e5554=_[_0xe7ef('0x5d')](_0x3edc4e,function(_0x1f36f9){var _0x15b9ad=_0x1f36f9[_0xe7ef('0x3b')]({'plain':!![]});return _0x15b9ad[_0xe7ef('0x5a')];});return db['MailQueue'][_0xe7ef('0x36')]({'where':{'id':_0xf103c8[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](function(_0x350929){return db[_0xe7ef('0x5e')][_0xe7ef('0x5f')](function(_0x358d49){return _0x350929['addTeams'](_0x661105,{'transaction':_0x358d49})[_0xe7ef('0x17')](function(){return BPromise[_0xe7ef('0x60')](_0x1e5554,function(_0x16d69a){return db[_0xe7ef('0x43')][_0xe7ef('0x61')]({'where':{'UserId':_0x16d69a['id'],'MailQueueId':_0xf103c8['params']['id']},'transaction':_0x358d49});});})[_0xe7ef('0x17')](function(){_0x1e5554[_0xe7ef('0x62')](function(_0xff6328){socket['emit'](_0xe7ef('0x63'),{'UserId':_0xff6328['id'],'MailQueueId':_0x350929['id']});});});});});}})['then'](respondWithStatusCode(_0x19394c,null))[_0xe7ef('0x37')](handleError(_0x19394c,null));};exports['removeTeams']=function(_0x30eb26,_0x472184){return db[_0xe7ef('0x57')][_0xe7ef('0x2a')]({'where':{'id':_0x30eb26[_0xe7ef('0x29')][_0xe7ef('0x64')]},'attributes':['id'],'include':[{'model':db[_0xe7ef('0x4d')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xe7ef('0x17')](handleEntityNotFound(_0x472184,null))[_0xe7ef('0x17')](function(_0x15a4bc){var _0x5b19fa=_[_0xe7ef('0x21')](_0x15a4bc,'id');var _0x1475db=[];var _0x56b001=[];var _0x2a8c02=squel[_0xe7ef('0x65')]();_0x2a8c02[_0xe7ef('0x66')](_0xe7ef('0x67'))[_0xe7ef('0x68')]('team_has_mail_queues','tq')[_0xe7ef('0x69')](_0xe7ef('0x6a'),'ut',_0xe7ef('0x6b'))[_0xe7ef('0x49')](_0xe7ef('0x6c'),_0x30eb26[_0xe7ef('0x2c')]['id']);for(var _0x5741a8=0x0;_0x5741a8<_0x15a4bc['length'];_0x5741a8+=0x1){let _0x1a56c9=_0x15a4bc[_0x5741a8];for(var _0x228d6f=0x0;_0x228d6f<_0x1a56c9[_0xe7ef('0x5a')]['length'];_0x228d6f+=0x1){let _0x2d7fa1=_0x1a56c9[_0xe7ef('0x5a')][_0x228d6f];var _0x2387bc=_0x2a8c02[_0xe7ef('0x6d')]();_0x2387bc[_0xe7ef('0x49')](_0xe7ef('0x6e'),_0x2d7fa1['id']);_0x56b001['push'](db['sequelize'][_0xe7ef('0x29')](_0x2387bc[_0xe7ef('0x6f')](),{'type':db['sequelize'][_0xe7ef('0x70')]['SELECT']})['then'](function(_0x233c90){if(_0x233c90[_0xe7ef('0x33')]===0x1){return _0x2d7fa1['id'];}else{var _0x439915=_[_0xe7ef('0x71')](_[_0xe7ef('0x21')](_0x233c90,_0xe7ef('0x72')),function(_0x310567){return _[_0xe7ef('0x73')](_0x5b19fa,_0x310567);});if(_0x439915){return _0x2d7fa1['id'];}}}));}}return BPromise[_0xe7ef('0x74')](_0x56b001)[_0xe7ef('0x17')](function(_0x11b185){_0x1475db=_(_0x1475db)[_0xe7ef('0x75')](_0x11b185)[_0xe7ef('0x76')]()[_0xe7ef('0x77')]();return db['MailQueue'][_0xe7ef('0x36')]({'where':{'id':_0x30eb26[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](function(_0x3f9692){return db[_0xe7ef('0x5e')][_0xe7ef('0x5f')](function(_0x198184){return _0x3f9692[_0xe7ef('0x78')](_0x30eb26['query'][_0xe7ef('0x64')],{'transaction':_0x198184})[_0xe7ef('0x17')](function(){if(!_[_0xe7ef('0x79')](_0x1475db)){return _0x3f9692[_0xe7ef('0x7a')](_0x1475db,{'transaction':_0x198184});}})['then'](function(){_0x1475db[_0xe7ef('0x62')](function(_0x4cef8a){socket[_0xe7ef('0x7b')](_0xe7ef('0x7c'),{'UserId':_0x4cef8a,'MailQueueId':_0x3f9692['id']});});});});});});})[_0xe7ef('0x17')](respondWithStatusCode(_0x472184,null))[_0xe7ef('0x37')](handleError(_0x472184,null));};exports[_0xe7ef('0x7d')]=function(_0x256915,_0x344f58){return db[_0xe7ef('0x27')][_0xe7ef('0x36')]({'where':{'id':_0x256915[_0xe7ef('0x2c')]['id']}})['then'](handleEntityNotFound(_0x344f58,null))[_0xe7ef('0x17')](function(_0xd2eede){if(_0xd2eede){return _0xd2eede[_0xe7ef('0x7d')](_0x256915['body'][_0xe7ef('0x64')],_[_0xe7ef('0x7e')](_0x256915[_0xe7ef('0x39')],['ids','id'])||{})['spread'](function(_0x6a15f0){for(var _0x95f7f9=0x0;_0x95f7f9<_0x256915[_0xe7ef('0x39')][_0xe7ef('0x64')]['length'];_0x95f7f9+=0x1){socket[_0xe7ef('0x7b')](_0xe7ef('0x63'),{'UserId':Number(_0x256915[_0xe7ef('0x39')]['ids'][_0x95f7f9]),'MailQueueId':Number(_0x256915[_0xe7ef('0x2c')]['id'])});}return _0x6a15f0;});}})[_0xe7ef('0x17')](respondWithResult(_0x344f58,null))[_0xe7ef('0x37')](handleError(_0x344f58,null));};exports[_0xe7ef('0x7a')]=function(_0x2c6b93,_0x599bdd){return db[_0xe7ef('0x27')][_0xe7ef('0x36')]({'where':{'id':_0x2c6b93[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](handleEntityNotFound(_0x599bdd,null))[_0xe7ef('0x17')](function(_0x29c80a){if(_0x29c80a){return _0x29c80a['removeAgents'](_0x2c6b93['query'][_0xe7ef('0x64')])[_0xe7ef('0x17')](function(){if(_[_0xe7ef('0x7f')](_0x2c6b93[_0xe7ef('0x29')][_0xe7ef('0x64')])){for(var _0x23d48c=0x0;_0x23d48c<_0x2c6b93[_0xe7ef('0x29')]['ids'][_0xe7ef('0x33')];_0x23d48c+=0x1){socket[_0xe7ef('0x7b')](_0xe7ef('0x7c'),{'UserId':Number(_0x2c6b93[_0xe7ef('0x29')][_0xe7ef('0x64')][_0x23d48c]),'MailQueueId':Number(_0x2c6b93[_0xe7ef('0x2c')]['id'])});}}else{socket[_0xe7ef('0x7b')](_0xe7ef('0x7c'),{'UserId':Number(_0x2c6b93[_0xe7ef('0x29')]['ids']),'MailQueueId':Number(_0x2c6b93[_0xe7ef('0x2c')]['id'])});}});}})[_0xe7ef('0x17')](respondWithStatusCode(_0x599bdd,null))['catch'](handleError(_0x599bdd,null));};exports[_0xe7ef('0x80')]=function(_0x8fe05f,_0x38b31e){var _0x205d08={};var _0x2568e8={};var _0x353a0c;var _0x52ee77;return db['MailQueue'][_0xe7ef('0x42')]({'where':{'id':_0x8fe05f[_0xe7ef('0x2c')]['id']}})[_0xe7ef('0x17')](handleEntityNotFound(_0x38b31e,null))[_0xe7ef('0x17')](function(_0x244ddf){if(_0x244ddf){_0x353a0c=_0x244ddf;_0x2568e8[_0xe7ef('0x2d')]=_[_0xe7ef('0x2e')](db[_0xe7ef('0x4d')]['rawAttributes']);_0x2568e8[_0xe7ef('0x29')]=_[_0xe7ef('0x2e')](_0x8fe05f['query']);_0x2568e8[_0xe7ef('0x2f')]=_[_0xe7ef('0x30')](_0x2568e8[_0xe7ef('0x2d')],_0x2568e8[_0xe7ef('0x29')]);_0x205d08[_0xe7ef('0x31')]=_[_0xe7ef('0x30')](_0x2568e8[_0xe7ef('0x2d')],qs[_0xe7ef('0x32')](_0x8fe05f['query'][_0xe7ef('0x32')]));_0x205d08['attributes']=_0x205d08['attributes'][_0xe7ef('0x33')]?_0x205d08[_0xe7ef('0x31')]:_0x2568e8[_0xe7ef('0x2d')];_0x205d08[_0xe7ef('0x46')]=qs[_0xe7ef('0x47')](_0x8fe05f['query'][_0xe7ef('0x47')]);_0x205d08['where']=qs[_0xe7ef('0x2f')](_[_0xe7ef('0x48')](_0x8fe05f[_0xe7ef('0x29')],_0x2568e8[_0xe7ef('0x2f')]));if(_0x8fe05f[_0xe7ef('0x29')][_0xe7ef('0x4b')]){_0x205d08[_0xe7ef('0x49')]=_[_0xe7ef('0x4c')](_0x205d08[_0xe7ef('0x49')],{'$or':_['map'](_0x205d08[_0xe7ef('0x31')],function(_0x51dbc4){var _0xa9f806={};_0xa9f806[_0x51dbc4]={'$like':'%'+_0x8fe05f[_0xe7ef('0x29')][_0xe7ef('0x4b')]+'%'};return _0xa9f806;})});}_0x205d08=_[_0xe7ef('0x4c')]({},_0x205d08,_0x8fe05f['options']);return _0x353a0c[_0xe7ef('0x80')](_0x205d08);}})[_0xe7ef('0x17')](function(_0x5d9812){if(_0x5d9812){_0x52ee77=_0x5d9812[_0xe7ef('0x33')];if(!_0x8fe05f[_0xe7ef('0x29')][_0xe7ef('0x44')](_0xe7ef('0x45'))){_0x205d08[_0xe7ef('0x12')]=qs[_0xe7ef('0x12')](_0x8fe05f['query']['limit']);_0x205d08[_0xe7ef('0x10')]=qs[_0xe7ef('0x10')](_0x8fe05f[_0xe7ef('0x29')][_0xe7ef('0x10')]);}return _0x353a0c[_0xe7ef('0x80')](_0x205d08);}})[_0xe7ef('0x17')](function(_0x2b8a25){if(_0x2b8a25){return _0x2b8a25?{'count':_0x52ee77,'rows':_0x2b8a25}:null;}})[_0xe7ef('0x17')](respondWithResult(_0x38b31e,null))[_0xe7ef('0x37')](handleError(_0x38b31e,null));};