0d496df1cb810163a3d2c572fbe7973d90b8617b
[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 _0x31ad=['describe','getMembers','findOne','UserMailQueue','nolimit','order','sort','MailQueueId','filter','map','findAll','findAndCountAll','UserId','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','pick','addTeams','ids','Team','User','Agents','online','interface','flatMap','sequelize','each','forEach','emit','select','field','tq.TeamId','from','join','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','transaction','removeTeams','isEmpty','userMailQueue:remove','addAgents','spread','userMailQueue:save','removeAgents','isArray','options','getAgents','hasOwnProperty','bluebird','util','lodash','ioredis','../../components/parsers/qs','../../config/logger','api','redis','defaults','./mailQueue.socket','register','sendStatus','end','status','json','undefined','limit','count','offset','set','Content-Range','destroy','then','get','MailQueues','UserProfileResource','error','stack','name','index','rawAttributes','fieldName','type','key','where','MailQueue','include','query','rows','catch','params','model','keys','filters','intersection','attributes','fields','length','includeAll','merge','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update'];(function(_0x4c98b9,_0x1ad11b){var _0x3a257a=function(_0x147857){while(--_0x147857){_0x4c98b9['push'](_0x4c98b9['shift']());}};_0x3a257a(++_0x1ad11b);}(_0x31ad,0xbd));var _0xd31a=function(_0x379264,_0x3d4f0f){_0x379264=_0x379264-0x0;var _0x3528e8=_0x31ad[_0x379264];return _0x3528e8;};'use strict';var BPromise=require(_0xd31a('0x0'));var util=require(_0xd31a('0x1'));var _=require(_0xd31a('0x2'));var squel=require('squel');var Redis=require(_0xd31a('0x3'));var qs=require(_0xd31a('0x4'));var logger=require(_0xd31a('0x5'))(_0xd31a('0x6'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config[_0xd31a('0x7')]=_[_0xd31a('0x8')](config[_0xd31a('0x7')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd31a('0x7')]));require(_0xd31a('0x9'))[_0xd31a('0xa')](socket);function respondWithStatusCode(_0x14bc9e,_0x477b46){_0x477b46=_0x477b46||0xcc;return function(_0x3df89d){if(_0x3df89d){return _0x14bc9e[_0xd31a('0xb')](_0x477b46);}return _0x14bc9e['status'](_0x477b46)[_0xd31a('0xc')]();};}function respondWithResult(_0x18028b,_0x52b1c1){_0x52b1c1=_0x52b1c1||0xc8;return function(_0x2d0209){if(_0x2d0209){return _0x18028b[_0xd31a('0xd')](_0x52b1c1)[_0xd31a('0xe')](_0x2d0209);}};}function respondWithFilteredResult(_0x1ae36a,_0x980c3d){return function(_0xa92f1e){if(_0xa92f1e){var _0x3ede4c=typeof _0x980c3d['offset']===_0xd31a('0xf')&&typeof _0x980c3d[_0xd31a('0x10')]===_0xd31a('0xf');var _0x1c4dd8=_0xa92f1e[_0xd31a('0x11')];var _0x43c494=_0x3ede4c?0x0:_0x980c3d[_0xd31a('0x12')];var _0x486f6e=_0x3ede4c?_0xa92f1e[_0xd31a('0x11')]:_0x980c3d['offset']+_0x980c3d[_0xd31a('0x10')];var _0x227bd4;if(_0x486f6e>=_0x1c4dd8){_0x486f6e=_0x1c4dd8;_0x227bd4=0xc8;}else{_0x227bd4=0xce;}_0x1ae36a[_0xd31a('0xd')](_0x227bd4);return _0x1ae36a[_0xd31a('0x13')](_0xd31a('0x14'),_0x43c494+'-'+_0x486f6e+'/'+_0x1c4dd8)[_0xd31a('0xe')](_0xa92f1e);}return null;};}function saveUpdates(_0x1ea596){return function(_0x2fa499){if(_0x2fa499){return _0x2fa499['update'](_0x1ea596)['then'](function(_0x4fa2db){return _0x4fa2db;});}return null;};}function removeEntity(_0x333fa7){return function(_0x392cde){if(_0x392cde){return _0x392cde[_0xd31a('0x15')]()[_0xd31a('0x16')](function(){var _0x345023=_0x392cde[_0xd31a('0x17')]({'plain':!![]});var _0x516a08=_0xd31a('0x18');return db[_0xd31a('0x19')][_0xd31a('0x15')]({'where':{'type':_0x516a08,'resourceId':_0x345023['id']}})[_0xd31a('0x16')](function(){return _0x392cde;});})[_0xd31a('0x16')](function(){_0x333fa7[_0xd31a('0xd')](0xcc)[_0xd31a('0xc')]();});}};}function handleEntityNotFound(_0x3c3eb1){return function(_0x57fb41){if(!_0x57fb41){_0x3c3eb1[_0xd31a('0xb')](0x194);}return _0x57fb41;};}function handleError(_0x374459,_0x5247ca){_0x5247ca=_0x5247ca||0x1f4;return function(_0x57f43a){logger[_0xd31a('0x1a')](_0x57f43a[_0xd31a('0x1b')]);if(_0x57f43a['name']){delete _0x57f43a[_0xd31a('0x1c')];}_0x374459[_0xd31a('0xd')](_0x5247ca)['send'](_0x57f43a);};}exports[_0xd31a('0x1d')]=function(_0x339480,_0x58d8c9){var _0x31fa36={};var _0x36a79f={'count':0x0,'rows':[]};var _0x5d1b79=_['map'](db['MailQueue'][_0xd31a('0x1e')],function(_0x22f6e1){return{'name':_0x22f6e1[_0xd31a('0x1f')],'type':_0x22f6e1[_0xd31a('0x20')][_0xd31a('0x21')]};});_0x31fa36=qs['getOptions'](_0x5d1b79,_0x339480);var _0x272529={'where':_0x31fa36[_0xd31a('0x22')]};return db[_0xd31a('0x23')][_0xd31a('0x11')](_0x272529)['then'](function(_0x3cded5){_0x36a79f[_0xd31a('0x11')]=_0x3cded5;_0x31fa36[_0xd31a('0x24')]=qs[_0xd31a('0x24')](_0x339480[_0xd31a('0x25')]);return db[_0xd31a('0x23')]['findAll'](_0x31fa36);})['then'](function(_0x4798e7){_0x36a79f[_0xd31a('0x26')]=_0x4798e7;return _0x36a79f;})[_0xd31a('0x16')](respondWithFilteredResult(_0x58d8c9,_0x31fa36))[_0xd31a('0x27')](handleError(_0x58d8c9,null));};exports['show']=function(_0x5be2a2,_0x2c865f){var _0x36e35e={'raw':!![],'where':{'id':_0x5be2a2[_0xd31a('0x28')]['id']}},_0xf70404={};_0xf70404[_0xd31a('0x29')]=_[_0xd31a('0x2a')](db[_0xd31a('0x23')]['rawAttributes']);_0xf70404['query']=_['keys'](_0x5be2a2[_0xd31a('0x25')]);_0xf70404[_0xd31a('0x2b')]=_[_0xd31a('0x2c')](_0xf70404[_0xd31a('0x29')],_0xf70404[_0xd31a('0x25')]);_0x36e35e[_0xd31a('0x2d')]=_[_0xd31a('0x2c')](_0xf70404[_0xd31a('0x29')],qs['fields'](_0x5be2a2[_0xd31a('0x25')][_0xd31a('0x2e')]));_0x36e35e[_0xd31a('0x2d')]=_0x36e35e['attributes'][_0xd31a('0x2f')]?_0x36e35e[_0xd31a('0x2d')]:_0xf70404['model'];if(_0x5be2a2['query'][_0xd31a('0x30')]){_0x36e35e[_0xd31a('0x24')]=[{'all':!![]}];}_0x36e35e=_[_0xd31a('0x31')]({},_0x36e35e,_0x5be2a2['options']);return db[_0xd31a('0x23')][_0xd31a('0x32')](_0x36e35e)[_0xd31a('0x16')](handleEntityNotFound(_0x2c865f,null))['then'](respondWithResult(_0x2c865f,null))[_0xd31a('0x27')](handleError(_0x2c865f,null));};exports['create']=function(_0x21d1d2,_0x38a5bc){return db['MailQueue'][_0xd31a('0x33')](_0x21d1d2[_0xd31a('0x34')],{})[_0xd31a('0x16')](function(_0x3617a4){var _0xed8bdf=_0x21d1d2[_0xd31a('0x35')][_0xd31a('0x17')]({'plain':!![]});if(!_0xed8bdf)throw new Error(_0xd31a('0x36'));if(_0xed8bdf[_0xd31a('0x37')]===_0xd31a('0x35')){var _0x57fc9f=_0x3617a4[_0xd31a('0x17')]({'plain':!![]});var _0x59c5a5=_0xd31a('0x18');return db[_0xd31a('0x38')][_0xd31a('0x32')]({'where':{'name':_0x59c5a5,'userProfileId':_0xed8bdf[_0xd31a('0x39')]},'raw':!![]})['then'](function(_0x389b6d){if(_0x389b6d&&_0x389b6d[_0xd31a('0x3a')]===0x0){return db[_0xd31a('0x19')][_0xd31a('0x33')]({'name':_0x57fc9f['name'],'resourceId':_0x57fc9f['id'],'type':_0x389b6d[_0xd31a('0x1c')],'sectionId':_0x389b6d['id']},{})[_0xd31a('0x16')](function(){return _0x3617a4;});}else{return _0x3617a4;}})['catch'](function(_0x4e8d53){logger[_0xd31a('0x1a')](_0xd31a('0x3b'),_0x4e8d53);throw _0x4e8d53;});}return _0x3617a4;})[_0xd31a('0x16')](respondWithResult(_0x38a5bc,0xc9))[_0xd31a('0x27')](handleError(_0x38a5bc,null));};exports[_0xd31a('0x3c')]=function(_0x89fc25,_0x30327f){if(_0x89fc25[_0xd31a('0x34')]['id']){delete _0x89fc25[_0xd31a('0x34')]['id'];}return db['MailQueue'][_0xd31a('0x32')]({'where':{'id':_0x89fc25[_0xd31a('0x28')]['id']}})[_0xd31a('0x16')](handleEntityNotFound(_0x30327f,null))[_0xd31a('0x16')](saveUpdates(_0x89fc25[_0xd31a('0x34')],null))[_0xd31a('0x16')](respondWithResult(_0x30327f,null))[_0xd31a('0x27')](handleError(_0x30327f,null));};exports[_0xd31a('0x15')]=function(_0x3c97ca,_0x3e4c4d){return db[_0xd31a('0x23')][_0xd31a('0x32')]({'where':{'id':_0x3c97ca['params']['id']}})[_0xd31a('0x16')](handleEntityNotFound(_0x3e4c4d,null))['then'](removeEntity(_0x3e4c4d,null))[_0xd31a('0x27')](handleError(_0x3e4c4d,null));};exports['describe']=function(_0x45c3d2,_0x2fe7ab){return db[_0xd31a('0x23')][_0xd31a('0x3d')]()[_0xd31a('0x16')](respondWithResult(_0x2fe7ab,null))[_0xd31a('0x27')](handleError(_0x2fe7ab,null));};exports[_0xd31a('0x3e')]=function(_0x5615d8,_0x3bc7bc){var _0x19b02a={'raw':!![],'where':{}},_0x124199={},_0x47ae53;return db['MailQueue'][_0xd31a('0x3f')]({'where':{'id':_0x5615d8[_0xd31a('0x28')]['id']}})[_0xd31a('0x16')](handleEntityNotFound(_0x3bc7bc,null))[_0xd31a('0x16')](function(_0x133344){if(_0x133344){_0x47ae53=_0x133344[_0xd31a('0x17')]({'plain':!![]});_0x124199['model']=_['keys'](db[_0xd31a('0x40')][_0xd31a('0x1e')]);_0x124199[_0xd31a('0x25')]=_[_0xd31a('0x2a')](_0x5615d8[_0xd31a('0x25')]);_0x124199[_0xd31a('0x2b')]=_[_0xd31a('0x2c')](_0x124199[_0xd31a('0x29')],_0x124199['query']);_0x19b02a['attributes']=_[_0xd31a('0x2c')](_0x124199[_0xd31a('0x29')],qs['fields'](_0x5615d8[_0xd31a('0x25')][_0xd31a('0x2e')]));_0x19b02a[_0xd31a('0x2d')]=_0x19b02a[_0xd31a('0x2d')][_0xd31a('0x2f')]?_0x19b02a[_0xd31a('0x2d')]:_0x124199['model'];if(!_0x5615d8[_0xd31a('0x25')]['hasOwnProperty'](_0xd31a('0x41'))){_0x19b02a['limit']=qs['limit'](_0x5615d8[_0xd31a('0x25')]['limit']);_0x19b02a[_0xd31a('0x12')]=qs[_0xd31a('0x12')](_0x5615d8['query'][_0xd31a('0x12')]);}_0x19b02a[_0xd31a('0x42')]=qs[_0xd31a('0x43')](_0x5615d8[_0xd31a('0x25')][_0xd31a('0x43')]);_0x19b02a[_0xd31a('0x22')]=qs[_0xd31a('0x2b')](_['pick'](_0x5615d8[_0xd31a('0x25')],_0x124199[_0xd31a('0x2b')]));_0x19b02a[_0xd31a('0x22')][_0xd31a('0x44')]=_0x133344['id'];if(_0x5615d8[_0xd31a('0x25')][_0xd31a('0x45')]){_0x19b02a['where']=_[_0xd31a('0x31')](_0x19b02a[_0xd31a('0x22')],{'$or':_[_0xd31a('0x46')](_0x19b02a[_0xd31a('0x2d')],function(_0x20e056){var _0x4f8eee={};_0x4f8eee[_0x20e056]={'$like':'%'+_0x5615d8[_0xd31a('0x25')][_0xd31a('0x45')]+'%'};return _0x4f8eee;})});}_0x19b02a=_[_0xd31a('0x31')]({},_0x19b02a,_0x5615d8['options']);return db[_0xd31a('0x40')][_0xd31a('0x47')](_0x19b02a);}})[_0xd31a('0x16')](function(_0x48b731){if(_0x48b731){return db['User'][_0xd31a('0x48')]({'where':{'id':_[_0xd31a('0x46')](_0x48b731,_0xd31a('0x49')),'role':'agent'},'attributes':['id',_0xd31a('0x1c'),_0xd31a('0x4a'),_0xd31a('0x4b'),_0xd31a('0x4c')]});}})[_0xd31a('0x16')](function(_0x8a2695){if(_0x8a2695){return{'count':_0x8a2695[_0xd31a('0x11')],'rows':_['map'](_0x8a2695[_0xd31a('0x26')],function(_0x5c1fcc){return{'membername':_0x5c1fcc[_0xd31a('0x1c')],'UserId':_0x5c1fcc['id'],'queue_name':_0x47ae53[_0xd31a('0x1c')],'MailQueueId':_0x47ae53['id'],'interface':util[_0xd31a('0x4d')](_0xd31a('0x4e'),_0xd31a('0x4f'),_0x5c1fcc[_0xd31a('0x1c')]),'penalty':0x0,'paused':_0x5c1fcc[_0xd31a('0x4a')],'createdAt':_0x5c1fcc[_0xd31a('0x4c')],'updatedAt':_0x5c1fcc[_0xd31a('0x4b')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd31a('0x16')](respondWithFilteredResult(_0x3bc7bc,_0x19b02a))['catch'](handleError(_0x3bc7bc,null));};exports[_0xd31a('0x50')]=function(_0x2be9a2,_0xbdd742){var _0x58f6ef={};var _0x308205={};var _0x3596ef;var _0x13daf7;return db[_0xd31a('0x23')]['findOne']({'where':{'id':_0x2be9a2['params']['id']}})['then'](handleEntityNotFound(_0xbdd742,null))[_0xd31a('0x16')](function(_0x5b04e8){if(_0x5b04e8){_0x3596ef=_0x5b04e8;_0x308205['model']=_['keys'](db['Team'][_0xd31a('0x1e')]);_0x308205[_0xd31a('0x25')]=_[_0xd31a('0x2a')](_0x2be9a2[_0xd31a('0x25')]);_0x308205['filters']=_[_0xd31a('0x2c')](_0x308205['model'],_0x308205['query']);_0x58f6ef[_0xd31a('0x2d')]=_[_0xd31a('0x2c')](_0x308205[_0xd31a('0x29')],qs[_0xd31a('0x2e')](_0x2be9a2[_0xd31a('0x25')][_0xd31a('0x2e')]));_0x58f6ef['attributes']=_0x58f6ef[_0xd31a('0x2d')][_0xd31a('0x2f')]?_0x58f6ef['attributes']:_0x308205[_0xd31a('0x29')];_0x58f6ef[_0xd31a('0x42')]=qs['sort'](_0x2be9a2[_0xd31a('0x25')][_0xd31a('0x43')]);_0x58f6ef[_0xd31a('0x22')]=qs['filters'](_[_0xd31a('0x51')](_0x2be9a2[_0xd31a('0x25')],_0x308205[_0xd31a('0x2b')]));if(_0x2be9a2['query'][_0xd31a('0x45')]){_0x58f6ef[_0xd31a('0x22')]=_[_0xd31a('0x31')](_0x58f6ef[_0xd31a('0x22')],{'$or':_['map'](_0x58f6ef['attributes'],function(_0x2cb61b){var _0x7e1a9f={};_0x7e1a9f[_0x2cb61b]={'$like':'%'+_0x2be9a2['query'][_0xd31a('0x45')]+'%'};return _0x7e1a9f;})});}_0x58f6ef=_[_0xd31a('0x31')]({},_0x58f6ef,_0x2be9a2['options']);return _0x3596ef['getTeams'](_0x58f6ef);}})['then'](function(_0x96ba75){if(_0x96ba75){_0x13daf7=_0x96ba75[_0xd31a('0x2f')];if(!_0x2be9a2[_0xd31a('0x25')]['hasOwnProperty'](_0xd31a('0x41'))){_0x58f6ef[_0xd31a('0x10')]=qs[_0xd31a('0x10')](_0x2be9a2[_0xd31a('0x25')]['limit']);_0x58f6ef['offset']=qs[_0xd31a('0x12')](_0x2be9a2[_0xd31a('0x25')][_0xd31a('0x12')]);}return _0x3596ef[_0xd31a('0x50')](_0x58f6ef);}})['then'](function(_0xe7c246){if(_0xe7c246){return _0xe7c246?{'count':_0x13daf7,'rows':_0xe7c246}:null;}})[_0xd31a('0x16')](respondWithResult(_0xbdd742,null))['catch'](handleError(_0xbdd742,null));};exports[_0xd31a('0x52')]=function(_0x300e20,_0x451169){var _0x4c6fad=_0x300e20[_0xd31a('0x34')][_0xd31a('0x53')];return db[_0xd31a('0x54')][_0xd31a('0x47')]({'where':{'id':_0x4c6fad},'attributes':['id'],'include':[{'model':db[_0xd31a('0x55')],'as':_0xd31a('0x56'),'attributes':['id','name',_0xd31a('0x57'),'voicePause',_0xd31a('0x58')],'raw':!![]}]})['then'](function(_0x3b3fae){if(_0x3b3fae){var _0xea6028=_[_0xd31a('0x59')](_0x3b3fae,function(_0x212228){var _0x591da9=_0x212228[_0xd31a('0x17')]({'plain':!![]});return _0x591da9[_0xd31a('0x56')];});return db[_0xd31a('0x23')][_0xd31a('0x32')]({'where':{'id':_0x300e20[_0xd31a('0x28')]['id']}})[_0xd31a('0x16')](function(_0x3100e4){return db[_0xd31a('0x5a')]['transaction'](function(_0x3972dd){return _0x3100e4[_0xd31a('0x52')](_0x4c6fad,{'transaction':_0x3972dd})[_0xd31a('0x16')](function(){return BPromise[_0xd31a('0x5b')](_0xea6028,function(_0x5c476e){return db['UserMailQueue']['findOrCreate']({'where':{'UserId':_0x5c476e['id'],'MailQueueId':_0x300e20[_0xd31a('0x28')]['id']},'transaction':_0x3972dd});});})[_0xd31a('0x16')](function(){_0xea6028[_0xd31a('0x5c')](function(_0x2c8f72){socket[_0xd31a('0x5d')]('userMailQueue:save',{'UserId':_0x2c8f72['id'],'MailQueueId':_0x3100e4['id']});});});});});}})[_0xd31a('0x16')](respondWithStatusCode(_0x451169,null))['catch'](handleError(_0x451169,null));};exports['removeTeams']=function(_0x39488f,_0x330a8c){return db[_0xd31a('0x54')][_0xd31a('0x47')]({'where':{'id':_0x39488f[_0xd31a('0x25')][_0xd31a('0x53')]},'attributes':['id'],'include':[{'model':db[_0xd31a('0x55')],'as':_0xd31a('0x56'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x330a8c,null))[_0xd31a('0x16')](function(_0x11885a){var _0x3faa46=_[_0xd31a('0x46')](_0x11885a,'id');var _0x4236ac=[];var _0x2d55be=[];var _0x3559bf=squel[_0xd31a('0x5e')]();_0x3559bf[_0xd31a('0x5f')](_0xd31a('0x60'))[_0xd31a('0x61')]('team_has_mail_queues','tq')[_0xd31a('0x62')]('user_has_teams','ut',_0xd31a('0x63'))[_0xd31a('0x22')](_0xd31a('0x64'),_0x39488f[_0xd31a('0x28')]['id']);for(var _0x5c59b7=0x0;_0x5c59b7<_0x11885a['length'];_0x5c59b7+=0x1){let _0x554257=_0x11885a[_0x5c59b7];for(var _0x31c925=0x0;_0x31c925<_0x554257[_0xd31a('0x56')]['length'];_0x31c925+=0x1){let _0xdadabc=_0x554257[_0xd31a('0x56')][_0x31c925];var _0x4023cf=_0x3559bf['clone']();_0x4023cf['where'](_0xd31a('0x65'),_0xdadabc['id']);_0x2d55be[_0xd31a('0x66')](db[_0xd31a('0x5a')][_0xd31a('0x25')](_0x4023cf[_0xd31a('0x67')](),{'type':db['sequelize'][_0xd31a('0x68')][_0xd31a('0x69')]})['then'](function(_0x5195bd){if(_0x5195bd[_0xd31a('0x2f')]===0x1){return _0xdadabc['id'];}else{var _0x2f4d5f=_[_0xd31a('0x6a')](_[_0xd31a('0x46')](_0x5195bd,_0xd31a('0x6b')),function(_0x221f75){return _[_0xd31a('0x6c')](_0x3faa46,_0x221f75);});if(_0x2f4d5f){return _0xdadabc['id'];}}}));}}return BPromise[_0xd31a('0x6d')](_0x2d55be)[_0xd31a('0x16')](function(_0x4dfdcb){_0x4236ac=_(_0x4236ac)[_0xd31a('0x6e')](_0x4dfdcb)[_0xd31a('0x6f')]()[_0xd31a('0x70')]();return db['MailQueue'][_0xd31a('0x32')]({'where':{'id':_0x39488f[_0xd31a('0x28')]['id']}})['then'](function(_0x5a4886){return db[_0xd31a('0x5a')][_0xd31a('0x71')](function(_0x588de7){return _0x5a4886[_0xd31a('0x72')](_0x39488f[_0xd31a('0x25')][_0xd31a('0x53')],{'transaction':_0x588de7})['then'](function(){if(!_[_0xd31a('0x73')](_0x4236ac)){return _0x5a4886['removeAgents'](_0x4236ac,{'transaction':_0x588de7});}})[_0xd31a('0x16')](function(){_0x4236ac[_0xd31a('0x5c')](function(_0x2bc8a8){socket[_0xd31a('0x5d')](_0xd31a('0x74'),{'UserId':_0x2bc8a8,'MailQueueId':_0x5a4886['id']});});});});});});})[_0xd31a('0x16')](respondWithStatusCode(_0x330a8c,null))[_0xd31a('0x27')](handleError(_0x330a8c,null));};exports[_0xd31a('0x75')]=function(_0x3c804c,_0xc1ec23){return db[_0xd31a('0x23')][_0xd31a('0x32')]({'where':{'id':_0x3c804c[_0xd31a('0x28')]['id']}})[_0xd31a('0x16')](handleEntityNotFound(_0xc1ec23,null))['then'](function(_0x2fbc0b){if(_0x2fbc0b){return _0x2fbc0b['addAgents'](_0x3c804c[_0xd31a('0x34')][_0xd31a('0x53')],_['omit'](_0x3c804c['body'],[_0xd31a('0x53'),'id'])||{})[_0xd31a('0x76')](function(_0x21ac85){for(var _0x32ed88=0x0;_0x32ed88<_0x3c804c[_0xd31a('0x34')][_0xd31a('0x53')][_0xd31a('0x2f')];_0x32ed88+=0x1){socket[_0xd31a('0x5d')](_0xd31a('0x77'),{'UserId':Number(_0x3c804c['body']['ids'][_0x32ed88]),'MailQueueId':Number(_0x3c804c[_0xd31a('0x28')]['id'])});}return _0x21ac85;});}})[_0xd31a('0x16')](respondWithResult(_0xc1ec23,null))['catch'](handleError(_0xc1ec23,null));};exports[_0xd31a('0x78')]=function(_0x429586,_0x374036){return db[_0xd31a('0x23')][_0xd31a('0x32')]({'where':{'id':_0x429586['params']['id']}})[_0xd31a('0x16')](handleEntityNotFound(_0x374036,null))[_0xd31a('0x16')](function(_0x57a9a5){if(_0x57a9a5){return _0x57a9a5[_0xd31a('0x78')](_0x429586[_0xd31a('0x25')]['ids'])[_0xd31a('0x16')](function(){if(_[_0xd31a('0x79')](_0x429586['query'][_0xd31a('0x53')])){for(var _0x1172a1=0x0;_0x1172a1<_0x429586['query'][_0xd31a('0x53')][_0xd31a('0x2f')];_0x1172a1+=0x1){socket[_0xd31a('0x5d')](_0xd31a('0x74'),{'UserId':Number(_0x429586[_0xd31a('0x25')][_0xd31a('0x53')][_0x1172a1]),'MailQueueId':Number(_0x429586[_0xd31a('0x28')]['id'])});}}else{socket[_0xd31a('0x5d')](_0xd31a('0x74'),{'UserId':Number(_0x429586['query'][_0xd31a('0x53')]),'MailQueueId':Number(_0x429586[_0xd31a('0x28')]['id'])});}});}})[_0xd31a('0x16')](respondWithStatusCode(_0x374036,null))[_0xd31a('0x27')](handleError(_0x374036,null));};exports['getAgents']=function(_0x4f4a9c,_0x1f2c61){var _0xcdabde={};var _0x18adba={};var _0x1ba639;var _0x519cf6;return db[_0xd31a('0x23')][_0xd31a('0x3f')]({'where':{'id':_0x4f4a9c[_0xd31a('0x28')]['id']}})[_0xd31a('0x16')](handleEntityNotFound(_0x1f2c61,null))['then'](function(_0x325a78){if(_0x325a78){_0x1ba639=_0x325a78;_0x18adba['model']=_[_0xd31a('0x2a')](db[_0xd31a('0x55')][_0xd31a('0x1e')]);_0x18adba[_0xd31a('0x25')]=_['keys'](_0x4f4a9c['query']);_0x18adba['filters']=_[_0xd31a('0x2c')](_0x18adba[_0xd31a('0x29')],_0x18adba['query']);_0xcdabde['attributes']=_[_0xd31a('0x2c')](_0x18adba[_0xd31a('0x29')],qs[_0xd31a('0x2e')](_0x4f4a9c[_0xd31a('0x25')]['fields']));_0xcdabde['attributes']=_0xcdabde[_0xd31a('0x2d')]['length']?_0xcdabde[_0xd31a('0x2d')]:_0x18adba[_0xd31a('0x29')];_0xcdabde[_0xd31a('0x42')]=qs['sort'](_0x4f4a9c[_0xd31a('0x25')][_0xd31a('0x43')]);_0xcdabde['where']=qs[_0xd31a('0x2b')](_[_0xd31a('0x51')](_0x4f4a9c[_0xd31a('0x25')],_0x18adba['filters']));if(_0x4f4a9c['query'][_0xd31a('0x45')]){_0xcdabde[_0xd31a('0x22')]=_[_0xd31a('0x31')](_0xcdabde[_0xd31a('0x22')],{'$or':_['map'](_0xcdabde[_0xd31a('0x2d')],function(_0x706ac2){var _0x40add7={};_0x40add7[_0x706ac2]={'$like':'%'+_0x4f4a9c[_0xd31a('0x25')][_0xd31a('0x45')]+'%'};return _0x40add7;})});}_0xcdabde=_[_0xd31a('0x31')]({},_0xcdabde,_0x4f4a9c[_0xd31a('0x7a')]);return _0x1ba639[_0xd31a('0x7b')](_0xcdabde);}})[_0xd31a('0x16')](function(_0x94e479){if(_0x94e479){_0x519cf6=_0x94e479[_0xd31a('0x2f')];if(!_0x4f4a9c['query'][_0xd31a('0x7c')](_0xd31a('0x41'))){_0xcdabde[_0xd31a('0x10')]=qs[_0xd31a('0x10')](_0x4f4a9c['query'][_0xd31a('0x10')]);_0xcdabde[_0xd31a('0x12')]=qs[_0xd31a('0x12')](_0x4f4a9c[_0xd31a('0x25')][_0xd31a('0x12')]);}return _0x1ba639['getAgents'](_0xcdabde);}})[_0xd31a('0x16')](function(_0x1a4100){if(_0x1a4100){return _0x1a4100?{'count':_0x519cf6,'rows':_0x1a4100}:null;}})[_0xd31a('0x16')](respondWithResult(_0x1f2c61,null))['catch'](handleError(_0x1f2c61,null));};