0a113aed87d69b35a145501ef34a4e61886951b1
[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 _0xccde=['hasOwnProperty','nolimit','order','sort','where','type','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','keys','merge','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','autoAssociation','describe','getMembers','findOne','pick','MailQueueId','UserMailQueue','agent','mailPause','updatedAt','rows','format','%s/%s','createdAt','getTeams','Team','addTeams','ids','Agents','voicePause','interface','sequelize','each','findOrCreate','emit','userMailQueue:save','removeTeams','User','select','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','union','compact','value','transaction','isEmpty','removeAgents','addAgents','omit','spread','userMailQueue:remove','getAgents','html-pdf','rimraf','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','sendStatus','end','status','json','count','offset','limit','set','reject','update','then','get','UserProfileResource','destroy','error','name','send','index','map','MailQueue','rawAttributes','fieldName','key','model','query','filters','intersection','attributes','fields','length'];(function(_0x6cf19c,_0x2f3f02){var _0xce14f3=function(_0x474587){while(--_0x474587){_0x6cf19c['push'](_0x6cf19c['shift']());}};_0xce14f3(++_0x2f3f02);}(_0xccde,0x1e1));var _0xeccd=function(_0x5ad190,_0xd39c9e){_0x5ad190=_0x5ad190-0x0;var _0x518ed3=_0xccde[_0x5ad190];return _0x518ed3;};'use strict';var pdf=require(_0xeccd('0x0'));var emlformat=require('eml-format');var rimraf=require(_0xeccd('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xeccd('0x2'));var rp=require(_0xeccd('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xeccd('0x4'));var util=require(_0xeccd('0x5'));var path=require(_0xeccd('0x6'));var sox=require(_0xeccd('0x7'));var csv=require(_0xeccd('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xeccd('0x9'));var squel=require(_0xeccd('0xa'));var crypto=require(_0xeccd('0xb'));var jsforce=require(_0xeccd('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xeccd('0x8'));var querystring=require(_0xeccd('0xd'));var Papa=require(_0xeccd('0xe'));var Redis=require(_0xeccd('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xeccd('0x10'))(_0xeccd('0x11'));var utils=require(_0xeccd('0x12'));var config=require(_0xeccd('0x13'));var licenseUtil=require(_0xeccd('0x14'));var db=require('../../mysqldb')['db'];config[_0xeccd('0x15')]=_[_0xeccd('0x16')](config[_0xeccd('0x15')],{'host':_0xeccd('0x17'),'port':0x18eb});var socket=require(_0xeccd('0x18'))(new Redis(config[_0xeccd('0x15')]));require('./mailQueue.socket')['register'](socket);function respondWithStatusCode(_0x4073e0,_0x133005){_0x133005=_0x133005||0xcc;return function(_0x25b7e2){if(_0x25b7e2){return _0x4073e0[_0xeccd('0x19')](_0x133005);}return _0x4073e0['status'](_0x133005)[_0xeccd('0x1a')]();};}function respondWithResult(_0x3dc35f,_0x496061){_0x496061=_0x496061||0xc8;return function(_0x53f4d8){if(_0x53f4d8){return _0x3dc35f[_0xeccd('0x1b')](_0x496061)[_0xeccd('0x1c')](_0x53f4d8);}};}function respondWithFilteredResult(_0x2e96f3,_0x38cc1b){return function(_0xb0fad7){if(_0xb0fad7){var _0x360d25=_0xb0fad7[_0xeccd('0x1d')],_0x466d98=_0x38cc1b[_0xeccd('0x1e')],_0x17596a=_0x38cc1b[_0xeccd('0x1e')]+_0x38cc1b[_0xeccd('0x1f')],_0x5ba676;if(_0x17596a>=_0x360d25){_0x17596a=_0x360d25;_0x5ba676=0xc8;}else{_0x5ba676=0xce;}_0x2e96f3[_0xeccd('0x1b')](_0x5ba676);return _0x2e96f3[_0xeccd('0x20')]('Content-Range',_0x466d98+'-'+_0x17596a+'/'+_0x360d25)['json'](_0xb0fad7);}return null;};}function patchUpdates(_0x50f041){return function(_0x22976d){try{jsonpatch['apply'](_0x22976d,_0x50f041,!![]);}catch(_0x132793){return BPromise[_0xeccd('0x21')](_0x132793);}return _0x22976d['save']();};}function saveUpdates(_0x1747af,_0x526243){return function(_0x8b62e){if(_0x8b62e){return _0x8b62e[_0xeccd('0x22')](_0x1747af)[_0xeccd('0x23')](function(_0x4537e1){return _0x4537e1;});}return null;};}function removeEntity(_0x16e97a,_0x5c4672){return function(_0x4bc387){if(_0x4bc387){return _0x4bc387['destroy']()[_0xeccd('0x23')](function(){var _0x244d22=_0x4bc387[_0xeccd('0x24')]({'plain':!![]});var _0x449883='MailQueues';return db[_0xeccd('0x25')][_0xeccd('0x26')]({'where':{'type':_0x449883,'resourceId':_0x244d22['id']}})[_0xeccd('0x23')](function(){return _0x4bc387;});})[_0xeccd('0x23')](function(){_0x16e97a['status'](0xcc)[_0xeccd('0x1a')]();});}};}function handleEntityNotFound(_0x4240df,_0x3e42e8){return function(_0x2bf027){if(!_0x2bf027){_0x4240df[_0xeccd('0x19')](0x194);}return _0x2bf027;};}function handleError(_0x1c0a3f,_0x2ea699){_0x2ea699=_0x2ea699||0x1f4;return function(_0x33af3a){logger[_0xeccd('0x27')](_0x33af3a['stack']);if(_0x33af3a[_0xeccd('0x28')]){delete _0x33af3a['name'];}_0x1c0a3f[_0xeccd('0x1b')](_0x2ea699)[_0xeccd('0x29')](_0x33af3a);};}exports[_0xeccd('0x2a')]=function(_0x28d25a,_0x330f8d){var _0x46dabd={},_0x49858a={},_0x1b75c0={'count':0x0,'rows':[]};var _0x3e0669=_[_0xeccd('0x2b')](db[_0xeccd('0x2c')][_0xeccd('0x2d')],function(_0x207d97){return{'name':_0x207d97[_0xeccd('0x2e')],'type':_0x207d97['type'][_0xeccd('0x2f')]};});_0x49858a[_0xeccd('0x30')]=_['map'](_0x3e0669,_0xeccd('0x28'));_0x49858a[_0xeccd('0x31')]=_['keys'](_0x28d25a[_0xeccd('0x31')]);_0x49858a[_0xeccd('0x32')]=_[_0xeccd('0x33')](_0x49858a[_0xeccd('0x30')],_0x49858a[_0xeccd('0x31')]);_0x46dabd[_0xeccd('0x34')]=_[_0xeccd('0x33')](_0x49858a[_0xeccd('0x30')],qs[_0xeccd('0x35')](_0x28d25a['query']['fields']));_0x46dabd[_0xeccd('0x34')]=_0x46dabd[_0xeccd('0x34')][_0xeccd('0x36')]?_0x46dabd[_0xeccd('0x34')]:_0x49858a[_0xeccd('0x30')];if(!_0x28d25a[_0xeccd('0x31')][_0xeccd('0x37')](_0xeccd('0x38'))){_0x46dabd[_0xeccd('0x1f')]=qs[_0xeccd('0x1f')](_0x28d25a[_0xeccd('0x31')][_0xeccd('0x1f')]);_0x46dabd['offset']=qs[_0xeccd('0x1e')](_0x28d25a['query'][_0xeccd('0x1e')]);}_0x46dabd[_0xeccd('0x39')]=qs[_0xeccd('0x3a')](_0x28d25a['query'][_0xeccd('0x3a')]);_0x46dabd[_0xeccd('0x3b')]=qs['filters'](_['pick'](_0x28d25a[_0xeccd('0x31')],_0x49858a[_0xeccd('0x32')]),_0x3e0669);if(_0x28d25a[_0xeccd('0x31')]['filter']){_0x46dabd[_0xeccd('0x3b')]=_['merge'](_0x46dabd[_0xeccd('0x3b')],{'$or':_['map'](_0x3e0669,function(_0x29b0c9){if(_0x29b0c9[_0xeccd('0x3c')]!==_0xeccd('0x3d')){var _0x22bf5c={};_0x22bf5c[_0x29b0c9['name']]={'$like':'%'+_0x28d25a['query'][_0xeccd('0x3e')]+'%'};return _0x22bf5c;}})});}_0x46dabd=_['merge']({},_0x46dabd,_0x28d25a[_0xeccd('0x3f')]);var _0x37604c={'where':_0x46dabd['where']};return db['MailQueue'][_0xeccd('0x1d')](_0x37604c)[_0xeccd('0x23')](function(_0x498109){_0x1b75c0[_0xeccd('0x1d')]=_0x498109;if(_0x28d25a[_0xeccd('0x31')][_0xeccd('0x40')]){_0x46dabd[_0xeccd('0x41')]=[{'all':!![]}];}return db[_0xeccd('0x2c')][_0xeccd('0x42')](_0x46dabd);})['then'](function(_0x351862){_0x1b75c0['rows']=_0x351862;return _0x1b75c0;})[_0xeccd('0x23')](respondWithFilteredResult(_0x330f8d,_0x46dabd))[_0xeccd('0x43')](handleError(_0x330f8d,null));};exports['show']=function(_0x186dfc,_0x47cc7a){var _0x193e3a={'raw':!![],'where':{'id':_0x186dfc[_0xeccd('0x44')]['id']}},_0x34247a={};_0x34247a['model']=_[_0xeccd('0x45')](db[_0xeccd('0x2c')][_0xeccd('0x2d')]);_0x34247a[_0xeccd('0x31')]=_['keys'](_0x186dfc['query']);_0x34247a[_0xeccd('0x32')]=_[_0xeccd('0x33')](_0x34247a[_0xeccd('0x30')],_0x34247a[_0xeccd('0x31')]);_0x193e3a[_0xeccd('0x34')]=_[_0xeccd('0x33')](_0x34247a[_0xeccd('0x30')],qs[_0xeccd('0x35')](_0x186dfc[_0xeccd('0x31')]['fields']));_0x193e3a['attributes']=_0x193e3a[_0xeccd('0x34')][_0xeccd('0x36')]?_0x193e3a[_0xeccd('0x34')]:_0x34247a[_0xeccd('0x30')];if(_0x186dfc[_0xeccd('0x31')][_0xeccd('0x40')]){_0x193e3a[_0xeccd('0x41')]=[{'all':!![]}];}_0x193e3a=_[_0xeccd('0x46')]({},_0x193e3a,_0x186dfc['options']);return db['MailQueue']['find'](_0x193e3a)[_0xeccd('0x23')](handleEntityNotFound(_0x47cc7a,null))['then'](respondWithResult(_0x47cc7a,null))[_0xeccd('0x43')](handleError(_0x47cc7a,null));};exports[_0xeccd('0x47')]=function(_0x5033e9,_0x3efb54){return db[_0xeccd('0x2c')][_0xeccd('0x47')](_0x5033e9[_0xeccd('0x48')],{})['then'](function(_0x2fef72){var _0x5cdef1=_0x5033e9[_0xeccd('0x49')][_0xeccd('0x24')]({'plain':!![]});if(!_0x5cdef1)throw new Error(_0xeccd('0x4a'));if(_0x5cdef1[_0xeccd('0x4b')]===_0xeccd('0x49')){var _0x4d6c9a=_0x2fef72[_0xeccd('0x24')]({'plain':!![]});var _0x4217f2='MailQueues';return db['UserProfileSection'][_0xeccd('0x4c')]({'where':{'name':_0x4217f2,'userProfileId':_0x5cdef1['userProfileId']},'raw':!![]})[_0xeccd('0x23')](function(_0x55579a){if(_0x55579a&&_0x55579a[_0xeccd('0x4d')]===0x0){return db[_0xeccd('0x25')][_0xeccd('0x47')]({'name':_0x4d6c9a['name'],'resourceId':_0x4d6c9a['id'],'type':_0x55579a['name'],'sectionId':_0x55579a['id']},{})[_0xeccd('0x23')](function(){return _0x2fef72;});}else{return _0x2fef72;}})['catch'](function(_0x3c0c4c){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3c0c4c);throw _0x3c0c4c;});}return _0x2fef72;})[_0xeccd('0x23')](respondWithResult(_0x3efb54,0xc9))[_0xeccd('0x43')](handleError(_0x3efb54,null));};exports[_0xeccd('0x22')]=function(_0x557966,_0x37303f){if(_0x557966['body']['id']){delete _0x557966[_0xeccd('0x48')]['id'];}return db['MailQueue'][_0xeccd('0x4c')]({'where':{'id':_0x557966[_0xeccd('0x44')]['id']}})['then'](handleEntityNotFound(_0x37303f,null))[_0xeccd('0x23')](saveUpdates(_0x557966[_0xeccd('0x48')],null))[_0xeccd('0x23')](respondWithResult(_0x37303f,null))[_0xeccd('0x43')](handleError(_0x37303f,null));};exports[_0xeccd('0x26')]=function(_0x13a929,_0xb503d){return db[_0xeccd('0x2c')][_0xeccd('0x4c')]({'where':{'id':_0x13a929[_0xeccd('0x44')]['id']}})[_0xeccd('0x23')](handleEntityNotFound(_0xb503d,null))[_0xeccd('0x23')](removeEntity(_0xb503d,null))[_0xeccd('0x43')](handleError(_0xb503d,null));};exports['describe']=function(_0x121464,_0x32afa0){return db[_0xeccd('0x2c')][_0xeccd('0x4e')]()[_0xeccd('0x23')](respondWithResult(_0x32afa0,null))['catch'](handleError(_0x32afa0,null));};exports[_0xeccd('0x4f')]=function(_0x25b1dd,_0x557cbb,_0x61bda){var _0x14c3ba={'raw':!![],'where':{}},_0xfa3655={},_0x4d9763;return db[_0xeccd('0x2c')][_0xeccd('0x50')]({'where':{'id':_0x25b1dd['params']['id']}})[_0xeccd('0x23')](handleEntityNotFound(_0x557cbb,null))[_0xeccd('0x23')](function(_0x426efd){if(_0x426efd){_0x4d9763=_0x426efd['get']({'plain':!![]});_0xfa3655[_0xeccd('0x30')]=_['keys'](db['UserMailQueue'][_0xeccd('0x2d')]);_0xfa3655[_0xeccd('0x31')]=_[_0xeccd('0x45')](_0x25b1dd[_0xeccd('0x31')]);_0xfa3655['filters']=_[_0xeccd('0x33')](_0xfa3655[_0xeccd('0x30')],_0xfa3655[_0xeccd('0x31')]);_0x14c3ba[_0xeccd('0x34')]=_[_0xeccd('0x33')](_0xfa3655[_0xeccd('0x30')],qs[_0xeccd('0x35')](_0x25b1dd['query'][_0xeccd('0x35')]));_0x14c3ba[_0xeccd('0x34')]=_0x14c3ba[_0xeccd('0x34')][_0xeccd('0x36')]?_0x14c3ba[_0xeccd('0x34')]:_0xfa3655[_0xeccd('0x30')];if(!_0x25b1dd[_0xeccd('0x31')][_0xeccd('0x37')](_0xeccd('0x38'))){_0x14c3ba['limit']=qs[_0xeccd('0x1f')](_0x25b1dd[_0xeccd('0x31')][_0xeccd('0x1f')]);_0x14c3ba[_0xeccd('0x1e')]=qs['offset'](_0x25b1dd['query'][_0xeccd('0x1e')]);}_0x14c3ba[_0xeccd('0x39')]=qs[_0xeccd('0x3a')](_0x25b1dd[_0xeccd('0x31')]['sort']);_0x14c3ba[_0xeccd('0x3b')]=qs[_0xeccd('0x32')](_[_0xeccd('0x51')](_0x25b1dd['query'],_0xfa3655[_0xeccd('0x32')]));_0x14c3ba[_0xeccd('0x3b')][_0xeccd('0x52')]=_0x426efd['id'];if(_0x25b1dd[_0xeccd('0x31')][_0xeccd('0x3e')]){_0x14c3ba[_0xeccd('0x3b')]=_[_0xeccd('0x46')](_0x14c3ba[_0xeccd('0x3b')],{'$or':_[_0xeccd('0x2b')](_0x14c3ba[_0xeccd('0x34')],function(_0x567726){var _0x575d78={};_0x575d78[_0x567726]={'$like':'%'+_0x25b1dd['query'][_0xeccd('0x3e')]+'%'};return _0x575d78;})});}_0x14c3ba=_[_0xeccd('0x46')]({},_0x14c3ba,_0x25b1dd['options']);return db[_0xeccd('0x53')][_0xeccd('0x42')](_0x14c3ba);}})[_0xeccd('0x23')](function(_0x25f7d8){if(_0x25f7d8){return db['User']['findAndCountAll']({'where':{'id':_[_0xeccd('0x2b')](_0x25f7d8,'UserId'),'role':_0xeccd('0x54')},'attributes':['id',_0xeccd('0x28'),_0xeccd('0x55'),_0xeccd('0x56'),'createdAt']});}})[_0xeccd('0x23')](function(_0x24c7ee){if(_0x24c7ee){return{'count':_0x24c7ee['count'],'rows':_[_0xeccd('0x2b')](_0x24c7ee[_0xeccd('0x57')],function(_0x17a977){return{'membername':_0x17a977[_0xeccd('0x28')],'UserId':_0x17a977['id'],'queue_name':_0x4d9763[_0xeccd('0x28')],'MailQueueId':_0x4d9763['id'],'interface':util[_0xeccd('0x58')](_0xeccd('0x59'),'SIP',_0x17a977[_0xeccd('0x28')]),'penalty':0x0,'paused':_0x17a977[_0xeccd('0x55')],'createdAt':_0x17a977[_0xeccd('0x5a')],'updatedAt':_0x17a977['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x557cbb,_0x14c3ba))['catch'](handleError(_0x557cbb,null));};exports[_0xeccd('0x5b')]=function(_0xae9f0e,_0x56cb73,_0x3702ab){var _0x104636={};var _0x2c2bf6={};var _0x3f1fa6;var _0xb9f42e;return db[_0xeccd('0x2c')]['findOne']({'where':{'id':_0xae9f0e[_0xeccd('0x44')]['id']}})[_0xeccd('0x23')](handleEntityNotFound(_0x56cb73,null))[_0xeccd('0x23')](function(_0x5b6b4b){if(_0x5b6b4b){_0x3f1fa6=_0x5b6b4b;_0x2c2bf6[_0xeccd('0x30')]=_[_0xeccd('0x45')](db[_0xeccd('0x5c')][_0xeccd('0x2d')]);_0x2c2bf6[_0xeccd('0x31')]=_[_0xeccd('0x45')](_0xae9f0e[_0xeccd('0x31')]);_0x2c2bf6[_0xeccd('0x32')]=_[_0xeccd('0x33')](_0x2c2bf6['model'],_0x2c2bf6[_0xeccd('0x31')]);_0x104636['attributes']=_[_0xeccd('0x33')](_0x2c2bf6[_0xeccd('0x30')],qs['fields'](_0xae9f0e['query'][_0xeccd('0x35')]));_0x104636['attributes']=_0x104636['attributes'][_0xeccd('0x36')]?_0x104636[_0xeccd('0x34')]:_0x2c2bf6['model'];_0x104636[_0xeccd('0x39')]=qs['sort'](_0xae9f0e[_0xeccd('0x31')]['sort']);_0x104636[_0xeccd('0x3b')]=qs[_0xeccd('0x32')](_[_0xeccd('0x51')](_0xae9f0e[_0xeccd('0x31')],_0x2c2bf6['filters']));if(_0xae9f0e[_0xeccd('0x31')][_0xeccd('0x3e')]){_0x104636[_0xeccd('0x3b')]=_[_0xeccd('0x46')](_0x104636[_0xeccd('0x3b')],{'$or':_[_0xeccd('0x2b')](_0x104636['attributes'],function(_0xd9335){var _0x573646={};_0x573646[_0xd9335]={'$like':'%'+_0xae9f0e[_0xeccd('0x31')][_0xeccd('0x3e')]+'%'};return _0x573646;})});}_0x104636=_['merge']({},_0x104636,_0xae9f0e['options']);return _0x3f1fa6[_0xeccd('0x5b')](_0x104636);}})[_0xeccd('0x23')](function(_0x4b052c){if(_0x4b052c){_0xb9f42e=_0x4b052c[_0xeccd('0x36')];if(!_0xae9f0e[_0xeccd('0x31')][_0xeccd('0x37')](_0xeccd('0x38'))){_0x104636[_0xeccd('0x1f')]=qs['limit'](_0xae9f0e[_0xeccd('0x31')][_0xeccd('0x1f')]);_0x104636[_0xeccd('0x1e')]=qs[_0xeccd('0x1e')](_0xae9f0e[_0xeccd('0x31')]['offset']);}return _0x3f1fa6[_0xeccd('0x5b')](_0x104636);}})[_0xeccd('0x23')](function(_0x2e71c7){if(_0x2e71c7){return _0x2e71c7?{'count':_0xb9f42e,'rows':_0x2e71c7}:null;}})['then'](respondWithResult(_0x56cb73,null))[_0xeccd('0x43')](handleError(_0x56cb73,null));};exports[_0xeccd('0x5d')]=function(_0x55e8f9,_0x2e2859,_0xe4d86b){var _0x56bef4=_0x55e8f9[_0xeccd('0x48')][_0xeccd('0x5e')];return db[_0xeccd('0x5c')][_0xeccd('0x42')]({'where':{'id':_0x56bef4},'attributes':['id'],'include':[{'model':db['User'],'as':_0xeccd('0x5f'),'attributes':['id',_0xeccd('0x28'),'online',_0xeccd('0x60'),_0xeccd('0x61')],'raw':!![]}]})[_0xeccd('0x23')](function(_0x559f53){if(_0x559f53){var _0x235e58=_['flatMap'](_0x559f53,function(_0x870c3c){var _0x3c1561=_0x870c3c[_0xeccd('0x24')]({'plain':!![]});return _0x3c1561[_0xeccd('0x5f')];});return db['MailQueue']['find']({'where':{'id':_0x55e8f9[_0xeccd('0x44')]['id']}})[_0xeccd('0x23')](function(_0x357be5){return db[_0xeccd('0x62')]['transaction'](function(_0x4388b3){return _0x357be5['addTeams'](_0x56bef4,{'transaction':_0x4388b3})['then'](function(){return BPromise[_0xeccd('0x63')](_0x235e58,function(_0x2a026c){return db['UserMailQueue'][_0xeccd('0x64')]({'where':{'UserId':_0x2a026c['id'],'MailQueueId':_0x55e8f9[_0xeccd('0x44')]['id']},'transaction':_0x4388b3});});})[_0xeccd('0x23')](function(){_0x235e58['forEach'](function(_0x4e1483){socket[_0xeccd('0x65')](_0xeccd('0x66'),{'UserId':_0x4e1483['id'],'MailQueueId':_0x357be5['id']});});});});});}})['then'](respondWithStatusCode(_0x2e2859,null))[_0xeccd('0x43')](handleError(_0x2e2859,null));};exports[_0xeccd('0x67')]=function(_0x3156e3,_0x22849e,_0x2ff021){return db[_0xeccd('0x5c')]['findAll']({'where':{'id':_0x3156e3['query'][_0xeccd('0x5e')]},'attributes':['id'],'include':[{'model':db[_0xeccd('0x68')],'as':_0xeccd('0x5f'),'attributes':['id'],'raw':!![]}]})[_0xeccd('0x23')](handleEntityNotFound(_0x22849e,null))[_0xeccd('0x23')](function(_0x2edd2b){var _0x172b43=_['map'](_0x2edd2b,'id');var _0x48df41=[];var _0x381741=[];var _0x1afd33=squel[_0xeccd('0x69')]();_0x1afd33[_0xeccd('0x6a')](_0xeccd('0x6b'))[_0xeccd('0x6c')](_0xeccd('0x6d'),'tq')[_0xeccd('0x6e')](_0xeccd('0x6f'),'ut',_0xeccd('0x70'))[_0xeccd('0x3b')](_0xeccd('0x71'),_0x3156e3[_0xeccd('0x44')]['id']);for(var _0x459877=0x0;_0x459877<_0x2edd2b[_0xeccd('0x36')];_0x459877+=0x1){let _0x3e75e0=_0x2edd2b[_0x459877];for(var _0x50d9b7=0x0;_0x50d9b7<_0x3e75e0[_0xeccd('0x5f')][_0xeccd('0x36')];_0x50d9b7+=0x1){let _0x51d68b=_0x3e75e0[_0xeccd('0x5f')][_0x50d9b7];var _0x1d899a=_0x1afd33[_0xeccd('0x72')]();_0x1d899a['where'](_0xeccd('0x73'),_0x51d68b['id']);_0x381741[_0xeccd('0x74')](db[_0xeccd('0x62')][_0xeccd('0x31')](_0x1d899a[_0xeccd('0x75')](),{'type':db[_0xeccd('0x62')][_0xeccd('0x76')][_0xeccd('0x77')]})[_0xeccd('0x23')](function(_0x25ad43){if(_0x25ad43[_0xeccd('0x36')]===0x1){return _0x51d68b['id'];}else{var _0x140fb5=_[_0xeccd('0x78')](_['map'](_0x25ad43,_0xeccd('0x79')),function(_0xaca278){return _[_0xeccd('0x7a')](_0x172b43,_0xaca278);});if(_0x140fb5){return _0x51d68b['id'];}}}));}}return BPromise['all'](_0x381741)[_0xeccd('0x23')](function(_0x44509e){_0x48df41=_(_0x48df41)[_0xeccd('0x7b')](_0x44509e)[_0xeccd('0x7c')]()[_0xeccd('0x7d')]();return db['MailQueue'][_0xeccd('0x4c')]({'where':{'id':_0x3156e3[_0xeccd('0x44')]['id']}})[_0xeccd('0x23')](function(_0x3778ad){return db[_0xeccd('0x62')][_0xeccd('0x7e')](function(_0x3d3cf6){return _0x3778ad[_0xeccd('0x67')](_0x3156e3[_0xeccd('0x31')][_0xeccd('0x5e')],{'transaction':_0x3d3cf6})['then'](function(){if(!_[_0xeccd('0x7f')](_0x48df41)){return _0x3778ad[_0xeccd('0x80')](_0x48df41,{'transaction':_0x3d3cf6});}})[_0xeccd('0x23')](function(){_0x48df41['forEach'](function(_0x44c9bd){socket['emit']('userMailQueue:remove',{'UserId':_0x44c9bd,'MailQueueId':_0x3778ad['id']});});});});});});})['then'](respondWithStatusCode(_0x22849e,null))[_0xeccd('0x43')](handleError(_0x22849e,null));};exports[_0xeccd('0x81')]=function(_0x2d189d,_0x5990ef,_0x12b18e){return db[_0xeccd('0x2c')][_0xeccd('0x4c')]({'where':{'id':_0x2d189d[_0xeccd('0x44')]['id']}})[_0xeccd('0x23')](handleEntityNotFound(_0x5990ef,null))[_0xeccd('0x23')](function(_0x20017e){if(_0x20017e){return _0x20017e['addAgents'](_0x2d189d[_0xeccd('0x48')][_0xeccd('0x5e')],_[_0xeccd('0x82')](_0x2d189d[_0xeccd('0x48')],[_0xeccd('0x5e'),'id'])||{})[_0xeccd('0x83')](function(_0x2a4f95){for(var _0x549d7a=0x0;_0x549d7a<_0x2d189d['body'][_0xeccd('0x5e')]['length'];_0x549d7a+=0x1){socket['emit'](_0xeccd('0x66'),{'UserId':_0x2d189d['body'][_0xeccd('0x5e')][_0x549d7a],'MailQueueId':_0x2d189d['params']['id']});}return _0x2a4f95;});}})['then'](respondWithResult(_0x5990ef,null))[_0xeccd('0x43')](handleError(_0x5990ef,null));};exports[_0xeccd('0x80')]=function(_0x35c5a0,_0x41911f,_0x5995ed){return db[_0xeccd('0x2c')]['find']({'where':{'id':_0x35c5a0[_0xeccd('0x44')]['id']}})[_0xeccd('0x23')](handleEntityNotFound(_0x41911f,null))[_0xeccd('0x23')](function(_0x505b9d){if(_0x505b9d){return _0x505b9d[_0xeccd('0x80')](_0x35c5a0['query'][_0xeccd('0x5e')])['then'](function(){if(_['isArray'](_0x35c5a0[_0xeccd('0x31')][_0xeccd('0x5e')])){for(var _0x463dbc=0x0;_0x463dbc<_0x35c5a0[_0xeccd('0x31')]['ids'][_0xeccd('0x36')];_0x463dbc+=0x1){socket['emit'](_0xeccd('0x84'),{'UserId':Number(_0x35c5a0[_0xeccd('0x31')]['ids'][_0x463dbc]),'MailQueueId':Number(_0x35c5a0[_0xeccd('0x44')]['id'])});}}else{socket[_0xeccd('0x65')](_0xeccd('0x84'),{'UserId':Number(_0x35c5a0[_0xeccd('0x31')][_0xeccd('0x5e')]),'MailQueueId':Number(_0x35c5a0[_0xeccd('0x44')]['id'])});}});}})[_0xeccd('0x23')](respondWithStatusCode(_0x41911f,null))[_0xeccd('0x43')](handleError(_0x41911f,null));};exports[_0xeccd('0x85')]=function(_0x4ce5a2,_0x41acc5,_0x3c1f09){var _0x488975={};var _0x5a7fb8={};var _0x4bd879;var _0x57c5d5;return db[_0xeccd('0x2c')][_0xeccd('0x50')]({'where':{'id':_0x4ce5a2['params']['id']}})['then'](handleEntityNotFound(_0x41acc5,null))[_0xeccd('0x23')](function(_0x160676){if(_0x160676){_0x4bd879=_0x160676;_0x5a7fb8[_0xeccd('0x30')]=_['keys'](db[_0xeccd('0x68')][_0xeccd('0x2d')]);_0x5a7fb8['query']=_[_0xeccd('0x45')](_0x4ce5a2[_0xeccd('0x31')]);_0x5a7fb8[_0xeccd('0x32')]=_['intersection'](_0x5a7fb8[_0xeccd('0x30')],_0x5a7fb8['query']);_0x488975[_0xeccd('0x34')]=_[_0xeccd('0x33')](_0x5a7fb8['model'],qs[_0xeccd('0x35')](_0x4ce5a2[_0xeccd('0x31')][_0xeccd('0x35')]));_0x488975[_0xeccd('0x34')]=_0x488975[_0xeccd('0x34')][_0xeccd('0x36')]?_0x488975[_0xeccd('0x34')]:_0x5a7fb8['model'];_0x488975[_0xeccd('0x39')]=qs[_0xeccd('0x3a')](_0x4ce5a2[_0xeccd('0x31')][_0xeccd('0x3a')]);_0x488975[_0xeccd('0x3b')]=qs[_0xeccd('0x32')](_[_0xeccd('0x51')](_0x4ce5a2[_0xeccd('0x31')],_0x5a7fb8['filters']));if(_0x4ce5a2[_0xeccd('0x31')][_0xeccd('0x3e')]){_0x488975[_0xeccd('0x3b')]=_['merge'](_0x488975[_0xeccd('0x3b')],{'$or':_[_0xeccd('0x2b')](_0x488975[_0xeccd('0x34')],function(_0x16b803){var _0x4a36f6={};_0x4a36f6[_0x16b803]={'$like':'%'+_0x4ce5a2[_0xeccd('0x31')][_0xeccd('0x3e')]+'%'};return _0x4a36f6;})});}_0x488975=_[_0xeccd('0x46')]({},_0x488975,_0x4ce5a2[_0xeccd('0x3f')]);return _0x4bd879[_0xeccd('0x85')](_0x488975);}})[_0xeccd('0x23')](function(_0x3fd5a9){if(_0x3fd5a9){_0x57c5d5=_0x3fd5a9['length'];if(!_0x4ce5a2['query'][_0xeccd('0x37')](_0xeccd('0x38'))){_0x488975[_0xeccd('0x1f')]=qs['limit'](_0x4ce5a2[_0xeccd('0x31')][_0xeccd('0x1f')]);_0x488975['offset']=qs[_0xeccd('0x1e')](_0x4ce5a2[_0xeccd('0x31')][_0xeccd('0x1e')]);}return _0x4bd879[_0xeccd('0x85')](_0x488975);}})[_0xeccd('0x23')](function(_0x87b65d){if(_0x87b65d){return _0x87b65d?{'count':_0x57c5d5,'rows':_0x87b65d}:null;}})[_0xeccd('0x23')](respondWithResult(_0x41acc5,null))['catch'](handleError(_0x41acc5,null));};