221fb90111679b1be972bc23ccf3deb9fc0570f5
[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 _0xd5ca=['status','end','json','undefined','limit','count','offset','set','Content-Range','update','then','destroy','get','sendStatus','stack','name','index','map','MailQueue','rawAttributes','fieldName','getOptions','where','include','query','findAll','rows','show','params','model','keys','filters','intersection','fields','attributes','length','merge','options','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','MailQueues','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserMailQueue','nolimit','order','sort','pick','filter','User','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','Team','getTeams','hasOwnProperty','addTeams','voicePause','interface','flatMap','sequelize','transaction','each','forEach','emit','userMailQueue:save','removeTeams','ids','Agents','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','includes','all','value','isEmpty','removeAgents','addAgents','isArray','getAgents','bluebird','util','squel','ioredis','../../config/logger','api','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register'];(function(_0x4c77b5,_0x2d2fb6){var _0x121a64=function(_0x1f721d){while(--_0x1f721d){_0x4c77b5['push'](_0x4c77b5['shift']());}};_0x121a64(++_0x2d2fb6);}(_0xd5ca,0x164));var _0xad5c=function(_0x385b22,_0x3912c8){_0x385b22=_0x385b22-0x0;var _0x1f538d=_0xd5ca[_0x385b22];return _0x1f538d;};'use strict';var BPromise=require(_0xad5c('0x0'));var util=require(_0xad5c('0x1'));var _=require('lodash');var squel=require(_0xad5c('0x2'));var Redis=require(_0xad5c('0x3'));var qs=require('../../components/parsers/qs');var logger=require(_0xad5c('0x4'))(_0xad5c('0x5'));var config=require('../../config/environment');var db=require(_0xad5c('0x6'))['db'];config[_0xad5c('0x7')]=_[_0xad5c('0x8')](config[_0xad5c('0x7')],{'host':_0xad5c('0x9'),'port':0x18eb});var socket=require(_0xad5c('0xa'))(new Redis(config[_0xad5c('0x7')]));require(_0xad5c('0xb'))[_0xad5c('0xc')](socket);function respondWithStatusCode(_0x23c4fd,_0x508e5c){_0x508e5c=_0x508e5c||0xcc;return function(_0x4e8f96){if(_0x4e8f96){return _0x23c4fd['sendStatus'](_0x508e5c);}return _0x23c4fd[_0xad5c('0xd')](_0x508e5c)[_0xad5c('0xe')]();};}function respondWithResult(_0xf38c3f,_0x20d894){_0x20d894=_0x20d894||0xc8;return function(_0x2b3710){if(_0x2b3710){return _0xf38c3f[_0xad5c('0xd')](_0x20d894)[_0xad5c('0xf')](_0x2b3710);}};}function respondWithFilteredResult(_0x423386,_0x284571){return function(_0x2e34a2){if(_0x2e34a2){var _0x105f10=typeof _0x284571['offset']===_0xad5c('0x10')&&typeof _0x284571[_0xad5c('0x11')]===_0xad5c('0x10');var _0xc080c1=_0x2e34a2[_0xad5c('0x12')];var _0xa41047=_0x105f10?0x0:_0x284571['offset'];var _0x218bae=_0x105f10?_0x2e34a2[_0xad5c('0x12')]:_0x284571[_0xad5c('0x13')]+_0x284571[_0xad5c('0x11')];var _0x23ef01;if(_0x218bae>=_0xc080c1){_0x218bae=_0xc080c1;_0x23ef01=0xc8;}else{_0x23ef01=0xce;}_0x423386['status'](_0x23ef01);return _0x423386[_0xad5c('0x14')](_0xad5c('0x15'),_0xa41047+'-'+_0x218bae+'/'+_0xc080c1)[_0xad5c('0xf')](_0x2e34a2);}return null;};}function saveUpdates(_0x1c4fc0){return function(_0x369132){if(_0x369132){return _0x369132[_0xad5c('0x16')](_0x1c4fc0)[_0xad5c('0x17')](function(_0x16c785){return _0x16c785;});}return null;};}function removeEntity(_0x259a28){return function(_0x3f0fce){if(_0x3f0fce){return _0x3f0fce[_0xad5c('0x18')]()[_0xad5c('0x17')](function(){var _0x22937e=_0x3f0fce[_0xad5c('0x19')]({'plain':!![]});var _0x325067='MailQueues';return db['UserProfileResource'][_0xad5c('0x18')]({'where':{'type':_0x325067,'resourceId':_0x22937e['id']}})[_0xad5c('0x17')](function(){return _0x3f0fce;});})['then'](function(){_0x259a28['status'](0xcc)[_0xad5c('0xe')]();});}};}function handleEntityNotFound(_0x1f3c79){return function(_0x4476ab){if(!_0x4476ab){_0x1f3c79[_0xad5c('0x1a')](0x194);}return _0x4476ab;};}function handleError(_0x37711f,_0x361af7){_0x361af7=_0x361af7||0x1f4;return function(_0x233bd2){logger['error'](_0x233bd2[_0xad5c('0x1b')]);if(_0x233bd2[_0xad5c('0x1c')]){delete _0x233bd2[_0xad5c('0x1c')];}_0x37711f['status'](_0x361af7)['send'](_0x233bd2);};}exports[_0xad5c('0x1d')]=function(_0x35eee4,_0x123deb){var _0x26e3b7={};var _0x33eee5={'count':0x0,'rows':[]};var _0x37bdde=_[_0xad5c('0x1e')](db[_0xad5c('0x1f')][_0xad5c('0x20')],function(_0x6f9631){return{'name':_0x6f9631[_0xad5c('0x21')],'type':_0x6f9631['type']['key']};});_0x26e3b7=qs[_0xad5c('0x22')](_0x37bdde,_0x35eee4);var _0x17051e={'where':_0x26e3b7[_0xad5c('0x23')]};return db[_0xad5c('0x1f')]['count'](_0x17051e)[_0xad5c('0x17')](function(_0x58c18a){_0x33eee5[_0xad5c('0x12')]=_0x58c18a;_0x26e3b7[_0xad5c('0x24')]=qs[_0xad5c('0x24')](_0x35eee4[_0xad5c('0x25')]);return db[_0xad5c('0x1f')][_0xad5c('0x26')](_0x26e3b7);})[_0xad5c('0x17')](function(_0x25c68f){_0x33eee5[_0xad5c('0x27')]=_0x25c68f;return _0x33eee5;})[_0xad5c('0x17')](respondWithFilteredResult(_0x123deb,_0x26e3b7))['catch'](handleError(_0x123deb,null));};exports[_0xad5c('0x28')]=function(_0x4d6d21,_0x324ad4){var _0x42299a={'raw':!![],'where':{'id':_0x4d6d21[_0xad5c('0x29')]['id']}},_0x371ec6={};_0x371ec6[_0xad5c('0x2a')]=_[_0xad5c('0x2b')](db['MailQueue']['rawAttributes']);_0x371ec6[_0xad5c('0x25')]=_[_0xad5c('0x2b')](_0x4d6d21['query']);_0x371ec6[_0xad5c('0x2c')]=_[_0xad5c('0x2d')](_0x371ec6[_0xad5c('0x2a')],_0x371ec6[_0xad5c('0x25')]);_0x42299a['attributes']=_['intersection'](_0x371ec6['model'],qs[_0xad5c('0x2e')](_0x4d6d21[_0xad5c('0x25')][_0xad5c('0x2e')]));_0x42299a[_0xad5c('0x2f')]=_0x42299a[_0xad5c('0x2f')][_0xad5c('0x30')]?_0x42299a[_0xad5c('0x2f')]:_0x371ec6[_0xad5c('0x2a')];if(_0x4d6d21['query']['includeAll']){_0x42299a[_0xad5c('0x24')]=[{'all':!![]}];}_0x42299a=_[_0xad5c('0x31')]({},_0x42299a,_0x4d6d21[_0xad5c('0x32')]);return db[_0xad5c('0x1f')][_0xad5c('0x33')](_0x42299a)['then'](handleEntityNotFound(_0x324ad4,null))['then'](respondWithResult(_0x324ad4,null))[_0xad5c('0x34')](handleError(_0x324ad4,null));};exports['create']=function(_0x43551d,_0x4c8084){return db[_0xad5c('0x1f')][_0xad5c('0x35')](_0x43551d[_0xad5c('0x36')],{})[_0xad5c('0x17')](function(_0x33dcd6){var _0x2c37d0=_0x43551d[_0xad5c('0x37')][_0xad5c('0x19')]({'plain':!![]});if(!_0x2c37d0)throw new Error(_0xad5c('0x38'));if(_0x2c37d0[_0xad5c('0x39')]===_0xad5c('0x37')){var _0x4fcd35=_0x33dcd6['get']({'plain':!![]});var _0x1cfef2=_0xad5c('0x3a');return db[_0xad5c('0x3b')][_0xad5c('0x33')]({'where':{'name':_0x1cfef2,'userProfileId':_0x2c37d0[_0xad5c('0x3c')]},'raw':!![]})['then'](function(_0x4180e0){if(_0x4180e0&&_0x4180e0[_0xad5c('0x3d')]===0x0){return db[_0xad5c('0x3e')]['create']({'name':_0x4fcd35[_0xad5c('0x1c')],'resourceId':_0x4fcd35['id'],'type':_0x4180e0[_0xad5c('0x1c')],'sectionId':_0x4180e0['id']},{})['then'](function(){return _0x33dcd6;});}else{return _0x33dcd6;}})[_0xad5c('0x34')](function(_0x1b193b){logger[_0xad5c('0x3f')](_0xad5c('0x40'),_0x1b193b);throw _0x1b193b;});}return _0x33dcd6;})['then'](respondWithResult(_0x4c8084,0xc9))[_0xad5c('0x34')](handleError(_0x4c8084,null));};exports[_0xad5c('0x16')]=function(_0x3a15c9,_0x149d61){if(_0x3a15c9[_0xad5c('0x36')]['id']){delete _0x3a15c9[_0xad5c('0x36')]['id'];}return db[_0xad5c('0x1f')]['find']({'where':{'id':_0x3a15c9[_0xad5c('0x29')]['id']}})[_0xad5c('0x17')](handleEntityNotFound(_0x149d61,null))[_0xad5c('0x17')](saveUpdates(_0x3a15c9['body'],null))[_0xad5c('0x17')](respondWithResult(_0x149d61,null))[_0xad5c('0x34')](handleError(_0x149d61,null));};exports[_0xad5c('0x18')]=function(_0x3f3424,_0x3fcbde){return db[_0xad5c('0x1f')][_0xad5c('0x33')]({'where':{'id':_0x3f3424[_0xad5c('0x29')]['id']}})[_0xad5c('0x17')](handleEntityNotFound(_0x3fcbde,null))[_0xad5c('0x17')](removeEntity(_0x3fcbde,null))['catch'](handleError(_0x3fcbde,null));};exports[_0xad5c('0x41')]=function(_0x5866ad,_0x30bd04){return db[_0xad5c('0x1f')]['describe']()[_0xad5c('0x17')](respondWithResult(_0x30bd04,null))[_0xad5c('0x34')](handleError(_0x30bd04,null));};exports[_0xad5c('0x42')]=function(_0x2f3e59,_0x3b95a2){var _0x12fd20={'raw':!![],'where':{}},_0x25a3fa={},_0x5e9426;return db[_0xad5c('0x1f')][_0xad5c('0x43')]({'where':{'id':_0x2f3e59[_0xad5c('0x29')]['id']}})['then'](handleEntityNotFound(_0x3b95a2,null))[_0xad5c('0x17')](function(_0x154ef6){if(_0x154ef6){_0x5e9426=_0x154ef6['get']({'plain':!![]});_0x25a3fa['model']=_['keys'](db[_0xad5c('0x44')][_0xad5c('0x20')]);_0x25a3fa['query']=_[_0xad5c('0x2b')](_0x2f3e59[_0xad5c('0x25')]);_0x25a3fa[_0xad5c('0x2c')]=_[_0xad5c('0x2d')](_0x25a3fa['model'],_0x25a3fa[_0xad5c('0x25')]);_0x12fd20[_0xad5c('0x2f')]=_['intersection'](_0x25a3fa[_0xad5c('0x2a')],qs[_0xad5c('0x2e')](_0x2f3e59[_0xad5c('0x25')]['fields']));_0x12fd20[_0xad5c('0x2f')]=_0x12fd20[_0xad5c('0x2f')][_0xad5c('0x30')]?_0x12fd20[_0xad5c('0x2f')]:_0x25a3fa[_0xad5c('0x2a')];if(!_0x2f3e59[_0xad5c('0x25')]['hasOwnProperty'](_0xad5c('0x45'))){_0x12fd20[_0xad5c('0x11')]=qs[_0xad5c('0x11')](_0x2f3e59[_0xad5c('0x25')]['limit']);_0x12fd20['offset']=qs[_0xad5c('0x13')](_0x2f3e59[_0xad5c('0x25')][_0xad5c('0x13')]);}_0x12fd20[_0xad5c('0x46')]=qs[_0xad5c('0x47')](_0x2f3e59['query'][_0xad5c('0x47')]);_0x12fd20[_0xad5c('0x23')]=qs[_0xad5c('0x2c')](_[_0xad5c('0x48')](_0x2f3e59['query'],_0x25a3fa[_0xad5c('0x2c')]));_0x12fd20[_0xad5c('0x23')]['MailQueueId']=_0x154ef6['id'];if(_0x2f3e59[_0xad5c('0x25')]['filter']){_0x12fd20[_0xad5c('0x23')]=_[_0xad5c('0x31')](_0x12fd20[_0xad5c('0x23')],{'$or':_[_0xad5c('0x1e')](_0x12fd20[_0xad5c('0x2f')],function(_0x14151f){var _0x3f03e4={};_0x3f03e4[_0x14151f]={'$like':'%'+_0x2f3e59[_0xad5c('0x25')][_0xad5c('0x49')]+'%'};return _0x3f03e4;})});}_0x12fd20=_[_0xad5c('0x31')]({},_0x12fd20,_0x2f3e59[_0xad5c('0x32')]);return db['UserMailQueue']['findAll'](_0x12fd20);}})[_0xad5c('0x17')](function(_0x29cc){if(_0x29cc){return db[_0xad5c('0x4a')][_0xad5c('0x4b')]({'where':{'id':_['map'](_0x29cc,_0xad5c('0x4c')),'role':_0xad5c('0x4d')},'attributes':['id',_0xad5c('0x1c'),_0xad5c('0x4e'),_0xad5c('0x4f'),_0xad5c('0x50')]});}})[_0xad5c('0x17')](function(_0x557ff4){if(_0x557ff4){return{'count':_0x557ff4[_0xad5c('0x12')],'rows':_[_0xad5c('0x1e')](_0x557ff4['rows'],function(_0x1d571f){return{'membername':_0x1d571f[_0xad5c('0x1c')],'UserId':_0x1d571f['id'],'queue_name':_0x5e9426['name'],'MailQueueId':_0x5e9426['id'],'interface':util[_0xad5c('0x51')](_0xad5c('0x52'),_0xad5c('0x53'),_0x1d571f['name']),'penalty':0x0,'paused':_0x1d571f[_0xad5c('0x4e')],'createdAt':_0x1d571f[_0xad5c('0x50')],'updatedAt':_0x1d571f[_0xad5c('0x4f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xad5c('0x17')](respondWithFilteredResult(_0x3b95a2,_0x12fd20))[_0xad5c('0x34')](handleError(_0x3b95a2,null));};exports['getTeams']=function(_0x58001a,_0x177bda){var _0x211a7d={};var _0x512837={};var _0x5a6d5c;var _0x49e2a0;return db['MailQueue'][_0xad5c('0x43')]({'where':{'id':_0x58001a['params']['id']}})['then'](handleEntityNotFound(_0x177bda,null))['then'](function(_0x462a9e){if(_0x462a9e){_0x5a6d5c=_0x462a9e;_0x512837[_0xad5c('0x2a')]=_[_0xad5c('0x2b')](db[_0xad5c('0x54')][_0xad5c('0x20')]);_0x512837[_0xad5c('0x25')]=_[_0xad5c('0x2b')](_0x58001a['query']);_0x512837['filters']=_[_0xad5c('0x2d')](_0x512837[_0xad5c('0x2a')],_0x512837[_0xad5c('0x25')]);_0x211a7d['attributes']=_[_0xad5c('0x2d')](_0x512837[_0xad5c('0x2a')],qs['fields'](_0x58001a['query'][_0xad5c('0x2e')]));_0x211a7d[_0xad5c('0x2f')]=_0x211a7d[_0xad5c('0x2f')][_0xad5c('0x30')]?_0x211a7d[_0xad5c('0x2f')]:_0x512837[_0xad5c('0x2a')];_0x211a7d[_0xad5c('0x46')]=qs[_0xad5c('0x47')](_0x58001a['query'][_0xad5c('0x47')]);_0x211a7d[_0xad5c('0x23')]=qs[_0xad5c('0x2c')](_['pick'](_0x58001a['query'],_0x512837[_0xad5c('0x2c')]));if(_0x58001a[_0xad5c('0x25')][_0xad5c('0x49')]){_0x211a7d[_0xad5c('0x23')]=_[_0xad5c('0x31')](_0x211a7d['where'],{'$or':_[_0xad5c('0x1e')](_0x211a7d[_0xad5c('0x2f')],function(_0x2a25c7){var _0x11473c={};_0x11473c[_0x2a25c7]={'$like':'%'+_0x58001a['query'][_0xad5c('0x49')]+'%'};return _0x11473c;})});}_0x211a7d=_[_0xad5c('0x31')]({},_0x211a7d,_0x58001a[_0xad5c('0x32')]);return _0x5a6d5c[_0xad5c('0x55')](_0x211a7d);}})[_0xad5c('0x17')](function(_0x41388e){if(_0x41388e){_0x49e2a0=_0x41388e['length'];if(!_0x58001a[_0xad5c('0x25')][_0xad5c('0x56')](_0xad5c('0x45'))){_0x211a7d[_0xad5c('0x11')]=qs['limit'](_0x58001a['query'][_0xad5c('0x11')]);_0x211a7d[_0xad5c('0x13')]=qs[_0xad5c('0x13')](_0x58001a[_0xad5c('0x25')][_0xad5c('0x13')]);}return _0x5a6d5c['getTeams'](_0x211a7d);}})['then'](function(_0x19f8d0){if(_0x19f8d0){return _0x19f8d0?{'count':_0x49e2a0,'rows':_0x19f8d0}:null;}})[_0xad5c('0x17')](respondWithResult(_0x177bda,null))[_0xad5c('0x34')](handleError(_0x177bda,null));};exports[_0xad5c('0x57')]=function(_0x4669a1,_0x12c6fd){var _0x5e853b=_0x4669a1['body']['ids'];return db[_0xad5c('0x54')][_0xad5c('0x26')]({'where':{'id':_0x5e853b},'attributes':['id'],'include':[{'model':db[_0xad5c('0x4a')],'as':'Agents','attributes':['id',_0xad5c('0x1c'),'online',_0xad5c('0x58'),_0xad5c('0x59')],'raw':!![]}]})[_0xad5c('0x17')](function(_0x2cc558){if(_0x2cc558){var _0x45babc=_[_0xad5c('0x5a')](_0x2cc558,function(_0x5aab8c){var _0x853609=_0x5aab8c['get']({'plain':!![]});return _0x853609['Agents'];});return db[_0xad5c('0x1f')][_0xad5c('0x33')]({'where':{'id':_0x4669a1[_0xad5c('0x29')]['id']}})[_0xad5c('0x17')](function(_0x29980a){return db[_0xad5c('0x5b')][_0xad5c('0x5c')](function(_0x9ae89b){return _0x29980a['addTeams'](_0x5e853b,{'transaction':_0x9ae89b})[_0xad5c('0x17')](function(){return BPromise[_0xad5c('0x5d')](_0x45babc,function(_0x5747da){return db[_0xad5c('0x44')]['findOrCreate']({'where':{'UserId':_0x5747da['id'],'MailQueueId':_0x4669a1['params']['id']},'transaction':_0x9ae89b});});})['then'](function(){_0x45babc[_0xad5c('0x5e')](function(_0x2a8c19){socket[_0xad5c('0x5f')](_0xad5c('0x60'),{'UserId':_0x2a8c19['id'],'MailQueueId':_0x29980a['id']});});});});});}})[_0xad5c('0x17')](respondWithStatusCode(_0x12c6fd,null))['catch'](handleError(_0x12c6fd,null));};exports[_0xad5c('0x61')]=function(_0x46806b,_0x345d5e){return db['Team'][_0xad5c('0x26')]({'where':{'id':_0x46806b[_0xad5c('0x25')][_0xad5c('0x62')]},'attributes':['id'],'include':[{'model':db[_0xad5c('0x4a')],'as':_0xad5c('0x63'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x345d5e,null))['then'](function(_0x3e35dd){var _0x4deb4b=_[_0xad5c('0x1e')](_0x3e35dd,'id');var _0x4a00d4=[];var _0x286cfa=[];var _0x4dd9e4=squel[_0xad5c('0x64')]();_0x4dd9e4[_0xad5c('0x65')](_0xad5c('0x66'))[_0xad5c('0x67')]('team_has_mail_queues','tq')[_0xad5c('0x68')](_0xad5c('0x69'),'ut',_0xad5c('0x6a'))[_0xad5c('0x23')](_0xad5c('0x6b'),_0x46806b[_0xad5c('0x29')]['id']);for(var _0x35fe7d=0x0;_0x35fe7d<_0x3e35dd[_0xad5c('0x30')];_0x35fe7d+=0x1){let _0x5e5683=_0x3e35dd[_0x35fe7d];for(var _0x546d65=0x0;_0x546d65<_0x5e5683['Agents']['length'];_0x546d65+=0x1){let _0x429dbf=_0x5e5683[_0xad5c('0x63')][_0x546d65];var _0x4141c7=_0x4dd9e4[_0xad5c('0x6c')]();_0x4141c7[_0xad5c('0x23')](_0xad5c('0x6d'),_0x429dbf['id']);_0x286cfa[_0xad5c('0x6e')](db[_0xad5c('0x5b')][_0xad5c('0x25')](_0x4141c7[_0xad5c('0x6f')](),{'type':db[_0xad5c('0x5b')][_0xad5c('0x70')][_0xad5c('0x71')]})[_0xad5c('0x17')](function(_0x265587){if(_0x265587[_0xad5c('0x30')]===0x1){return _0x429dbf['id'];}else{var _0x4cbb49=_[_0xad5c('0x72')](_['map'](_0x265587,'TeamId'),function(_0x2afcad){return _[_0xad5c('0x73')](_0x4deb4b,_0x2afcad);});if(_0x4cbb49){return _0x429dbf['id'];}}}));}}return BPromise[_0xad5c('0x74')](_0x286cfa)[_0xad5c('0x17')](function(_0x4784b0){_0x4a00d4=_(_0x4a00d4)['union'](_0x4784b0)['compact']()[_0xad5c('0x75')]();return db[_0xad5c('0x1f')][_0xad5c('0x33')]({'where':{'id':_0x46806b[_0xad5c('0x29')]['id']}})[_0xad5c('0x17')](function(_0x2405d4){return db[_0xad5c('0x5b')][_0xad5c('0x5c')](function(_0x216865){return _0x2405d4[_0xad5c('0x61')](_0x46806b['query']['ids'],{'transaction':_0x216865})[_0xad5c('0x17')](function(){if(!_[_0xad5c('0x76')](_0x4a00d4)){return _0x2405d4[_0xad5c('0x77')](_0x4a00d4,{'transaction':_0x216865});}})[_0xad5c('0x17')](function(){_0x4a00d4['forEach'](function(_0x519331){socket[_0xad5c('0x5f')]('userMailQueue:remove',{'UserId':_0x519331,'MailQueueId':_0x2405d4['id']});});});});});});})[_0xad5c('0x17')](respondWithStatusCode(_0x345d5e,null))['catch'](handleError(_0x345d5e,null));};exports[_0xad5c('0x78')]=function(_0x5965b4,_0x190cb9){return db[_0xad5c('0x1f')][_0xad5c('0x33')]({'where':{'id':_0x5965b4[_0xad5c('0x29')]['id']}})[_0xad5c('0x17')](handleEntityNotFound(_0x190cb9,null))[_0xad5c('0x17')](function(_0x1cc5e9){if(_0x1cc5e9){return _0x1cc5e9[_0xad5c('0x78')](_0x5965b4[_0xad5c('0x36')][_0xad5c('0x62')],_['omit'](_0x5965b4[_0xad5c('0x36')],['ids','id'])||{})['spread'](function(_0x76caec){for(var _0x278025=0x0;_0x278025<_0x5965b4[_0xad5c('0x36')][_0xad5c('0x62')][_0xad5c('0x30')];_0x278025+=0x1){socket['emit'](_0xad5c('0x60'),{'UserId':Number(_0x5965b4[_0xad5c('0x36')][_0xad5c('0x62')][_0x278025]),'MailQueueId':Number(_0x5965b4[_0xad5c('0x29')]['id'])});}return _0x76caec;});}})[_0xad5c('0x17')](respondWithResult(_0x190cb9,null))[_0xad5c('0x34')](handleError(_0x190cb9,null));};exports[_0xad5c('0x77')]=function(_0x143363,_0x144525){return db[_0xad5c('0x1f')]['find']({'where':{'id':_0x143363[_0xad5c('0x29')]['id']}})[_0xad5c('0x17')](handleEntityNotFound(_0x144525,null))['then'](function(_0x4d96a5){if(_0x4d96a5){return _0x4d96a5[_0xad5c('0x77')](_0x143363[_0xad5c('0x25')][_0xad5c('0x62')])[_0xad5c('0x17')](function(){if(_[_0xad5c('0x79')](_0x143363[_0xad5c('0x25')][_0xad5c('0x62')])){for(var _0x15a754=0x0;_0x15a754<_0x143363['query'][_0xad5c('0x62')]['length'];_0x15a754+=0x1){socket[_0xad5c('0x5f')]('userMailQueue:remove',{'UserId':Number(_0x143363['query'][_0xad5c('0x62')][_0x15a754]),'MailQueueId':Number(_0x143363[_0xad5c('0x29')]['id'])});}}else{socket[_0xad5c('0x5f')]('userMailQueue:remove',{'UserId':Number(_0x143363[_0xad5c('0x25')]['ids']),'MailQueueId':Number(_0x143363[_0xad5c('0x29')]['id'])});}});}})[_0xad5c('0x17')](respondWithStatusCode(_0x144525,null))[_0xad5c('0x34')](handleError(_0x144525,null));};exports[_0xad5c('0x7a')]=function(_0x2d5705,_0x3b1dcf){var _0x154950={};var _0x4cbcec={};var _0x380e6f;var _0x2948b9;return db[_0xad5c('0x1f')][_0xad5c('0x43')]({'where':{'id':_0x2d5705['params']['id']}})['then'](handleEntityNotFound(_0x3b1dcf,null))[_0xad5c('0x17')](function(_0x4a0cfd){if(_0x4a0cfd){_0x380e6f=_0x4a0cfd;_0x4cbcec[_0xad5c('0x2a')]=_['keys'](db[_0xad5c('0x4a')][_0xad5c('0x20')]);_0x4cbcec[_0xad5c('0x25')]=_[_0xad5c('0x2b')](_0x2d5705[_0xad5c('0x25')]);_0x4cbcec[_0xad5c('0x2c')]=_['intersection'](_0x4cbcec['model'],_0x4cbcec['query']);_0x154950['attributes']=_['intersection'](_0x4cbcec[_0xad5c('0x2a')],qs['fields'](_0x2d5705[_0xad5c('0x25')]['fields']));_0x154950['attributes']=_0x154950[_0xad5c('0x2f')]['length']?_0x154950[_0xad5c('0x2f')]:_0x4cbcec['model'];_0x154950[_0xad5c('0x46')]=qs[_0xad5c('0x47')](_0x2d5705['query']['sort']);_0x154950[_0xad5c('0x23')]=qs[_0xad5c('0x2c')](_[_0xad5c('0x48')](_0x2d5705[_0xad5c('0x25')],_0x4cbcec[_0xad5c('0x2c')]));if(_0x2d5705[_0xad5c('0x25')][_0xad5c('0x49')]){_0x154950[_0xad5c('0x23')]=_[_0xad5c('0x31')](_0x154950['where'],{'$or':_[_0xad5c('0x1e')](_0x154950[_0xad5c('0x2f')],function(_0x2ee512){var _0x5daa90={};_0x5daa90[_0x2ee512]={'$like':'%'+_0x2d5705[_0xad5c('0x25')][_0xad5c('0x49')]+'%'};return _0x5daa90;})});}_0x154950=_['merge']({},_0x154950,_0x2d5705[_0xad5c('0x32')]);return _0x380e6f['getAgents'](_0x154950);}})[_0xad5c('0x17')](function(_0xc544f0){if(_0xc544f0){_0x2948b9=_0xc544f0[_0xad5c('0x30')];if(!_0x2d5705[_0xad5c('0x25')]['hasOwnProperty'](_0xad5c('0x45'))){_0x154950[_0xad5c('0x11')]=qs['limit'](_0x2d5705[_0xad5c('0x25')][_0xad5c('0x11')]);_0x154950[_0xad5c('0x13')]=qs[_0xad5c('0x13')](_0x2d5705[_0xad5c('0x25')][_0xad5c('0x13')]);}return _0x380e6f[_0xad5c('0x7a')](_0x154950);}})['then'](function(_0x45eacd){if(_0x45eacd){return _0x45eacd?{'count':_0x2948b9,'rows':_0x45eacd}:null;}})[_0xad5c('0x17')](respondWithResult(_0x3b1dcf,null))['catch'](handleError(_0x3b1dcf,null));};