f1ea8bb991d0861ed3324bafde6e454a76f8fed9
[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 _0xe829=['autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','findOne','UserMailQueue','order','sort','MailQueueId','User','findAndCountAll','mailPause','updatedAt','createdAt','format','getTeams','Team','addTeams','Agents','voicePause','interface','sequelize','transaction','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ut.UserId\x20=\x20?','push','SELECT','every','TeamId','includes','union','compact','value','removeAgents','userMailQueue:remove','addAgents','omit','isArray','getAgents','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./mailQueue.socket','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','get','MailQueues','UserProfileResource','error','stack','name','send','index','map','MailQueue','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','where','filters','pick','merge','type','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','userProfileId'];(function(_0x2a38b8,_0x11990d){var _0x35b9ea=function(_0x93acf9){while(--_0x93acf9){_0x2a38b8['push'](_0x2a38b8['shift']());}};_0x35b9ea(++_0x11990d);}(_0xe829,0x1d8));var _0x9e82=function(_0x4e5b60,_0x58b613){_0x4e5b60=_0x4e5b60-0x0;var _0x3b53bf=_0xe829[_0x4e5b60];return _0x3b53bf;};'use strict';var emlformat=require(_0x9e82('0x0'));var rimraf=require(_0x9e82('0x1'));var zipdir=require(_0x9e82('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x9e82('0x3'));var BPromise=require(_0x9e82('0x4'));var Mustache=require(_0x9e82('0x5'));var util=require(_0x9e82('0x6'));var path=require(_0x9e82('0x7'));var sox=require(_0x9e82('0x8'));var csv=require('to-csv');var ejs=require(_0x9e82('0x9'));var fs=require('fs');var fs_extra=require(_0x9e82('0xa'));var _=require(_0x9e82('0xb'));var squel=require(_0x9e82('0xc'));var crypto=require(_0x9e82('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x9e82('0xe'));var toCsv=require('to-csv');var querystring=require(_0x9e82('0xf'));var Papa=require(_0x9e82('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x9e82('0x11'));var as=require(_0x9e82('0x12'));var hardwareService=require(_0x9e82('0x13'));var logger=require(_0x9e82('0x14'))(_0x9e82('0x15'));var utils=require(_0x9e82('0x16'));var config=require(_0x9e82('0x17'));var licenseUtil=require(_0x9e82('0x18'));var db=require(_0x9e82('0x19'))['db'];config[_0x9e82('0x1a')]=_[_0x9e82('0x1b')](config[_0x9e82('0x1a')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9e82('0x1a')]));require(_0x9e82('0x1c'))[_0x9e82('0x1d')](socket);function respondWithStatusCode(_0x7f8584,_0x508234){_0x508234=_0x508234||0xcc;return function(_0x1319cc){if(_0x1319cc){return _0x7f8584[_0x9e82('0x1e')](_0x508234);}return _0x7f8584[_0x9e82('0x1f')](_0x508234)[_0x9e82('0x20')]();};}function respondWithResult(_0x51aa1e,_0x11b7ea){_0x11b7ea=_0x11b7ea||0xc8;return function(_0x5d7905){if(_0x5d7905){return _0x51aa1e[_0x9e82('0x1f')](_0x11b7ea)[_0x9e82('0x21')](_0x5d7905);}};}function respondWithFilteredResult(_0x50b85c,_0x588239){return function(_0x4815d8){if(_0x4815d8){var _0x40757e=typeof _0x588239[_0x9e82('0x22')]===_0x9e82('0x23')&&typeof _0x588239[_0x9e82('0x24')]===_0x9e82('0x23');var _0x4dce73=_0x4815d8[_0x9e82('0x25')];var _0xe39ae8=_0x40757e?0x0:_0x588239[_0x9e82('0x22')];var _0x199984=_0x40757e?_0x4815d8['count']:_0x588239['offset']+_0x588239[_0x9e82('0x24')];var _0x2c37ad;if(_0x199984>=_0x4dce73){_0x199984=_0x4dce73;_0x2c37ad=0xc8;}else{_0x2c37ad=0xce;}_0x50b85c[_0x9e82('0x1f')](_0x2c37ad);return _0x50b85c[_0x9e82('0x26')](_0x9e82('0x27'),_0xe39ae8+'-'+_0x199984+'/'+_0x4dce73)[_0x9e82('0x21')](_0x4815d8);}return null;};}function patchUpdates(_0x53d6a0){return function(_0x12a26f){try{jsonpatch[_0x9e82('0x28')](_0x12a26f,_0x53d6a0,!![]);}catch(_0x2fba02){return BPromise[_0x9e82('0x29')](_0x2fba02);}return _0x12a26f[_0x9e82('0x2a')]();};}function saveUpdates(_0x4e0570,_0x21519d){return function(_0x4a628c){if(_0x4a628c){return _0x4a628c[_0x9e82('0x2b')](_0x4e0570)['then'](function(_0x277fae){return _0x277fae;});}return null;};}function removeEntity(_0x3911cb,_0x2ff9ae){return function(_0x9b36c5){if(_0x9b36c5){return _0x9b36c5[_0x9e82('0x2c')]()[_0x9e82('0x2d')](function(){var _0x3724cb=_0x9b36c5[_0x9e82('0x2e')]({'plain':!![]});var _0xbcc412=_0x9e82('0x2f');return db[_0x9e82('0x30')]['destroy']({'where':{'type':_0xbcc412,'resourceId':_0x3724cb['id']}})[_0x9e82('0x2d')](function(){return _0x9b36c5;});})[_0x9e82('0x2d')](function(){_0x3911cb[_0x9e82('0x1f')](0xcc)[_0x9e82('0x20')]();});}};}function handleEntityNotFound(_0x41c723,_0x1a87e0){return function(_0xd3db2a){if(!_0xd3db2a){_0x41c723[_0x9e82('0x1e')](0x194);}return _0xd3db2a;};}function handleError(_0xa4a754,_0x159839){_0x159839=_0x159839||0x1f4;return function(_0x3c67d8){logger[_0x9e82('0x31')](_0x3c67d8[_0x9e82('0x32')]);if(_0x3c67d8[_0x9e82('0x33')]){delete _0x3c67d8['name'];}_0xa4a754['status'](_0x159839)[_0x9e82('0x34')](_0x3c67d8);};}exports[_0x9e82('0x35')]=function(_0xd5ce64,_0x32a2d2){var _0x133b48={},_0x70a276={},_0xad203e={'count':0x0,'rows':[]};var _0x5d357f=_[_0x9e82('0x36')](db[_0x9e82('0x37')]['rawAttributes'],function(_0x42a8c4){return{'name':_0x42a8c4[_0x9e82('0x38')],'type':_0x42a8c4['type'][_0x9e82('0x39')]};});_0x70a276[_0x9e82('0x3a')]=_[_0x9e82('0x36')](_0x5d357f,_0x9e82('0x33'));_0x70a276[_0x9e82('0x3b')]=_[_0x9e82('0x3c')](_0xd5ce64[_0x9e82('0x3b')]);_0x70a276['filters']=_[_0x9e82('0x3d')](_0x70a276['model'],_0x70a276['query']);_0x133b48[_0x9e82('0x3e')]=_[_0x9e82('0x3d')](_0x70a276[_0x9e82('0x3a')],qs[_0x9e82('0x3f')](_0xd5ce64['query']['fields']));_0x133b48[_0x9e82('0x3e')]=_0x133b48[_0x9e82('0x3e')][_0x9e82('0x40')]?_0x133b48[_0x9e82('0x3e')]:_0x70a276[_0x9e82('0x3a')];if(!_0xd5ce64[_0x9e82('0x3b')][_0x9e82('0x41')](_0x9e82('0x42'))){_0x133b48[_0x9e82('0x24')]=qs[_0x9e82('0x24')](_0xd5ce64['query'][_0x9e82('0x24')]);_0x133b48[_0x9e82('0x22')]=qs[_0x9e82('0x22')](_0xd5ce64[_0x9e82('0x3b')][_0x9e82('0x22')]);}_0x133b48['order']=qs['sort'](_0xd5ce64['query']['sort']);_0x133b48[_0x9e82('0x43')]=qs[_0x9e82('0x44')](_[_0x9e82('0x45')](_0xd5ce64[_0x9e82('0x3b')],_0x70a276[_0x9e82('0x44')]),_0x5d357f);if(_0xd5ce64['query']['filter']){_0x133b48[_0x9e82('0x43')]=_[_0x9e82('0x46')](_0x133b48[_0x9e82('0x43')],{'$or':_[_0x9e82('0x36')](_0x5d357f,function(_0x521c83){if(_0x521c83[_0x9e82('0x47')]!==_0x9e82('0x48')){var _0x146010={};_0x146010[_0x521c83['name']]={'$like':'%'+_0xd5ce64['query'][_0x9e82('0x49')]+'%'};return _0x146010;}})});}_0x133b48=_['merge']({},_0x133b48,_0xd5ce64[_0x9e82('0x4a')]);var _0x2a953={'where':_0x133b48['where']};return db[_0x9e82('0x37')][_0x9e82('0x25')](_0x2a953)[_0x9e82('0x2d')](function(_0x1ee8f7){_0xad203e[_0x9e82('0x25')]=_0x1ee8f7;if(_0xd5ce64[_0x9e82('0x3b')]['includeAll']){_0x133b48[_0x9e82('0x4b')]=[{'all':!![]}];}return db['MailQueue'][_0x9e82('0x4c')](_0x133b48);})[_0x9e82('0x2d')](function(_0x25ab20){_0xad203e[_0x9e82('0x4d')]=_0x25ab20;return _0xad203e;})['then'](respondWithFilteredResult(_0x32a2d2,_0x133b48))[_0x9e82('0x4e')](handleError(_0x32a2d2,null));};exports[_0x9e82('0x4f')]=function(_0x42bc9c,_0x4d5b2f){var _0x8b6f44={'raw':!![],'where':{'id':_0x42bc9c[_0x9e82('0x50')]['id']}},_0x40c875={};_0x40c875[_0x9e82('0x3a')]=_[_0x9e82('0x3c')](db['MailQueue'][_0x9e82('0x51')]);_0x40c875[_0x9e82('0x3b')]=_[_0x9e82('0x3c')](_0x42bc9c[_0x9e82('0x3b')]);_0x40c875['filters']=_['intersection'](_0x40c875[_0x9e82('0x3a')],_0x40c875[_0x9e82('0x3b')]);_0x8b6f44[_0x9e82('0x3e')]=_[_0x9e82('0x3d')](_0x40c875[_0x9e82('0x3a')],qs['fields'](_0x42bc9c[_0x9e82('0x3b')][_0x9e82('0x3f')]));_0x8b6f44[_0x9e82('0x3e')]=_0x8b6f44[_0x9e82('0x3e')]['length']?_0x8b6f44['attributes']:_0x40c875[_0x9e82('0x3a')];if(_0x42bc9c['query']['includeAll']){_0x8b6f44[_0x9e82('0x4b')]=[{'all':!![]}];}_0x8b6f44=_[_0x9e82('0x46')]({},_0x8b6f44,_0x42bc9c[_0x9e82('0x4a')]);return db[_0x9e82('0x37')][_0x9e82('0x52')](_0x8b6f44)[_0x9e82('0x2d')](handleEntityNotFound(_0x4d5b2f,null))[_0x9e82('0x2d')](respondWithResult(_0x4d5b2f,null))[_0x9e82('0x4e')](handleError(_0x4d5b2f,null));};exports[_0x9e82('0x53')]=function(_0x1e977a,_0x14ef67){return db[_0x9e82('0x37')]['create'](_0x1e977a[_0x9e82('0x54')],{})['then'](function(_0x3fb326){var _0x45746a=_0x1e977a['user'][_0x9e82('0x2e')]({'plain':!![]});if(!_0x45746a)throw new Error(_0x9e82('0x55'));if(_0x45746a['role']===_0x9e82('0x56')){var _0x6f8e6e=_0x3fb326[_0x9e82('0x2e')]({'plain':!![]});var _0x14f604=_0x9e82('0x2f');return db['UserProfileSection']['find']({'where':{'name':_0x14f604,'userProfileId':_0x45746a[_0x9e82('0x57')]},'raw':!![]})['then'](function(_0x5beca7){if(_0x5beca7&&_0x5beca7[_0x9e82('0x58')]===0x0){return db[_0x9e82('0x30')][_0x9e82('0x53')]({'name':_0x6f8e6e[_0x9e82('0x33')],'resourceId':_0x6f8e6e['id'],'type':_0x5beca7[_0x9e82('0x33')],'sectionId':_0x5beca7['id']},{})[_0x9e82('0x2d')](function(){return _0x3fb326;});}else{return _0x3fb326;}})[_0x9e82('0x4e')](function(_0x51f5a2){logger[_0x9e82('0x31')](_0x9e82('0x59'),_0x51f5a2);throw _0x51f5a2;});}return _0x3fb326;})['then'](respondWithResult(_0x14ef67,0xc9))['catch'](handleError(_0x14ef67,null));};exports[_0x9e82('0x2b')]=function(_0xc1f02b,_0x2ed5ef){if(_0xc1f02b[_0x9e82('0x54')]['id']){delete _0xc1f02b[_0x9e82('0x54')]['id'];}return db[_0x9e82('0x37')][_0x9e82('0x52')]({'where':{'id':_0xc1f02b[_0x9e82('0x50')]['id']}})['then'](handleEntityNotFound(_0x2ed5ef,null))['then'](saveUpdates(_0xc1f02b[_0x9e82('0x54')],null))[_0x9e82('0x2d')](respondWithResult(_0x2ed5ef,null))[_0x9e82('0x4e')](handleError(_0x2ed5ef,null));};exports[_0x9e82('0x2c')]=function(_0x14e9ad,_0x4bfb82){return db[_0x9e82('0x37')][_0x9e82('0x52')]({'where':{'id':_0x14e9ad[_0x9e82('0x50')]['id']}})[_0x9e82('0x2d')](handleEntityNotFound(_0x4bfb82,null))[_0x9e82('0x2d')](removeEntity(_0x4bfb82,null))[_0x9e82('0x4e')](handleError(_0x4bfb82,null));};exports['describe']=function(_0x440abe,_0x2ec0ac){return db[_0x9e82('0x37')]['describe']()['then'](respondWithResult(_0x2ec0ac,null))[_0x9e82('0x4e')](handleError(_0x2ec0ac,null));};exports[_0x9e82('0x5a')]=function(_0x53bf32,_0xbe43aa,_0x55c1d0){var _0x366492={'raw':!![],'where':{}},_0x540f36={},_0x1cb2d5;return db[_0x9e82('0x37')][_0x9e82('0x5b')]({'where':{'id':_0x53bf32[_0x9e82('0x50')]['id']}})[_0x9e82('0x2d')](handleEntityNotFound(_0xbe43aa,null))[_0x9e82('0x2d')](function(_0x118966){if(_0x118966){_0x1cb2d5=_0x118966[_0x9e82('0x2e')]({'plain':!![]});_0x540f36[_0x9e82('0x3a')]=_[_0x9e82('0x3c')](db[_0x9e82('0x5c')][_0x9e82('0x51')]);_0x540f36[_0x9e82('0x3b')]=_[_0x9e82('0x3c')](_0x53bf32[_0x9e82('0x3b')]);_0x540f36[_0x9e82('0x44')]=_[_0x9e82('0x3d')](_0x540f36[_0x9e82('0x3a')],_0x540f36[_0x9e82('0x3b')]);_0x366492[_0x9e82('0x3e')]=_[_0x9e82('0x3d')](_0x540f36[_0x9e82('0x3a')],qs[_0x9e82('0x3f')](_0x53bf32[_0x9e82('0x3b')]['fields']));_0x366492['attributes']=_0x366492[_0x9e82('0x3e')]['length']?_0x366492['attributes']:_0x540f36[_0x9e82('0x3a')];if(!_0x53bf32[_0x9e82('0x3b')][_0x9e82('0x41')]('nolimit')){_0x366492['limit']=qs[_0x9e82('0x24')](_0x53bf32['query'][_0x9e82('0x24')]);_0x366492[_0x9e82('0x22')]=qs['offset'](_0x53bf32[_0x9e82('0x3b')][_0x9e82('0x22')]);}_0x366492[_0x9e82('0x5d')]=qs[_0x9e82('0x5e')](_0x53bf32[_0x9e82('0x3b')][_0x9e82('0x5e')]);_0x366492[_0x9e82('0x43')]=qs['filters'](_['pick'](_0x53bf32[_0x9e82('0x3b')],_0x540f36['filters']));_0x366492[_0x9e82('0x43')][_0x9e82('0x5f')]=_0x118966['id'];if(_0x53bf32['query']['filter']){_0x366492[_0x9e82('0x43')]=_[_0x9e82('0x46')](_0x366492[_0x9e82('0x43')],{'$or':_[_0x9e82('0x36')](_0x366492[_0x9e82('0x3e')],function(_0x300ecf){var _0x969ffc={};_0x969ffc[_0x300ecf]={'$like':'%'+_0x53bf32['query'][_0x9e82('0x49')]+'%'};return _0x969ffc;})});}_0x366492=_[_0x9e82('0x46')]({},_0x366492,_0x53bf32[_0x9e82('0x4a')]);return db[_0x9e82('0x5c')][_0x9e82('0x4c')](_0x366492);}})[_0x9e82('0x2d')](function(_0x5153f1){if(_0x5153f1){return db[_0x9e82('0x60')][_0x9e82('0x61')]({'where':{'id':_[_0x9e82('0x36')](_0x5153f1,'UserId'),'role':'agent'},'attributes':['id',_0x9e82('0x33'),_0x9e82('0x62'),_0x9e82('0x63'),_0x9e82('0x64')]});}})[_0x9e82('0x2d')](function(_0x1e7ae5){if(_0x1e7ae5){return{'count':_0x1e7ae5[_0x9e82('0x25')],'rows':_[_0x9e82('0x36')](_0x1e7ae5[_0x9e82('0x4d')],function(_0x1463c0){return{'membername':_0x1463c0[_0x9e82('0x33')],'UserId':_0x1463c0['id'],'queue_name':_0x1cb2d5[_0x9e82('0x33')],'MailQueueId':_0x1cb2d5['id'],'interface':util[_0x9e82('0x65')]('%s/%s','SIP',_0x1463c0[_0x9e82('0x33')]),'penalty':0x0,'paused':_0x1463c0[_0x9e82('0x62')],'createdAt':_0x1463c0['createdAt'],'updatedAt':_0x1463c0[_0x9e82('0x63')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xbe43aa,_0x366492))[_0x9e82('0x4e')](handleError(_0xbe43aa,null));};exports[_0x9e82('0x66')]=function(_0x91cab0,_0x4ad26c,_0x211922){var _0x1de75d={};var _0x4beba5={};var _0x47413b;var _0x1a08d8;return db[_0x9e82('0x37')]['findOne']({'where':{'id':_0x91cab0[_0x9e82('0x50')]['id']}})['then'](handleEntityNotFound(_0x4ad26c,null))[_0x9e82('0x2d')](function(_0x54ff7a){if(_0x54ff7a){_0x47413b=_0x54ff7a;_0x4beba5[_0x9e82('0x3a')]=_[_0x9e82('0x3c')](db[_0x9e82('0x67')][_0x9e82('0x51')]);_0x4beba5[_0x9e82('0x3b')]=_[_0x9e82('0x3c')](_0x91cab0[_0x9e82('0x3b')]);_0x4beba5[_0x9e82('0x44')]=_[_0x9e82('0x3d')](_0x4beba5[_0x9e82('0x3a')],_0x4beba5[_0x9e82('0x3b')]);_0x1de75d[_0x9e82('0x3e')]=_[_0x9e82('0x3d')](_0x4beba5[_0x9e82('0x3a')],qs[_0x9e82('0x3f')](_0x91cab0[_0x9e82('0x3b')][_0x9e82('0x3f')]));_0x1de75d['attributes']=_0x1de75d['attributes'][_0x9e82('0x40')]?_0x1de75d['attributes']:_0x4beba5[_0x9e82('0x3a')];_0x1de75d[_0x9e82('0x5d')]=qs['sort'](_0x91cab0[_0x9e82('0x3b')][_0x9e82('0x5e')]);_0x1de75d[_0x9e82('0x43')]=qs[_0x9e82('0x44')](_['pick'](_0x91cab0[_0x9e82('0x3b')],_0x4beba5[_0x9e82('0x44')]));if(_0x91cab0[_0x9e82('0x3b')]['filter']){_0x1de75d[_0x9e82('0x43')]=_[_0x9e82('0x46')](_0x1de75d[_0x9e82('0x43')],{'$or':_[_0x9e82('0x36')](_0x1de75d[_0x9e82('0x3e')],function(_0x29e1df){var _0x37fd71={};_0x37fd71[_0x29e1df]={'$like':'%'+_0x91cab0[_0x9e82('0x3b')][_0x9e82('0x49')]+'%'};return _0x37fd71;})});}_0x1de75d=_['merge']({},_0x1de75d,_0x91cab0['options']);return _0x47413b[_0x9e82('0x66')](_0x1de75d);}})['then'](function(_0x5b9eb6){if(_0x5b9eb6){_0x1a08d8=_0x5b9eb6[_0x9e82('0x40')];if(!_0x91cab0[_0x9e82('0x3b')][_0x9e82('0x41')]('nolimit')){_0x1de75d[_0x9e82('0x24')]=qs['limit'](_0x91cab0[_0x9e82('0x3b')][_0x9e82('0x24')]);_0x1de75d[_0x9e82('0x22')]=qs['offset'](_0x91cab0[_0x9e82('0x3b')]['offset']);}return _0x47413b[_0x9e82('0x66')](_0x1de75d);}})['then'](function(_0x5dc4){if(_0x5dc4){return _0x5dc4?{'count':_0x1a08d8,'rows':_0x5dc4}:null;}})[_0x9e82('0x2d')](respondWithResult(_0x4ad26c,null))['catch'](handleError(_0x4ad26c,null));};exports[_0x9e82('0x68')]=function(_0x442277,_0x595f90,_0x2a8e0e){var _0x458253=_0x442277[_0x9e82('0x54')]['ids'];return db[_0x9e82('0x67')][_0x9e82('0x4c')]({'where':{'id':_0x458253},'attributes':['id'],'include':[{'model':db[_0x9e82('0x60')],'as':_0x9e82('0x69'),'attributes':['id',_0x9e82('0x33'),'online',_0x9e82('0x6a'),_0x9e82('0x6b')],'raw':!![]}]})[_0x9e82('0x2d')](function(_0x5d0cc2){if(_0x5d0cc2){var _0x5b2ffb=_['flatMap'](_0x5d0cc2,function(_0x39892c){var _0x422e24=_0x39892c[_0x9e82('0x2e')]({'plain':!![]});return _0x422e24[_0x9e82('0x69')];});return db[_0x9e82('0x37')]['find']({'where':{'id':_0x442277['params']['id']}})['then'](function(_0x43adcc){return db[_0x9e82('0x6c')][_0x9e82('0x6d')](function(_0x40f46b){return _0x43adcc[_0x9e82('0x68')](_0x458253,{'transaction':_0x40f46b})[_0x9e82('0x2d')](function(){return BPromise[_0x9e82('0x6e')](_0x5b2ffb,function(_0x1647d4){return db['UserMailQueue'][_0x9e82('0x6f')]({'where':{'UserId':_0x1647d4['id'],'MailQueueId':_0x442277[_0x9e82('0x50')]['id']},'transaction':_0x40f46b});});})[_0x9e82('0x2d')](function(){_0x5b2ffb[_0x9e82('0x70')](function(_0x4d7224){socket[_0x9e82('0x71')](_0x9e82('0x72'),{'UserId':_0x4d7224['id'],'MailQueueId':_0x43adcc['id']});});});});});}})[_0x9e82('0x2d')](respondWithStatusCode(_0x595f90,null))[_0x9e82('0x4e')](handleError(_0x595f90,null));};exports[_0x9e82('0x73')]=function(_0x488ad9,_0x33bbd9,_0x505124){return db[_0x9e82('0x67')][_0x9e82('0x4c')]({'where':{'id':_0x488ad9[_0x9e82('0x3b')][_0x9e82('0x74')]},'attributes':['id'],'include':[{'model':db[_0x9e82('0x60')],'as':_0x9e82('0x69'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x33bbd9,null))['then'](function(_0x4f73c7){var _0x346008=_[_0x9e82('0x36')](_0x4f73c7,'id');var _0x3c4a16=[];var _0x500c59=[];var _0x1da351=squel[_0x9e82('0x75')]();_0x1da351[_0x9e82('0x76')](_0x9e82('0x77'))[_0x9e82('0x78')](_0x9e82('0x79'),'tq')[_0x9e82('0x7a')](_0x9e82('0x7b'),'ut',_0x9e82('0x7c'))[_0x9e82('0x43')]('MailQueueId\x20=\x20?',_0x488ad9[_0x9e82('0x50')]['id']);for(var _0xecfc79=0x0;_0xecfc79<_0x4f73c7[_0x9e82('0x40')];_0xecfc79+=0x1){let _0x425db4=_0x4f73c7[_0xecfc79];for(var _0x3b1547=0x0;_0x3b1547<_0x425db4['Agents'][_0x9e82('0x40')];_0x3b1547+=0x1){let _0x224bec=_0x425db4[_0x9e82('0x69')][_0x3b1547];var _0x19a883=_0x1da351['clone']();_0x19a883[_0x9e82('0x43')](_0x9e82('0x7d'),_0x224bec['id']);_0x500c59[_0x9e82('0x7e')](db[_0x9e82('0x6c')]['query'](_0x19a883['toString'](),{'type':db[_0x9e82('0x6c')]['QueryTypes'][_0x9e82('0x7f')]})[_0x9e82('0x2d')](function(_0xf53955){if(_0xf53955[_0x9e82('0x40')]===0x1){return _0x224bec['id'];}else{var _0x543aab=_[_0x9e82('0x80')](_[_0x9e82('0x36')](_0xf53955,_0x9e82('0x81')),function(_0x3190a4){return _[_0x9e82('0x82')](_0x346008,_0x3190a4);});if(_0x543aab){return _0x224bec['id'];}}}));}}return BPromise['all'](_0x500c59)['then'](function(_0x24ecb6){_0x3c4a16=_(_0x3c4a16)[_0x9e82('0x83')](_0x24ecb6)[_0x9e82('0x84')]()[_0x9e82('0x85')]();return db[_0x9e82('0x37')]['find']({'where':{'id':_0x488ad9[_0x9e82('0x50')]['id']}})[_0x9e82('0x2d')](function(_0x2ef180){return db[_0x9e82('0x6c')][_0x9e82('0x6d')](function(_0x3cde90){return _0x2ef180[_0x9e82('0x73')](_0x488ad9[_0x9e82('0x3b')][_0x9e82('0x74')],{'transaction':_0x3cde90})[_0x9e82('0x2d')](function(){if(!_['isEmpty'](_0x3c4a16)){return _0x2ef180[_0x9e82('0x86')](_0x3c4a16,{'transaction':_0x3cde90});}})[_0x9e82('0x2d')](function(){_0x3c4a16[_0x9e82('0x70')](function(_0x2cf42c){socket['emit'](_0x9e82('0x87'),{'UserId':_0x2cf42c,'MailQueueId':_0x2ef180['id']});});});});});});})[_0x9e82('0x2d')](respondWithStatusCode(_0x33bbd9,null))[_0x9e82('0x4e')](handleError(_0x33bbd9,null));};exports[_0x9e82('0x88')]=function(_0x18ae57,_0x1ed877,_0x4a81e0){return db['MailQueue'][_0x9e82('0x52')]({'where':{'id':_0x18ae57[_0x9e82('0x50')]['id']}})[_0x9e82('0x2d')](handleEntityNotFound(_0x1ed877,null))[_0x9e82('0x2d')](function(_0x9cfe38){if(_0x9cfe38){return _0x9cfe38[_0x9e82('0x88')](_0x18ae57[_0x9e82('0x54')][_0x9e82('0x74')],_[_0x9e82('0x89')](_0x18ae57[_0x9e82('0x54')],['ids','id'])||{})['spread'](function(_0x42647c){for(var _0x4de188=0x0;_0x4de188<_0x18ae57['body'][_0x9e82('0x74')][_0x9e82('0x40')];_0x4de188+=0x1){socket['emit']('userMailQueue:save',{'UserId':Number(_0x18ae57[_0x9e82('0x54')][_0x9e82('0x74')][_0x4de188]),'MailQueueId':Number(_0x18ae57[_0x9e82('0x50')]['id'])});}return _0x42647c;});}})[_0x9e82('0x2d')](respondWithResult(_0x1ed877,null))[_0x9e82('0x4e')](handleError(_0x1ed877,null));};exports[_0x9e82('0x86')]=function(_0x21b39b,_0x5d6146,_0x559149){return db[_0x9e82('0x37')][_0x9e82('0x52')]({'where':{'id':_0x21b39b[_0x9e82('0x50')]['id']}})[_0x9e82('0x2d')](handleEntityNotFound(_0x5d6146,null))[_0x9e82('0x2d')](function(_0x1489be){if(_0x1489be){return _0x1489be['removeAgents'](_0x21b39b[_0x9e82('0x3b')][_0x9e82('0x74')])['then'](function(){if(_[_0x9e82('0x8a')](_0x21b39b[_0x9e82('0x3b')][_0x9e82('0x74')])){for(var _0x5a86d2=0x0;_0x5a86d2<_0x21b39b[_0x9e82('0x3b')][_0x9e82('0x74')][_0x9e82('0x40')];_0x5a86d2+=0x1){socket['emit'](_0x9e82('0x87'),{'UserId':Number(_0x21b39b['query'][_0x9e82('0x74')][_0x5a86d2]),'MailQueueId':Number(_0x21b39b[_0x9e82('0x50')]['id'])});}}else{socket[_0x9e82('0x71')]('userMailQueue:remove',{'UserId':Number(_0x21b39b['query'][_0x9e82('0x74')]),'MailQueueId':Number(_0x21b39b['params']['id'])});}});}})[_0x9e82('0x2d')](respondWithStatusCode(_0x5d6146,null))[_0x9e82('0x4e')](handleError(_0x5d6146,null));};exports[_0x9e82('0x8b')]=function(_0x5d3524,_0x2a36f6,_0x967c96){var _0x8dd2c2={};var _0x3af6e9={};var _0x11c52f;var _0x5691a1;return db[_0x9e82('0x37')][_0x9e82('0x5b')]({'where':{'id':_0x5d3524[_0x9e82('0x50')]['id']}})[_0x9e82('0x2d')](handleEntityNotFound(_0x2a36f6,null))['then'](function(_0x589b44){if(_0x589b44){_0x11c52f=_0x589b44;_0x3af6e9['model']=_[_0x9e82('0x3c')](db[_0x9e82('0x60')]['rawAttributes']);_0x3af6e9['query']=_['keys'](_0x5d3524[_0x9e82('0x3b')]);_0x3af6e9[_0x9e82('0x44')]=_[_0x9e82('0x3d')](_0x3af6e9[_0x9e82('0x3a')],_0x3af6e9[_0x9e82('0x3b')]);_0x8dd2c2['attributes']=_[_0x9e82('0x3d')](_0x3af6e9[_0x9e82('0x3a')],qs[_0x9e82('0x3f')](_0x5d3524[_0x9e82('0x3b')][_0x9e82('0x3f')]));_0x8dd2c2['attributes']=_0x8dd2c2[_0x9e82('0x3e')][_0x9e82('0x40')]?_0x8dd2c2['attributes']:_0x3af6e9['model'];_0x8dd2c2[_0x9e82('0x5d')]=qs['sort'](_0x5d3524[_0x9e82('0x3b')]['sort']);_0x8dd2c2[_0x9e82('0x43')]=qs[_0x9e82('0x44')](_[_0x9e82('0x45')](_0x5d3524[_0x9e82('0x3b')],_0x3af6e9[_0x9e82('0x44')]));if(_0x5d3524[_0x9e82('0x3b')][_0x9e82('0x49')]){_0x8dd2c2['where']=_['merge'](_0x8dd2c2[_0x9e82('0x43')],{'$or':_[_0x9e82('0x36')](_0x8dd2c2[_0x9e82('0x3e')],function(_0x4ce1f7){var _0x5e9989={};_0x5e9989[_0x4ce1f7]={'$like':'%'+_0x5d3524[_0x9e82('0x3b')][_0x9e82('0x49')]+'%'};return _0x5e9989;})});}_0x8dd2c2=_[_0x9e82('0x46')]({},_0x8dd2c2,_0x5d3524[_0x9e82('0x4a')]);return _0x11c52f[_0x9e82('0x8b')](_0x8dd2c2);}})[_0x9e82('0x2d')](function(_0x516009){if(_0x516009){_0x5691a1=_0x516009[_0x9e82('0x40')];if(!_0x5d3524[_0x9e82('0x3b')][_0x9e82('0x41')](_0x9e82('0x42'))){_0x8dd2c2[_0x9e82('0x24')]=qs[_0x9e82('0x24')](_0x5d3524[_0x9e82('0x3b')][_0x9e82('0x24')]);_0x8dd2c2[_0x9e82('0x22')]=qs[_0x9e82('0x22')](_0x5d3524[_0x9e82('0x3b')]['offset']);}return _0x11c52f[_0x9e82('0x8b')](_0x8dd2c2);}})[_0x9e82('0x2d')](function(_0x1c98bb){if(_0x1c98bb){return _0x1c98bb?{'count':_0x5691a1,'rows':_0x1c98bb}:null;}})[_0x9e82('0x2d')](respondWithResult(_0x2a36f6,null))['catch'](handleError(_0x2a36f6,null));};