Built motion from commit 87cd5f02.|2.5.48
[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 _0x34c6=['UserId','agent','updatedAt','createdAt','SIP','mailPause','Team','getTeams','addTeams','ids','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','emit','userMailQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_mail_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','TeamId','includes','compact','value','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','get','UserProfileResource','error','name','send','map','MailQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','where','VIRTUAL','filter','options','findAll','rows','catch','show','params','includeAll','include','merge','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','MailQueues','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','getMembers','findOne','UserMailQueue','order','MailQueueId','User'];(function(_0x3736e6,_0x5ed337){var _0x5b513c=function(_0x5be881){while(--_0x5be881){_0x3736e6['push'](_0x3736e6['shift']());}};_0x5b513c(++_0x5ed337);}(_0x34c6,0x1cd));var _0x634c=function(_0xfae23b,_0x2be4ba){_0xfae23b=_0xfae23b-0x0;var _0x200640=_0x34c6[_0xfae23b];return _0x200640;};'use strict';var emlformat=require(_0x634c('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x634c('0x1'));var jsonpatch=require(_0x634c('0x2'));var rp=require(_0x634c('0x3'));var moment=require(_0x634c('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x634c('0x5'));var path=require(_0x634c('0x6'));var sox=require(_0x634c('0x7'));var csv=require('to-csv');var ejs=require(_0x634c('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x634c('0x9'));var squel=require(_0x634c('0xa'));var crypto=require(_0x634c('0xb'));var jsforce=require(_0x634c('0xc'));var deskjs=require(_0x634c('0xd'));var toCsv=require(_0x634c('0xe'));var querystring=require(_0x634c('0xf'));var Papa=require(_0x634c('0x10'));var Redis=require(_0x634c('0x11'));var authService=require(_0x634c('0x12'));var qs=require(_0x634c('0x13'));var as=require(_0x634c('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x634c('0x15'));var utils=require(_0x634c('0x16'));var config=require(_0x634c('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x634c('0x18'))['db'];config[_0x634c('0x19')]=_[_0x634c('0x1a')](config[_0x634c('0x19')],{'host':_0x634c('0x1b'),'port':0x18eb});var socket=require(_0x634c('0x1c'))(new Redis(config['redis']));require('./mailQueue.socket')['register'](socket);function respondWithStatusCode(_0x444e00,_0x5f5689){_0x5f5689=_0x5f5689||0xcc;return function(_0x4d1835){if(_0x4d1835){return _0x444e00['sendStatus'](_0x5f5689);}return _0x444e00[_0x634c('0x1d')](_0x5f5689)[_0x634c('0x1e')]();};}function respondWithResult(_0x41c699,_0x2657ba){_0x2657ba=_0x2657ba||0xc8;return function(_0xfa0e8){if(_0xfa0e8){return _0x41c699[_0x634c('0x1d')](_0x2657ba)[_0x634c('0x1f')](_0xfa0e8);}};}function respondWithFilteredResult(_0x3957d0,_0x3ec68f){return function(_0x50dd34){if(_0x50dd34){var _0x35cdbc=typeof _0x3ec68f[_0x634c('0x20')]===_0x634c('0x21')&&typeof _0x3ec68f[_0x634c('0x22')]==='undefined';var _0x530c85=_0x50dd34[_0x634c('0x23')];var _0x4840e4=_0x35cdbc?0x0:_0x3ec68f[_0x634c('0x20')];var _0x4b6a71=_0x35cdbc?_0x50dd34[_0x634c('0x23')]:_0x3ec68f[_0x634c('0x20')]+_0x3ec68f[_0x634c('0x22')];var _0x218fcc;if(_0x4b6a71>=_0x530c85){_0x4b6a71=_0x530c85;_0x218fcc=0xc8;}else{_0x218fcc=0xce;}_0x3957d0[_0x634c('0x1d')](_0x218fcc);return _0x3957d0[_0x634c('0x24')](_0x634c('0x25'),_0x4840e4+'-'+_0x4b6a71+'/'+_0x530c85)[_0x634c('0x1f')](_0x50dd34);}return null;};}function patchUpdates(_0x289c08){return function(_0x1b8bee){try{jsonpatch[_0x634c('0x26')](_0x1b8bee,_0x289c08,!![]);}catch(_0xdd1787){return BPromise[_0x634c('0x27')](_0xdd1787);}return _0x1b8bee[_0x634c('0x28')]();};}function saveUpdates(_0x441a0d,_0x44672b){return function(_0x4fa5e8){if(_0x4fa5e8){return _0x4fa5e8[_0x634c('0x29')](_0x441a0d)[_0x634c('0x2a')](function(_0x260132){return _0x260132;});}return null;};}function removeEntity(_0x3af52b,_0xdfe9ef){return function(_0x449c3f){if(_0x449c3f){return _0x449c3f['destroy']()['then'](function(){var _0x435dcf=_0x449c3f[_0x634c('0x2b')]({'plain':!![]});var _0x4ef2ef='MailQueues';return db[_0x634c('0x2c')]['destroy']({'where':{'type':_0x4ef2ef,'resourceId':_0x435dcf['id']}})[_0x634c('0x2a')](function(){return _0x449c3f;});})[_0x634c('0x2a')](function(){_0x3af52b[_0x634c('0x1d')](0xcc)[_0x634c('0x1e')]();});}};}function handleEntityNotFound(_0x1f89e5,_0x91306b){return function(_0x6d2d35){if(!_0x6d2d35){_0x1f89e5['sendStatus'](0x194);}return _0x6d2d35;};}function handleError(_0x258423,_0x38b341){_0x38b341=_0x38b341||0x1f4;return function(_0xaa175f){logger[_0x634c('0x2d')](_0xaa175f['stack']);if(_0xaa175f[_0x634c('0x2e')]){delete _0xaa175f[_0x634c('0x2e')];}_0x258423[_0x634c('0x1d')](_0x38b341)[_0x634c('0x2f')](_0xaa175f);};}exports['index']=function(_0x5ee2ce,_0x3f27b6){var _0x4bb5bc={},_0x347ccd={},_0x3bfcba={'count':0x0,'rows':[]};var _0x165479=_[_0x634c('0x30')](db[_0x634c('0x31')][_0x634c('0x32')],function(_0x16c41d){return{'name':_0x16c41d[_0x634c('0x33')],'type':_0x16c41d[_0x634c('0x34')][_0x634c('0x35')]};});_0x347ccd[_0x634c('0x36')]=_['map'](_0x165479,_0x634c('0x2e'));_0x347ccd[_0x634c('0x37')]=_[_0x634c('0x38')](_0x5ee2ce[_0x634c('0x37')]);_0x347ccd[_0x634c('0x39')]=_[_0x634c('0x3a')](_0x347ccd['model'],_0x347ccd[_0x634c('0x37')]);_0x4bb5bc[_0x634c('0x3b')]=_[_0x634c('0x3a')](_0x347ccd[_0x634c('0x36')],qs[_0x634c('0x3c')](_0x5ee2ce[_0x634c('0x37')][_0x634c('0x3c')]));_0x4bb5bc['attributes']=_0x4bb5bc[_0x634c('0x3b')][_0x634c('0x3d')]?_0x4bb5bc[_0x634c('0x3b')]:_0x347ccd[_0x634c('0x36')];if(!_0x5ee2ce[_0x634c('0x37')][_0x634c('0x3e')](_0x634c('0x3f'))){_0x4bb5bc['limit']=qs[_0x634c('0x22')](_0x5ee2ce[_0x634c('0x37')][_0x634c('0x22')]);_0x4bb5bc[_0x634c('0x20')]=qs[_0x634c('0x20')](_0x5ee2ce['query'][_0x634c('0x20')]);}_0x4bb5bc['order']=qs[_0x634c('0x40')](_0x5ee2ce[_0x634c('0x37')][_0x634c('0x40')]);_0x4bb5bc['where']=qs[_0x634c('0x39')](_[_0x634c('0x41')](_0x5ee2ce[_0x634c('0x37')],_0x347ccd[_0x634c('0x39')]),_0x165479);if(_0x5ee2ce['query']['filter']){_0x4bb5bc[_0x634c('0x42')]=_['merge'](_0x4bb5bc[_0x634c('0x42')],{'$or':_[_0x634c('0x30')](_0x165479,function(_0x25172d){if(_0x25172d[_0x634c('0x34')]!==_0x634c('0x43')){var _0x2bf718={};_0x2bf718[_0x25172d[_0x634c('0x2e')]]={'$like':'%'+_0x5ee2ce[_0x634c('0x37')][_0x634c('0x44')]+'%'};return _0x2bf718;}})});}_0x4bb5bc=_['merge']({},_0x4bb5bc,_0x5ee2ce[_0x634c('0x45')]);var _0x30e23f={'where':_0x4bb5bc[_0x634c('0x42')]};return db[_0x634c('0x31')][_0x634c('0x23')](_0x30e23f)['then'](function(_0x6a5aed){_0x3bfcba[_0x634c('0x23')]=_0x6a5aed;if(_0x5ee2ce[_0x634c('0x37')]['includeAll']){_0x4bb5bc['include']=[{'all':!![]}];}return db['MailQueue'][_0x634c('0x46')](_0x4bb5bc);})[_0x634c('0x2a')](function(_0x3ebb6f){_0x3bfcba[_0x634c('0x47')]=_0x3ebb6f;return _0x3bfcba;})[_0x634c('0x2a')](respondWithFilteredResult(_0x3f27b6,_0x4bb5bc))[_0x634c('0x48')](handleError(_0x3f27b6,null));};exports[_0x634c('0x49')]=function(_0x4909a2,_0x5866b9){var _0x257faf={'raw':!![],'where':{'id':_0x4909a2[_0x634c('0x4a')]['id']}},_0xcd809b={};_0xcd809b['model']=_[_0x634c('0x38')](db[_0x634c('0x31')][_0x634c('0x32')]);_0xcd809b[_0x634c('0x37')]=_[_0x634c('0x38')](_0x4909a2[_0x634c('0x37')]);_0xcd809b[_0x634c('0x39')]=_[_0x634c('0x3a')](_0xcd809b[_0x634c('0x36')],_0xcd809b[_0x634c('0x37')]);_0x257faf[_0x634c('0x3b')]=_[_0x634c('0x3a')](_0xcd809b[_0x634c('0x36')],qs[_0x634c('0x3c')](_0x4909a2[_0x634c('0x37')]['fields']));_0x257faf[_0x634c('0x3b')]=_0x257faf[_0x634c('0x3b')][_0x634c('0x3d')]?_0x257faf[_0x634c('0x3b')]:_0xcd809b[_0x634c('0x36')];if(_0x4909a2['query'][_0x634c('0x4b')]){_0x257faf[_0x634c('0x4c')]=[{'all':!![]}];}_0x257faf=_[_0x634c('0x4d')]({},_0x257faf,_0x4909a2['options']);return db[_0x634c('0x31')][_0x634c('0x4e')](_0x257faf)[_0x634c('0x2a')](handleEntityNotFound(_0x5866b9,null))['then'](respondWithResult(_0x5866b9,null))[_0x634c('0x48')](handleError(_0x5866b9,null));};exports[_0x634c('0x4f')]=function(_0xc78fff,_0x2f14a4){return db['MailQueue']['create'](_0xc78fff[_0x634c('0x50')],{})['then'](function(_0x587a0c){var _0x4088d8=_0xc78fff[_0x634c('0x51')][_0x634c('0x2b')]({'plain':!![]});if(!_0x4088d8)throw new Error(_0x634c('0x52'));if(_0x4088d8['role']===_0x634c('0x51')){var _0x1ab202=_0x587a0c[_0x634c('0x2b')]({'plain':!![]});var _0x1b03b9=_0x634c('0x53');return db[_0x634c('0x54')][_0x634c('0x4e')]({'where':{'name':_0x1b03b9,'userProfileId':_0x4088d8[_0x634c('0x55')]},'raw':!![]})[_0x634c('0x2a')](function(_0x119371){if(_0x119371&&_0x119371[_0x634c('0x56')]===0x0){return db[_0x634c('0x2c')][_0x634c('0x4f')]({'name':_0x1ab202[_0x634c('0x2e')],'resourceId':_0x1ab202['id'],'type':_0x119371[_0x634c('0x2e')],'sectionId':_0x119371['id']},{})[_0x634c('0x2a')](function(){return _0x587a0c;});}else{return _0x587a0c;}})[_0x634c('0x48')](function(_0xfa5984){logger[_0x634c('0x2d')](_0x634c('0x57'),_0xfa5984);throw _0xfa5984;});}return _0x587a0c;})['then'](respondWithResult(_0x2f14a4,0xc9))[_0x634c('0x48')](handleError(_0x2f14a4,null));};exports[_0x634c('0x29')]=function(_0xf1a9dc,_0x14946e){if(_0xf1a9dc[_0x634c('0x50')]['id']){delete _0xf1a9dc['body']['id'];}return db[_0x634c('0x31')][_0x634c('0x4e')]({'where':{'id':_0xf1a9dc[_0x634c('0x4a')]['id']}})[_0x634c('0x2a')](handleEntityNotFound(_0x14946e,null))[_0x634c('0x2a')](saveUpdates(_0xf1a9dc['body'],null))[_0x634c('0x2a')](respondWithResult(_0x14946e,null))[_0x634c('0x48')](handleError(_0x14946e,null));};exports[_0x634c('0x58')]=function(_0x4adc16,_0x46a87f){return db[_0x634c('0x31')][_0x634c('0x4e')]({'where':{'id':_0x4adc16[_0x634c('0x4a')]['id']}})[_0x634c('0x2a')](handleEntityNotFound(_0x46a87f,null))['then'](removeEntity(_0x46a87f,null))[_0x634c('0x48')](handleError(_0x46a87f,null));};exports['describe']=function(_0x1e30c0,_0x479061){return db[_0x634c('0x31')]['describe']()[_0x634c('0x2a')](respondWithResult(_0x479061,null))[_0x634c('0x48')](handleError(_0x479061,null));};exports[_0x634c('0x59')]=function(_0xf4a2dc,_0x4b0001,_0xbf468a){var _0x5296ff={'raw':!![],'where':{}},_0x4baea0={},_0x5b90bf;return db[_0x634c('0x31')][_0x634c('0x5a')]({'where':{'id':_0xf4a2dc[_0x634c('0x4a')]['id']}})['then'](handleEntityNotFound(_0x4b0001,null))['then'](function(_0x219bba){if(_0x219bba){_0x5b90bf=_0x219bba[_0x634c('0x2b')]({'plain':!![]});_0x4baea0[_0x634c('0x36')]=_['keys'](db[_0x634c('0x5b')][_0x634c('0x32')]);_0x4baea0[_0x634c('0x37')]=_['keys'](_0xf4a2dc[_0x634c('0x37')]);_0x4baea0['filters']=_[_0x634c('0x3a')](_0x4baea0[_0x634c('0x36')],_0x4baea0[_0x634c('0x37')]);_0x5296ff[_0x634c('0x3b')]=_[_0x634c('0x3a')](_0x4baea0['model'],qs[_0x634c('0x3c')](_0xf4a2dc[_0x634c('0x37')][_0x634c('0x3c')]));_0x5296ff[_0x634c('0x3b')]=_0x5296ff[_0x634c('0x3b')][_0x634c('0x3d')]?_0x5296ff[_0x634c('0x3b')]:_0x4baea0['model'];if(!_0xf4a2dc[_0x634c('0x37')]['hasOwnProperty'](_0x634c('0x3f'))){_0x5296ff[_0x634c('0x22')]=qs['limit'](_0xf4a2dc['query']['limit']);_0x5296ff[_0x634c('0x20')]=qs[_0x634c('0x20')](_0xf4a2dc['query'][_0x634c('0x20')]);}_0x5296ff[_0x634c('0x5c')]=qs[_0x634c('0x40')](_0xf4a2dc['query'][_0x634c('0x40')]);_0x5296ff[_0x634c('0x42')]=qs['filters'](_[_0x634c('0x41')](_0xf4a2dc['query'],_0x4baea0[_0x634c('0x39')]));_0x5296ff[_0x634c('0x42')][_0x634c('0x5d')]=_0x219bba['id'];if(_0xf4a2dc['query'][_0x634c('0x44')]){_0x5296ff[_0x634c('0x42')]=_[_0x634c('0x4d')](_0x5296ff[_0x634c('0x42')],{'$or':_[_0x634c('0x30')](_0x5296ff[_0x634c('0x3b')],function(_0x274bf8){var _0x11e701={};_0x11e701[_0x274bf8]={'$like':'%'+_0xf4a2dc['query']['filter']+'%'};return _0x11e701;})});}_0x5296ff=_[_0x634c('0x4d')]({},_0x5296ff,_0xf4a2dc[_0x634c('0x45')]);return db['UserMailQueue'][_0x634c('0x46')](_0x5296ff);}})[_0x634c('0x2a')](function(_0x2b8d7d){if(_0x2b8d7d){return db[_0x634c('0x5e')]['findAndCountAll']({'where':{'id':_[_0x634c('0x30')](_0x2b8d7d,_0x634c('0x5f')),'role':_0x634c('0x60')},'attributes':['id','name','mailPause',_0x634c('0x61'),_0x634c('0x62')]});}})[_0x634c('0x2a')](function(_0x39d77a){if(_0x39d77a){return{'count':_0x39d77a[_0x634c('0x23')],'rows':_[_0x634c('0x30')](_0x39d77a[_0x634c('0x47')],function(_0x5c6b93){return{'membername':_0x5c6b93[_0x634c('0x2e')],'UserId':_0x5c6b93['id'],'queue_name':_0x5b90bf[_0x634c('0x2e')],'MailQueueId':_0x5b90bf['id'],'interface':util['format']('%s/%s',_0x634c('0x63'),_0x5c6b93[_0x634c('0x2e')]),'penalty':0x0,'paused':_0x5c6b93[_0x634c('0x64')],'createdAt':_0x5c6b93['createdAt'],'updatedAt':_0x5c6b93[_0x634c('0x61')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x634c('0x2a')](respondWithFilteredResult(_0x4b0001,_0x5296ff))['catch'](handleError(_0x4b0001,null));};exports['getTeams']=function(_0x5497be,_0x51fa34,_0x3a0c5c){var _0x2b3611={};var _0x1c5c7c={};var _0x1d3038;var _0x55e567;return db[_0x634c('0x31')][_0x634c('0x5a')]({'where':{'id':_0x5497be[_0x634c('0x4a')]['id']}})['then'](handleEntityNotFound(_0x51fa34,null))[_0x634c('0x2a')](function(_0x106e93){if(_0x106e93){_0x1d3038=_0x106e93;_0x1c5c7c[_0x634c('0x36')]=_[_0x634c('0x38')](db[_0x634c('0x65')][_0x634c('0x32')]);_0x1c5c7c[_0x634c('0x37')]=_[_0x634c('0x38')](_0x5497be[_0x634c('0x37')]);_0x1c5c7c[_0x634c('0x39')]=_[_0x634c('0x3a')](_0x1c5c7c[_0x634c('0x36')],_0x1c5c7c[_0x634c('0x37')]);_0x2b3611['attributes']=_[_0x634c('0x3a')](_0x1c5c7c['model'],qs[_0x634c('0x3c')](_0x5497be[_0x634c('0x37')][_0x634c('0x3c')]));_0x2b3611[_0x634c('0x3b')]=_0x2b3611[_0x634c('0x3b')]['length']?_0x2b3611[_0x634c('0x3b')]:_0x1c5c7c[_0x634c('0x36')];_0x2b3611[_0x634c('0x5c')]=qs['sort'](_0x5497be[_0x634c('0x37')][_0x634c('0x40')]);_0x2b3611['where']=qs[_0x634c('0x39')](_[_0x634c('0x41')](_0x5497be[_0x634c('0x37')],_0x1c5c7c[_0x634c('0x39')]));if(_0x5497be[_0x634c('0x37')]['filter']){_0x2b3611[_0x634c('0x42')]=_['merge'](_0x2b3611[_0x634c('0x42')],{'$or':_[_0x634c('0x30')](_0x2b3611[_0x634c('0x3b')],function(_0x455f37){var _0x10b450={};_0x10b450[_0x455f37]={'$like':'%'+_0x5497be[_0x634c('0x37')][_0x634c('0x44')]+'%'};return _0x10b450;})});}_0x2b3611=_[_0x634c('0x4d')]({},_0x2b3611,_0x5497be['options']);return _0x1d3038[_0x634c('0x66')](_0x2b3611);}})[_0x634c('0x2a')](function(_0x222130){if(_0x222130){_0x55e567=_0x222130['length'];if(!_0x5497be[_0x634c('0x37')]['hasOwnProperty']('nolimit')){_0x2b3611[_0x634c('0x22')]=qs['limit'](_0x5497be['query'][_0x634c('0x22')]);_0x2b3611[_0x634c('0x20')]=qs[_0x634c('0x20')](_0x5497be[_0x634c('0x37')][_0x634c('0x20')]);}return _0x1d3038[_0x634c('0x66')](_0x2b3611);}})[_0x634c('0x2a')](function(_0x216f0e){if(_0x216f0e){return _0x216f0e?{'count':_0x55e567,'rows':_0x216f0e}:null;}})[_0x634c('0x2a')](respondWithResult(_0x51fa34,null))[_0x634c('0x48')](handleError(_0x51fa34,null));};exports[_0x634c('0x67')]=function(_0x1f86dd,_0x1092f9,_0x1665c3){var _0x35d58b=_0x1f86dd[_0x634c('0x50')][_0x634c('0x68')];return db[_0x634c('0x65')]['findAll']({'where':{'id':_0x35d58b},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x634c('0x2e'),_0x634c('0x69'),_0x634c('0x6a'),_0x634c('0x6b')],'raw':!![]}]})[_0x634c('0x2a')](function(_0x1741ff){if(_0x1741ff){var _0x3eb88e=_[_0x634c('0x6c')](_0x1741ff,function(_0x56374e){var _0x1bfc18=_0x56374e[_0x634c('0x2b')]({'plain':!![]});return _0x1bfc18[_0x634c('0x6d')];});return db[_0x634c('0x31')]['find']({'where':{'id':_0x1f86dd['params']['id']}})[_0x634c('0x2a')](function(_0xac61db){return db[_0x634c('0x6e')][_0x634c('0x6f')](function(_0x1cb384){return _0xac61db[_0x634c('0x67')](_0x35d58b,{'transaction':_0x1cb384})[_0x634c('0x2a')](function(){return BPromise[_0x634c('0x70')](_0x3eb88e,function(_0xe0eb58){return db[_0x634c('0x5b')]['findOrCreate']({'where':{'UserId':_0xe0eb58['id'],'MailQueueId':_0x1f86dd['params']['id']},'transaction':_0x1cb384});});})[_0x634c('0x2a')](function(){_0x3eb88e['forEach'](function(_0x342289){socket[_0x634c('0x71')](_0x634c('0x72'),{'UserId':_0x342289['id'],'MailQueueId':_0xac61db['id']});});});});});}})[_0x634c('0x2a')](respondWithStatusCode(_0x1092f9,null))[_0x634c('0x48')](handleError(_0x1092f9,null));};exports[_0x634c('0x73')]=function(_0x4ea93a,_0x14b3fd,_0x403f45){return db[_0x634c('0x65')]['findAll']({'where':{'id':_0x4ea93a[_0x634c('0x37')][_0x634c('0x68')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x634c('0x2a')](handleEntityNotFound(_0x14b3fd,null))['then'](function(_0xbf15fe){var _0x463282=_[_0x634c('0x30')](_0xbf15fe,'id');var _0x53c30a=[];var _0x5d46d6=[];var _0x19a246=squel[_0x634c('0x74')]();_0x19a246[_0x634c('0x75')](_0x634c('0x76'))[_0x634c('0x77')](_0x634c('0x78'),'tq')['join'](_0x634c('0x79'),'ut',_0x634c('0x7a'))[_0x634c('0x42')]('MailQueueId\x20=\x20?',_0x4ea93a[_0x634c('0x4a')]['id']);for(var _0x42fb14=0x0;_0x42fb14<_0xbf15fe[_0x634c('0x3d')];_0x42fb14+=0x1){let _0x406f26=_0xbf15fe[_0x42fb14];for(var _0x3f42ee=0x0;_0x3f42ee<_0x406f26[_0x634c('0x6d')][_0x634c('0x3d')];_0x3f42ee+=0x1){let _0x581593=_0x406f26[_0x634c('0x6d')][_0x3f42ee];var _0x105a77=_0x19a246[_0x634c('0x7b')]();_0x105a77['where'](_0x634c('0x7c'),_0x581593['id']);_0x5d46d6[_0x634c('0x7d')](db['sequelize'][_0x634c('0x37')](_0x105a77[_0x634c('0x7e')](),{'type':db['sequelize'][_0x634c('0x7f')]['SELECT']})['then'](function(_0x341968){if(_0x341968[_0x634c('0x3d')]===0x1){return _0x581593['id'];}else{var _0xc0d333=_['every'](_['map'](_0x341968,_0x634c('0x80')),function(_0x2b65ad){return _[_0x634c('0x81')](_0x463282,_0x2b65ad);});if(_0xc0d333){return _0x581593['id'];}}}));}}return BPromise['all'](_0x5d46d6)[_0x634c('0x2a')](function(_0x42e4c4){_0x53c30a=_(_0x53c30a)['union'](_0x42e4c4)[_0x634c('0x82')]()[_0x634c('0x83')]();return db[_0x634c('0x31')][_0x634c('0x4e')]({'where':{'id':_0x4ea93a[_0x634c('0x4a')]['id']}})[_0x634c('0x2a')](function(_0x30203f){return db['sequelize']['transaction'](function(_0xa1da1){return _0x30203f[_0x634c('0x73')](_0x4ea93a['query'][_0x634c('0x68')],{'transaction':_0xa1da1})[_0x634c('0x2a')](function(){if(!_['isEmpty'](_0x53c30a)){return _0x30203f[_0x634c('0x84')](_0x53c30a,{'transaction':_0xa1da1});}})[_0x634c('0x2a')](function(){_0x53c30a['forEach'](function(_0x541108){socket[_0x634c('0x71')](_0x634c('0x85'),{'UserId':_0x541108,'MailQueueId':_0x30203f['id']});});});});});});})[_0x634c('0x2a')](respondWithStatusCode(_0x14b3fd,null))[_0x634c('0x48')](handleError(_0x14b3fd,null));};exports[_0x634c('0x86')]=function(_0x2474c9,_0x5d118c,_0xb09c75){return db[_0x634c('0x31')][_0x634c('0x4e')]({'where':{'id':_0x2474c9[_0x634c('0x4a')]['id']}})[_0x634c('0x2a')](handleEntityNotFound(_0x5d118c,null))['then'](function(_0x2d61d5){if(_0x2d61d5){return _0x2d61d5[_0x634c('0x86')](_0x2474c9[_0x634c('0x50')][_0x634c('0x68')],_[_0x634c('0x87')](_0x2474c9[_0x634c('0x50')],[_0x634c('0x68'),'id'])||{})[_0x634c('0x88')](function(_0x59f982){for(var _0xc0639c=0x0;_0xc0639c<_0x2474c9['body']['ids']['length'];_0xc0639c+=0x1){socket[_0x634c('0x71')](_0x634c('0x72'),{'UserId':Number(_0x2474c9[_0x634c('0x50')][_0x634c('0x68')][_0xc0639c]),'MailQueueId':Number(_0x2474c9[_0x634c('0x4a')]['id'])});}return _0x59f982;});}})['then'](respondWithResult(_0x5d118c,null))[_0x634c('0x48')](handleError(_0x5d118c,null));};exports[_0x634c('0x84')]=function(_0x21991e,_0xe51a50,_0x131830){return db['MailQueue'][_0x634c('0x4e')]({'where':{'id':_0x21991e['params']['id']}})[_0x634c('0x2a')](handleEntityNotFound(_0xe51a50,null))['then'](function(_0xe357f0){if(_0xe357f0){return _0xe357f0['removeAgents'](_0x21991e[_0x634c('0x37')][_0x634c('0x68')])[_0x634c('0x2a')](function(){if(_[_0x634c('0x89')](_0x21991e[_0x634c('0x37')][_0x634c('0x68')])){for(var _0x3adc8c=0x0;_0x3adc8c<_0x21991e[_0x634c('0x37')][_0x634c('0x68')][_0x634c('0x3d')];_0x3adc8c+=0x1){socket[_0x634c('0x71')](_0x634c('0x85'),{'UserId':Number(_0x21991e[_0x634c('0x37')][_0x634c('0x68')][_0x3adc8c]),'MailQueueId':Number(_0x21991e[_0x634c('0x4a')]['id'])});}}else{socket[_0x634c('0x71')](_0x634c('0x85'),{'UserId':Number(_0x21991e[_0x634c('0x37')]['ids']),'MailQueueId':Number(_0x21991e[_0x634c('0x4a')]['id'])});}});}})['then'](respondWithStatusCode(_0xe51a50,null))[_0x634c('0x48')](handleError(_0xe51a50,null));};exports['getAgents']=function(_0xb2bc8d,_0x55caec,_0x59a635){var _0x4207b6={};var _0x1b6c10={};var _0x358f3e;var _0x22ee1d;return db[_0x634c('0x31')][_0x634c('0x5a')]({'where':{'id':_0xb2bc8d[_0x634c('0x4a')]['id']}})[_0x634c('0x2a')](handleEntityNotFound(_0x55caec,null))[_0x634c('0x2a')](function(_0xc882d7){if(_0xc882d7){_0x358f3e=_0xc882d7;_0x1b6c10[_0x634c('0x36')]=_['keys'](db[_0x634c('0x5e')][_0x634c('0x32')]);_0x1b6c10[_0x634c('0x37')]=_[_0x634c('0x38')](_0xb2bc8d[_0x634c('0x37')]);_0x1b6c10[_0x634c('0x39')]=_['intersection'](_0x1b6c10[_0x634c('0x36')],_0x1b6c10['query']);_0x4207b6[_0x634c('0x3b')]=_[_0x634c('0x3a')](_0x1b6c10[_0x634c('0x36')],qs[_0x634c('0x3c')](_0xb2bc8d[_0x634c('0x37')][_0x634c('0x3c')]));_0x4207b6[_0x634c('0x3b')]=_0x4207b6[_0x634c('0x3b')]['length']?_0x4207b6['attributes']:_0x1b6c10[_0x634c('0x36')];_0x4207b6['order']=qs[_0x634c('0x40')](_0xb2bc8d[_0x634c('0x37')]['sort']);_0x4207b6[_0x634c('0x42')]=qs[_0x634c('0x39')](_[_0x634c('0x41')](_0xb2bc8d[_0x634c('0x37')],_0x1b6c10[_0x634c('0x39')]));if(_0xb2bc8d['query'][_0x634c('0x44')]){_0x4207b6[_0x634c('0x42')]=_['merge'](_0x4207b6['where'],{'$or':_[_0x634c('0x30')](_0x4207b6[_0x634c('0x3b')],function(_0x3d120d){var _0x43ce07={};_0x43ce07[_0x3d120d]={'$like':'%'+_0xb2bc8d['query'][_0x634c('0x44')]+'%'};return _0x43ce07;})});}_0x4207b6=_[_0x634c('0x4d')]({},_0x4207b6,_0xb2bc8d['options']);return _0x358f3e[_0x634c('0x8a')](_0x4207b6);}})['then'](function(_0x878f62){if(_0x878f62){_0x22ee1d=_0x878f62[_0x634c('0x3d')];if(!_0xb2bc8d['query'][_0x634c('0x3e')]('nolimit')){_0x4207b6[_0x634c('0x22')]=qs[_0x634c('0x22')](_0xb2bc8d[_0x634c('0x37')][_0x634c('0x22')]);_0x4207b6[_0x634c('0x20')]=qs[_0x634c('0x20')](_0xb2bc8d['query'][_0x634c('0x20')]);}return _0x358f3e[_0x634c('0x8a')](_0x4207b6);}})[_0x634c('0x2a')](function(_0x1a7d84){if(_0x1a7d84){return _0x1a7d84?{'count':_0x22ee1d,'rows':_0x1a7d84}:null;}})[_0x634c('0x2a')](respondWithResult(_0x55caec,null))[_0x634c('0x48')](handleError(_0x55caec,null));};