6d5576761222b1947db27a02ebd8f4ed71498144
[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 _0x6c7d=['createdAt','format','%s/%s','getTeams','Team','ids','Agents','online','voicePause','flatMap','sequelize','addTeams','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','tq.TeamId','from','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','QueryTypes','SELECT','every','TeamId','all','union','compact','isEmpty','removeAgents','addAgents','isArray','userMailQueue:remove','getAgents','findOne','util','lodash','squel','../../components/parsers/qs','../../config/logger','../../config/environment','defaults','localhost','socket.io-emitter','redis','./mailQueue.socket','register','sendStatus','status','json','undefined','limit','offset','update','then','destroy','get','UserProfileResource','end','error','stack','name','index','fieldName','type','key','getOptions','count','include','query','MailQueue','findAll','rows','catch','show','model','keys','rawAttributes','filters','intersection','fields','attributes','length','merge','options','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','MailQueues','UserProfileSection','find','userProfileId','create','params','describe','getMembers','UserMailQueue','hasOwnProperty','nolimit','order','sort','where','pick','MailQueueId','filter','map','User','UserId','agent','mailPause','updatedAt'];(function(_0x337ce5,_0x5ebfdd){var _0x1b9e8b=function(_0x1d9060){while(--_0x1d9060){_0x337ce5['push'](_0x337ce5['shift']());}};_0x1b9e8b(++_0x5ebfdd);}(_0x6c7d,0x183));var _0xd6c7=function(_0x485299,_0xa8f511){_0x485299=_0x485299-0x0;var _0x3065a2=_0x6c7d[_0x485299];return _0x3065a2;};'use strict';var BPromise=require('bluebird');var util=require(_0xd6c7('0x0'));var _=require(_0xd6c7('0x1'));var squel=require(_0xd6c7('0x2'));var Redis=require('ioredis');var qs=require(_0xd6c7('0x3'));var logger=require(_0xd6c7('0x4'))('api');var config=require(_0xd6c7('0x5'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xd6c7('0x6')](config['redis'],{'host':_0xd6c7('0x7'),'port':0x18eb});var socket=require(_0xd6c7('0x8'))(new Redis(config[_0xd6c7('0x9')]));require(_0xd6c7('0xa'))[_0xd6c7('0xb')](socket);function respondWithStatusCode(_0x3b99c2,_0x1d87b5){_0x1d87b5=_0x1d87b5||0xcc;return function(_0x494273){if(_0x494273){return _0x3b99c2[_0xd6c7('0xc')](_0x1d87b5);}return _0x3b99c2[_0xd6c7('0xd')](_0x1d87b5)['end']();};}function respondWithResult(_0x4de0b5,_0x593103){_0x593103=_0x593103||0xc8;return function(_0x12978f){if(_0x12978f){return _0x4de0b5[_0xd6c7('0xd')](_0x593103)[_0xd6c7('0xe')](_0x12978f);}};}function respondWithFilteredResult(_0x5c8b2d,_0x468fbd){return function(_0x256f28){if(_0x256f28){var _0x437300=typeof _0x468fbd['offset']===_0xd6c7('0xf')&&typeof _0x468fbd[_0xd6c7('0x10')]===_0xd6c7('0xf');var _0x137be3=_0x256f28['count'];var _0x49b1bd=_0x437300?0x0:_0x468fbd[_0xd6c7('0x11')];var _0xf2b6a9=_0x437300?_0x256f28['count']:_0x468fbd[_0xd6c7('0x11')]+_0x468fbd['limit'];var _0x1069c9;if(_0xf2b6a9>=_0x137be3){_0xf2b6a9=_0x137be3;_0x1069c9=0xc8;}else{_0x1069c9=0xce;}_0x5c8b2d[_0xd6c7('0xd')](_0x1069c9);return _0x5c8b2d['set']('Content-Range',_0x49b1bd+'-'+_0xf2b6a9+'/'+_0x137be3)[_0xd6c7('0xe')](_0x256f28);}return null;};}function saveUpdates(_0x3b8cd4){return function(_0x17f317){if(_0x17f317){return _0x17f317[_0xd6c7('0x12')](_0x3b8cd4)[_0xd6c7('0x13')](function(_0x17cad7){return _0x17cad7;});}return null;};}function removeEntity(_0x252cef){return function(_0xb8d988){if(_0xb8d988){return _0xb8d988[_0xd6c7('0x14')]()[_0xd6c7('0x13')](function(){var _0x5c20d5=_0xb8d988[_0xd6c7('0x15')]({'plain':!![]});var _0x4b79e2='MailQueues';return db[_0xd6c7('0x16')][_0xd6c7('0x14')]({'where':{'type':_0x4b79e2,'resourceId':_0x5c20d5['id']}})[_0xd6c7('0x13')](function(){return _0xb8d988;});})['then'](function(){_0x252cef['status'](0xcc)[_0xd6c7('0x17')]();});}};}function handleEntityNotFound(_0x242d7e){return function(_0x37f22a){if(!_0x37f22a){_0x242d7e['sendStatus'](0x194);}return _0x37f22a;};}function handleError(_0x2228b9,_0x132b65){_0x132b65=_0x132b65||0x1f4;return function(_0x1b7b15){logger[_0xd6c7('0x18')](_0x1b7b15[_0xd6c7('0x19')]);if(_0x1b7b15[_0xd6c7('0x1a')]){delete _0x1b7b15[_0xd6c7('0x1a')];}_0x2228b9[_0xd6c7('0xd')](_0x132b65)['send'](_0x1b7b15);};}exports[_0xd6c7('0x1b')]=function(_0x3ef4c9,_0x1ce55f){var _0x5beb74={};var _0x204536={'count':0x0,'rows':[]};var _0x116b16=_['map'](db['MailQueue']['rawAttributes'],function(_0x105b8f){return{'name':_0x105b8f[_0xd6c7('0x1c')],'type':_0x105b8f[_0xd6c7('0x1d')][_0xd6c7('0x1e')]};});_0x5beb74=qs[_0xd6c7('0x1f')](_0x116b16,_0x3ef4c9);var _0x519e90={'where':_0x5beb74['where']};return db['MailQueue']['count'](_0x519e90)[_0xd6c7('0x13')](function(_0x103a73){_0x204536[_0xd6c7('0x20')]=_0x103a73;_0x5beb74[_0xd6c7('0x21')]=qs['include'](_0x3ef4c9[_0xd6c7('0x22')]);return db[_0xd6c7('0x23')][_0xd6c7('0x24')](_0x5beb74);})[_0xd6c7('0x13')](function(_0x2a92f4){_0x204536[_0xd6c7('0x25')]=_0x2a92f4;return _0x204536;})['then'](respondWithFilteredResult(_0x1ce55f,_0x5beb74))[_0xd6c7('0x26')](handleError(_0x1ce55f,null));};exports[_0xd6c7('0x27')]=function(_0x16ae1a,_0x2238f0){var _0x893c3={'raw':!![],'where':{'id':_0x16ae1a['params']['id']}},_0x2c1877={};_0x2c1877[_0xd6c7('0x28')]=_[_0xd6c7('0x29')](db[_0xd6c7('0x23')][_0xd6c7('0x2a')]);_0x2c1877[_0xd6c7('0x22')]=_['keys'](_0x16ae1a[_0xd6c7('0x22')]);_0x2c1877[_0xd6c7('0x2b')]=_[_0xd6c7('0x2c')](_0x2c1877[_0xd6c7('0x28')],_0x2c1877[_0xd6c7('0x22')]);_0x893c3['attributes']=_[_0xd6c7('0x2c')](_0x2c1877['model'],qs[_0xd6c7('0x2d')](_0x16ae1a[_0xd6c7('0x22')][_0xd6c7('0x2d')]));_0x893c3[_0xd6c7('0x2e')]=_0x893c3[_0xd6c7('0x2e')][_0xd6c7('0x2f')]?_0x893c3['attributes']:_0x2c1877[_0xd6c7('0x28')];if(_0x16ae1a['query']['includeAll']){_0x893c3[_0xd6c7('0x21')]=[{'all':!![]}];}_0x893c3=_[_0xd6c7('0x30')]({},_0x893c3,_0x16ae1a[_0xd6c7('0x31')]);return db[_0xd6c7('0x23')]['find'](_0x893c3)[_0xd6c7('0x13')](handleEntityNotFound(_0x2238f0,null))[_0xd6c7('0x13')](respondWithResult(_0x2238f0,null))[_0xd6c7('0x26')](handleError(_0x2238f0,null));};exports['create']=function(_0x30b960,_0x359b10){return db[_0xd6c7('0x23')]['create'](_0x30b960[_0xd6c7('0x32')],{})['then'](function(_0x50dc66){var _0x2987a0=_0x30b960[_0xd6c7('0x33')][_0xd6c7('0x15')]({'plain':!![]});if(!_0x2987a0)throw new Error(_0xd6c7('0x34'));if(_0x2987a0[_0xd6c7('0x35')]===_0xd6c7('0x33')){var _0x189b75=_0x50dc66[_0xd6c7('0x15')]({'plain':!![]});var _0x245704=_0xd6c7('0x36');return db[_0xd6c7('0x37')][_0xd6c7('0x38')]({'where':{'name':_0x245704,'userProfileId':_0x2987a0[_0xd6c7('0x39')]},'raw':!![]})[_0xd6c7('0x13')](function(_0x21441b){if(_0x21441b&&_0x21441b['autoAssociation']===0x0){return db[_0xd6c7('0x16')][_0xd6c7('0x3a')]({'name':_0x189b75[_0xd6c7('0x1a')],'resourceId':_0x189b75['id'],'type':_0x21441b[_0xd6c7('0x1a')],'sectionId':_0x21441b['id']},{})['then'](function(){return _0x50dc66;});}else{return _0x50dc66;}})['catch'](function(_0x2c2d99){logger[_0xd6c7('0x18')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2c2d99);throw _0x2c2d99;});}return _0x50dc66;})[_0xd6c7('0x13')](respondWithResult(_0x359b10,0xc9))[_0xd6c7('0x26')](handleError(_0x359b10,null));};exports[_0xd6c7('0x12')]=function(_0x214a36,_0x270f87){if(_0x214a36[_0xd6c7('0x32')]['id']){delete _0x214a36[_0xd6c7('0x32')]['id'];}return db[_0xd6c7('0x23')]['find']({'where':{'id':_0x214a36[_0xd6c7('0x3b')]['id']}})['then'](handleEntityNotFound(_0x270f87,null))[_0xd6c7('0x13')](saveUpdates(_0x214a36[_0xd6c7('0x32')],null))[_0xd6c7('0x13')](respondWithResult(_0x270f87,null))['catch'](handleError(_0x270f87,null));};exports['destroy']=function(_0x1a7c37,_0x2522f0){return db[_0xd6c7('0x23')][_0xd6c7('0x38')]({'where':{'id':_0x1a7c37['params']['id']}})[_0xd6c7('0x13')](handleEntityNotFound(_0x2522f0,null))[_0xd6c7('0x13')](removeEntity(_0x2522f0,null))['catch'](handleError(_0x2522f0,null));};exports['describe']=function(_0x70ba68,_0x4db308){return db[_0xd6c7('0x23')][_0xd6c7('0x3c')]()[_0xd6c7('0x13')](respondWithResult(_0x4db308,null))['catch'](handleError(_0x4db308,null));};exports[_0xd6c7('0x3d')]=function(_0x516d49,_0x36acdc){var _0x973502={'raw':!![],'where':{}},_0xabea86={},_0x3ffec4;return db[_0xd6c7('0x23')]['findOne']({'where':{'id':_0x516d49[_0xd6c7('0x3b')]['id']}})[_0xd6c7('0x13')](handleEntityNotFound(_0x36acdc,null))['then'](function(_0x33b89f){if(_0x33b89f){_0x3ffec4=_0x33b89f[_0xd6c7('0x15')]({'plain':!![]});_0xabea86[_0xd6c7('0x28')]=_[_0xd6c7('0x29')](db[_0xd6c7('0x3e')][_0xd6c7('0x2a')]);_0xabea86['query']=_[_0xd6c7('0x29')](_0x516d49['query']);_0xabea86['filters']=_[_0xd6c7('0x2c')](_0xabea86[_0xd6c7('0x28')],_0xabea86[_0xd6c7('0x22')]);_0x973502[_0xd6c7('0x2e')]=_[_0xd6c7('0x2c')](_0xabea86[_0xd6c7('0x28')],qs[_0xd6c7('0x2d')](_0x516d49[_0xd6c7('0x22')][_0xd6c7('0x2d')]));_0x973502[_0xd6c7('0x2e')]=_0x973502[_0xd6c7('0x2e')][_0xd6c7('0x2f')]?_0x973502['attributes']:_0xabea86[_0xd6c7('0x28')];if(!_0x516d49['query'][_0xd6c7('0x3f')](_0xd6c7('0x40'))){_0x973502[_0xd6c7('0x10')]=qs[_0xd6c7('0x10')](_0x516d49[_0xd6c7('0x22')][_0xd6c7('0x10')]);_0x973502[_0xd6c7('0x11')]=qs[_0xd6c7('0x11')](_0x516d49['query'][_0xd6c7('0x11')]);}_0x973502[_0xd6c7('0x41')]=qs[_0xd6c7('0x42')](_0x516d49[_0xd6c7('0x22')][_0xd6c7('0x42')]);_0x973502[_0xd6c7('0x43')]=qs[_0xd6c7('0x2b')](_[_0xd6c7('0x44')](_0x516d49[_0xd6c7('0x22')],_0xabea86[_0xd6c7('0x2b')]));_0x973502[_0xd6c7('0x43')][_0xd6c7('0x45')]=_0x33b89f['id'];if(_0x516d49[_0xd6c7('0x22')][_0xd6c7('0x46')]){_0x973502[_0xd6c7('0x43')]=_[_0xd6c7('0x30')](_0x973502[_0xd6c7('0x43')],{'$or':_[_0xd6c7('0x47')](_0x973502[_0xd6c7('0x2e')],function(_0x524151){var _0x2ef6be={};_0x2ef6be[_0x524151]={'$like':'%'+_0x516d49['query'][_0xd6c7('0x46')]+'%'};return _0x2ef6be;})});}_0x973502=_[_0xd6c7('0x30')]({},_0x973502,_0x516d49[_0xd6c7('0x31')]);return db[_0xd6c7('0x3e')][_0xd6c7('0x24')](_0x973502);}})[_0xd6c7('0x13')](function(_0x110c3e){if(_0x110c3e){return db[_0xd6c7('0x48')]['findAndCountAll']({'where':{'id':_[_0xd6c7('0x47')](_0x110c3e,_0xd6c7('0x49')),'role':_0xd6c7('0x4a')},'attributes':['id','name',_0xd6c7('0x4b'),_0xd6c7('0x4c'),_0xd6c7('0x4d')]});}})['then'](function(_0xb9cccc){if(_0xb9cccc){return{'count':_0xb9cccc['count'],'rows':_['map'](_0xb9cccc['rows'],function(_0x4c8954){return{'membername':_0x4c8954[_0xd6c7('0x1a')],'UserId':_0x4c8954['id'],'queue_name':_0x3ffec4['name'],'MailQueueId':_0x3ffec4['id'],'interface':util[_0xd6c7('0x4e')](_0xd6c7('0x4f'),'SIP',_0x4c8954[_0xd6c7('0x1a')]),'penalty':0x0,'paused':_0x4c8954[_0xd6c7('0x4b')],'createdAt':_0x4c8954['createdAt'],'updatedAt':_0x4c8954[_0xd6c7('0x4c')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x36acdc,_0x973502))[_0xd6c7('0x26')](handleError(_0x36acdc,null));};exports[_0xd6c7('0x50')]=function(_0x1e328c,_0x1d6505){var _0x38630d={};var _0x328369={};var _0x2416b7;var _0x2b95fb;return db['MailQueue']['findOne']({'where':{'id':_0x1e328c[_0xd6c7('0x3b')]['id']}})[_0xd6c7('0x13')](handleEntityNotFound(_0x1d6505,null))[_0xd6c7('0x13')](function(_0x2f79a8){if(_0x2f79a8){_0x2416b7=_0x2f79a8;_0x328369[_0xd6c7('0x28')]=_[_0xd6c7('0x29')](db[_0xd6c7('0x51')]['rawAttributes']);_0x328369[_0xd6c7('0x22')]=_[_0xd6c7('0x29')](_0x1e328c[_0xd6c7('0x22')]);_0x328369[_0xd6c7('0x2b')]=_[_0xd6c7('0x2c')](_0x328369[_0xd6c7('0x28')],_0x328369['query']);_0x38630d[_0xd6c7('0x2e')]=_[_0xd6c7('0x2c')](_0x328369['model'],qs[_0xd6c7('0x2d')](_0x1e328c[_0xd6c7('0x22')][_0xd6c7('0x2d')]));_0x38630d['attributes']=_0x38630d[_0xd6c7('0x2e')]['length']?_0x38630d['attributes']:_0x328369[_0xd6c7('0x28')];_0x38630d[_0xd6c7('0x41')]=qs[_0xd6c7('0x42')](_0x1e328c[_0xd6c7('0x22')][_0xd6c7('0x42')]);_0x38630d[_0xd6c7('0x43')]=qs[_0xd6c7('0x2b')](_['pick'](_0x1e328c[_0xd6c7('0x22')],_0x328369[_0xd6c7('0x2b')]));if(_0x1e328c[_0xd6c7('0x22')][_0xd6c7('0x46')]){_0x38630d[_0xd6c7('0x43')]=_[_0xd6c7('0x30')](_0x38630d[_0xd6c7('0x43')],{'$or':_['map'](_0x38630d[_0xd6c7('0x2e')],function(_0x2bfd5c){var _0xd561ac={};_0xd561ac[_0x2bfd5c]={'$like':'%'+_0x1e328c[_0xd6c7('0x22')][_0xd6c7('0x46')]+'%'};return _0xd561ac;})});}_0x38630d=_['merge']({},_0x38630d,_0x1e328c[_0xd6c7('0x31')]);return _0x2416b7[_0xd6c7('0x50')](_0x38630d);}})['then'](function(_0x3c69fa){if(_0x3c69fa){_0x2b95fb=_0x3c69fa[_0xd6c7('0x2f')];if(!_0x1e328c[_0xd6c7('0x22')][_0xd6c7('0x3f')](_0xd6c7('0x40'))){_0x38630d[_0xd6c7('0x10')]=qs[_0xd6c7('0x10')](_0x1e328c[_0xd6c7('0x22')]['limit']);_0x38630d[_0xd6c7('0x11')]=qs[_0xd6c7('0x11')](_0x1e328c['query'][_0xd6c7('0x11')]);}return _0x2416b7[_0xd6c7('0x50')](_0x38630d);}})[_0xd6c7('0x13')](function(_0x3c688f){if(_0x3c688f){return _0x3c688f?{'count':_0x2b95fb,'rows':_0x3c688f}:null;}})[_0xd6c7('0x13')](respondWithResult(_0x1d6505,null))['catch'](handleError(_0x1d6505,null));};exports['addTeams']=function(_0x47992c,_0x4ade61){var _0x200687=_0x47992c['body'][_0xd6c7('0x52')];return db['Team'][_0xd6c7('0x24')]({'where':{'id':_0x200687},'attributes':['id'],'include':[{'model':db[_0xd6c7('0x48')],'as':_0xd6c7('0x53'),'attributes':['id',_0xd6c7('0x1a'),_0xd6c7('0x54'),_0xd6c7('0x55'),'interface'],'raw':!![]}]})[_0xd6c7('0x13')](function(_0x20e6cb){if(_0x20e6cb){var _0x1ab411=_[_0xd6c7('0x56')](_0x20e6cb,function(_0x25b2f3){var _0x2d2f3e=_0x25b2f3[_0xd6c7('0x15')]({'plain':!![]});return _0x2d2f3e['Agents'];});return db['MailQueue'][_0xd6c7('0x38')]({'where':{'id':_0x47992c[_0xd6c7('0x3b')]['id']}})[_0xd6c7('0x13')](function(_0x341cbf){return db[_0xd6c7('0x57')]['transaction'](function(_0x360a47){return _0x341cbf[_0xd6c7('0x58')](_0x200687,{'transaction':_0x360a47})[_0xd6c7('0x13')](function(){return BPromise[_0xd6c7('0x59')](_0x1ab411,function(_0x42b934){return db[_0xd6c7('0x3e')][_0xd6c7('0x5a')]({'where':{'UserId':_0x42b934['id'],'MailQueueId':_0x47992c[_0xd6c7('0x3b')]['id']},'transaction':_0x360a47});});})[_0xd6c7('0x13')](function(){_0x1ab411[_0xd6c7('0x5b')](function(_0xf0a34b){socket[_0xd6c7('0x5c')](_0xd6c7('0x5d'),{'UserId':_0xf0a34b['id'],'MailQueueId':_0x341cbf['id']});});});});});}})['then'](respondWithStatusCode(_0x4ade61,null))[_0xd6c7('0x26')](handleError(_0x4ade61,null));};exports[_0xd6c7('0x5e')]=function(_0x2d21af,_0x357961){return db['Team'][_0xd6c7('0x24')]({'where':{'id':_0x2d21af[_0xd6c7('0x22')]['ids']},'attributes':['id'],'include':[{'model':db[_0xd6c7('0x48')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xd6c7('0x13')](handleEntityNotFound(_0x357961,null))[_0xd6c7('0x13')](function(_0xcb63a6){var _0x1c46df=_[_0xd6c7('0x47')](_0xcb63a6,'id');var _0x48c9f0=[];var _0x3d9bc1=[];var _0x1a7a07=squel['select']();_0x1a7a07['field'](_0xd6c7('0x5f'))[_0xd6c7('0x60')](_0xd6c7('0x61'),'tq')[_0xd6c7('0x62')]('user_has_teams','ut',_0xd6c7('0x63'))[_0xd6c7('0x43')](_0xd6c7('0x64'),_0x2d21af[_0xd6c7('0x3b')]['id']);for(var _0x66a70a=0x0;_0x66a70a<_0xcb63a6['length'];_0x66a70a+=0x1){let _0x570c7e=_0xcb63a6[_0x66a70a];for(var _0x2497d9=0x0;_0x2497d9<_0x570c7e[_0xd6c7('0x53')][_0xd6c7('0x2f')];_0x2497d9+=0x1){let _0x34e7c7=_0x570c7e['Agents'][_0x2497d9];var _0x5e44a6=_0x1a7a07[_0xd6c7('0x65')]();_0x5e44a6[_0xd6c7('0x43')]('ut.UserId\x20=\x20?',_0x34e7c7['id']);_0x3d9bc1['push'](db[_0xd6c7('0x57')][_0xd6c7('0x22')](_0x5e44a6['toString'](),{'type':db[_0xd6c7('0x57')][_0xd6c7('0x66')][_0xd6c7('0x67')]})[_0xd6c7('0x13')](function(_0x3fcb8b){if(_0x3fcb8b['length']===0x1){return _0x34e7c7['id'];}else{var _0x209d8e=_[_0xd6c7('0x68')](_[_0xd6c7('0x47')](_0x3fcb8b,_0xd6c7('0x69')),function(_0xe5ec67){return _['includes'](_0x1c46df,_0xe5ec67);});if(_0x209d8e){return _0x34e7c7['id'];}}}));}}return BPromise[_0xd6c7('0x6a')](_0x3d9bc1)[_0xd6c7('0x13')](function(_0x5c82b9){_0x48c9f0=_(_0x48c9f0)[_0xd6c7('0x6b')](_0x5c82b9)[_0xd6c7('0x6c')]()['value']();return db['MailQueue'][_0xd6c7('0x38')]({'where':{'id':_0x2d21af[_0xd6c7('0x3b')]['id']}})[_0xd6c7('0x13')](function(_0x336c72){return db['sequelize']['transaction'](function(_0x4dfb04){return _0x336c72[_0xd6c7('0x5e')](_0x2d21af[_0xd6c7('0x22')][_0xd6c7('0x52')],{'transaction':_0x4dfb04})[_0xd6c7('0x13')](function(){if(!_[_0xd6c7('0x6d')](_0x48c9f0)){return _0x336c72[_0xd6c7('0x6e')](_0x48c9f0,{'transaction':_0x4dfb04});}})['then'](function(){_0x48c9f0['forEach'](function(_0x244e86){socket[_0xd6c7('0x5c')]('userMailQueue:remove',{'UserId':_0x244e86,'MailQueueId':_0x336c72['id']});});});});});});})[_0xd6c7('0x13')](respondWithStatusCode(_0x357961,null))[_0xd6c7('0x26')](handleError(_0x357961,null));};exports[_0xd6c7('0x6f')]=function(_0x5148e3,_0xfea436){return db[_0xd6c7('0x23')][_0xd6c7('0x38')]({'where':{'id':_0x5148e3[_0xd6c7('0x3b')]['id']}})[_0xd6c7('0x13')](handleEntityNotFound(_0xfea436,null))[_0xd6c7('0x13')](function(_0x5a2be8){if(_0x5a2be8){return _0x5a2be8[_0xd6c7('0x6f')](_0x5148e3[_0xd6c7('0x32')][_0xd6c7('0x52')],_['omit'](_0x5148e3[_0xd6c7('0x32')],[_0xd6c7('0x52'),'id'])||{})['spread'](function(_0x43f489){for(var _0x42f6f7=0x0;_0x42f6f7<_0x5148e3[_0xd6c7('0x32')]['ids']['length'];_0x42f6f7+=0x1){socket[_0xd6c7('0x5c')]('userMailQueue:save',{'UserId':Number(_0x5148e3[_0xd6c7('0x32')][_0xd6c7('0x52')][_0x42f6f7]),'MailQueueId':Number(_0x5148e3['params']['id'])});}return _0x43f489;});}})[_0xd6c7('0x13')](respondWithResult(_0xfea436,null))[_0xd6c7('0x26')](handleError(_0xfea436,null));};exports[_0xd6c7('0x6e')]=function(_0x5d77ab,_0xaf4518){return db[_0xd6c7('0x23')][_0xd6c7('0x38')]({'where':{'id':_0x5d77ab['params']['id']}})[_0xd6c7('0x13')](handleEntityNotFound(_0xaf4518,null))[_0xd6c7('0x13')](function(_0x4552d7){if(_0x4552d7){return _0x4552d7[_0xd6c7('0x6e')](_0x5d77ab[_0xd6c7('0x22')][_0xd6c7('0x52')])[_0xd6c7('0x13')](function(){if(_[_0xd6c7('0x70')](_0x5d77ab[_0xd6c7('0x22')][_0xd6c7('0x52')])){for(var _0x349b06=0x0;_0x349b06<_0x5d77ab[_0xd6c7('0x22')]['ids'][_0xd6c7('0x2f')];_0x349b06+=0x1){socket[_0xd6c7('0x5c')](_0xd6c7('0x71'),{'UserId':Number(_0x5d77ab['query'][_0xd6c7('0x52')][_0x349b06]),'MailQueueId':Number(_0x5d77ab[_0xd6c7('0x3b')]['id'])});}}else{socket[_0xd6c7('0x5c')]('userMailQueue:remove',{'UserId':Number(_0x5d77ab[_0xd6c7('0x22')]['ids']),'MailQueueId':Number(_0x5d77ab[_0xd6c7('0x3b')]['id'])});}});}})[_0xd6c7('0x13')](respondWithStatusCode(_0xaf4518,null))['catch'](handleError(_0xaf4518,null));};exports[_0xd6c7('0x72')]=function(_0x35c589,_0x56d15f){var _0x42829b={};var _0x1f1921={};var _0x4a7e88;var _0x57d4b1;return db['MailQueue'][_0xd6c7('0x73')]({'where':{'id':_0x35c589[_0xd6c7('0x3b')]['id']}})[_0xd6c7('0x13')](handleEntityNotFound(_0x56d15f,null))[_0xd6c7('0x13')](function(_0x5e8a5e){if(_0x5e8a5e){_0x4a7e88=_0x5e8a5e;_0x1f1921[_0xd6c7('0x28')]=_[_0xd6c7('0x29')](db[_0xd6c7('0x48')]['rawAttributes']);_0x1f1921[_0xd6c7('0x22')]=_[_0xd6c7('0x29')](_0x35c589['query']);_0x1f1921[_0xd6c7('0x2b')]=_[_0xd6c7('0x2c')](_0x1f1921['model'],_0x1f1921[_0xd6c7('0x22')]);_0x42829b[_0xd6c7('0x2e')]=_[_0xd6c7('0x2c')](_0x1f1921[_0xd6c7('0x28')],qs['fields'](_0x35c589[_0xd6c7('0x22')][_0xd6c7('0x2d')]));_0x42829b[_0xd6c7('0x2e')]=_0x42829b['attributes'][_0xd6c7('0x2f')]?_0x42829b[_0xd6c7('0x2e')]:_0x1f1921[_0xd6c7('0x28')];_0x42829b['order']=qs[_0xd6c7('0x42')](_0x35c589['query']['sort']);_0x42829b['where']=qs[_0xd6c7('0x2b')](_[_0xd6c7('0x44')](_0x35c589['query'],_0x1f1921['filters']));if(_0x35c589[_0xd6c7('0x22')]['filter']){_0x42829b[_0xd6c7('0x43')]=_['merge'](_0x42829b[_0xd6c7('0x43')],{'$or':_[_0xd6c7('0x47')](_0x42829b['attributes'],function(_0x1e7270){var _0x21adac={};_0x21adac[_0x1e7270]={'$like':'%'+_0x35c589[_0xd6c7('0x22')][_0xd6c7('0x46')]+'%'};return _0x21adac;})});}_0x42829b=_[_0xd6c7('0x30')]({},_0x42829b,_0x35c589[_0xd6c7('0x31')]);return _0x4a7e88[_0xd6c7('0x72')](_0x42829b);}})[_0xd6c7('0x13')](function(_0x552a45){if(_0x552a45){_0x57d4b1=_0x552a45[_0xd6c7('0x2f')];if(!_0x35c589[_0xd6c7('0x22')][_0xd6c7('0x3f')](_0xd6c7('0x40'))){_0x42829b[_0xd6c7('0x10')]=qs[_0xd6c7('0x10')](_0x35c589[_0xd6c7('0x22')][_0xd6c7('0x10')]);_0x42829b['offset']=qs['offset'](_0x35c589[_0xd6c7('0x22')]['offset']);}return _0x4a7e88['getAgents'](_0x42829b);}})[_0xd6c7('0x13')](function(_0x3920d8){if(_0x3920d8){return _0x3920d8?{'count':_0x57d4b1,'rows':_0x3920d8}:null;}})[_0xd6c7('0x13')](respondWithResult(_0x56d15f,null))[_0xd6c7('0x26')](handleError(_0x56d15f,null));};