4c204063b99e7a9446fae98c05b288f2676179e0
[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 _0x1db3=['../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','sendStatus','status','end','json','offset','set','Content-Range','apply','save','update','destroy','then','get','MailQueues','UserProfileResource','name','send','map','rawAttributes','fieldName','type','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','MailQueue','count','includeAll','include','findAll','rows','show','params','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','catch','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','UserMailQueue','MailQueueId','User','findAndCountAll','UserId','agent','updatedAt','format','%s/%s','mailPause','createdAt','getTeams','findOne','Team','pick','addTeams','ids','Agents','voicePause','interface','sequelize','transaction','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','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?','toString','QueryTypes','TeamId','includes','all','union','compact','isEmpty','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x130728,_0x1381a0){var _0x413c3d=function(_0x5c234f){while(--_0x5c234f){_0x130728['push'](_0x130728['shift']());}};_0x413c3d(++_0x1381a0);}(_0x1db3,0x77));var _0x31db=function(_0x5f46c8,_0x5ccfb6){_0x5f46c8=_0x5f46c8-0x0;var _0xc0431a=_0x1db3[_0x5f46c8];return _0xc0431a;};'use strict';var pdf=require(_0x31db('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x31db('0x1'));var zipdir=require(_0x31db('0x2'));var jsonpatch=require(_0x31db('0x3'));var rp=require(_0x31db('0x4'));var moment=require('moment');var BPromise=require(_0x31db('0x5'));var Mustache=require('mustache');var util=require(_0x31db('0x6'));var path=require(_0x31db('0x7'));var sox=require(_0x31db('0x8'));var csv=require(_0x31db('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x31db('0xa'));var squel=require(_0x31db('0xb'));var crypto=require(_0x31db('0xc'));var jsforce=require(_0x31db('0xd'));var deskjs=require(_0x31db('0xe'));var toCsv=require('to-csv');var querystring=require(_0x31db('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x31db('0x10'));var as=require(_0x31db('0x11'));var hardwareService=require(_0x31db('0x12'));var logger=require(_0x31db('0x13'))('api');var utils=require(_0x31db('0x14'));var config=require(_0x31db('0x15'));var db=require(_0x31db('0x16'))['db'];config[_0x31db('0x17')]=_['defaults'](config[_0x31db('0x17')],{'host':_0x31db('0x18'),'port':0x18eb});var socket=require(_0x31db('0x19'))(new Redis(config[_0x31db('0x17')]));require('./mailQueue.socket')['register'](socket);function respondWithStatusCode(_0x328567,_0xf02b68){_0xf02b68=_0xf02b68||0xcc;return function(_0xeba399){if(_0xeba399){return _0x328567[_0x31db('0x1a')](_0xf02b68);}return _0x328567[_0x31db('0x1b')](_0xf02b68)[_0x31db('0x1c')]();};}function respondWithResult(_0x5c78c4,_0x495f52){_0x495f52=_0x495f52||0xc8;return function(_0x28fa21){if(_0x28fa21){return _0x5c78c4[_0x31db('0x1b')](_0x495f52)[_0x31db('0x1d')](_0x28fa21);}};}function respondWithFilteredResult(_0x2c664d,_0x44568e){return function(_0x92394c){if(_0x92394c){var _0x5b5057=_0x92394c['count'],_0x2b8956=_0x44568e[_0x31db('0x1e')],_0x35846d=_0x44568e[_0x31db('0x1e')]+_0x44568e['limit'],_0x6bd70f;if(_0x35846d>=_0x5b5057){_0x35846d=_0x5b5057;_0x6bd70f=0xc8;}else{_0x6bd70f=0xce;}_0x2c664d[_0x31db('0x1b')](_0x6bd70f);return _0x2c664d[_0x31db('0x1f')](_0x31db('0x20'),_0x2b8956+'-'+_0x35846d+'/'+_0x5b5057)[_0x31db('0x1d')](_0x92394c);}return null;};}function patchUpdates(_0x56bb66){return function(_0x1cf3b9){try{jsonpatch[_0x31db('0x21')](_0x1cf3b9,_0x56bb66,!![]);}catch(_0x258be0){return BPromise['reject'](_0x258be0);}return _0x1cf3b9[_0x31db('0x22')]();};}function saveUpdates(_0x38a062,_0x1c387b){return function(_0x30fc86){if(_0x30fc86){return _0x30fc86[_0x31db('0x23')](_0x38a062)['then'](function(_0x3cfa5c){return _0x3cfa5c;});}return null;};}function removeEntity(_0x48306d,_0x9fadb4){return function(_0x5ecc2e){if(_0x5ecc2e){return _0x5ecc2e[_0x31db('0x24')]()[_0x31db('0x25')](function(){var _0x335afd=_0x5ecc2e[_0x31db('0x26')]({'plain':!![]});var _0x3592aa=_0x31db('0x27');return db[_0x31db('0x28')]['destroy']({'where':{'type':_0x3592aa,'resourceId':_0x335afd['id']}})['then'](function(){return _0x5ecc2e;});})['then'](function(){_0x48306d[_0x31db('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x49fc1f,_0x1f8cb5){return function(_0x2d14f4){if(!_0x2d14f4){_0x49fc1f['sendStatus'](0x194);}return _0x2d14f4;};}function handleError(_0x23b016,_0x1e9023){_0x1e9023=_0x1e9023||0x1f4;return function(_0x1ddfae){logger['error'](_0x1ddfae['stack']);if(_0x1ddfae[_0x31db('0x29')]){delete _0x1ddfae[_0x31db('0x29')];}_0x23b016[_0x31db('0x1b')](_0x1e9023)[_0x31db('0x2a')](_0x1ddfae);};}exports['index']=function(_0x3f6205,_0x47dabe){var _0x3ca2c0={},_0xeb4b9f={},_0x3ce45b={'count':0x0,'rows':[]};var _0x9ff86e=_[_0x31db('0x2b')](db['MailQueue'][_0x31db('0x2c')],function(_0x409651){return{'name':_0x409651[_0x31db('0x2d')],'type':_0x409651[_0x31db('0x2e')]['key']};});_0xeb4b9f[_0x31db('0x2f')]=_[_0x31db('0x2b')](_0x9ff86e,'name');_0xeb4b9f['query']=_[_0x31db('0x30')](_0x3f6205[_0x31db('0x31')]);_0xeb4b9f[_0x31db('0x32')]=_[_0x31db('0x33')](_0xeb4b9f[_0x31db('0x2f')],_0xeb4b9f[_0x31db('0x31')]);_0x3ca2c0[_0x31db('0x34')]=_[_0x31db('0x33')](_0xeb4b9f[_0x31db('0x2f')],qs[_0x31db('0x35')](_0x3f6205[_0x31db('0x31')]['fields']));_0x3ca2c0[_0x31db('0x34')]=_0x3ca2c0[_0x31db('0x34')][_0x31db('0x36')]?_0x3ca2c0[_0x31db('0x34')]:_0xeb4b9f[_0x31db('0x2f')];if(!_0x3f6205[_0x31db('0x31')][_0x31db('0x37')](_0x31db('0x38'))){_0x3ca2c0[_0x31db('0x39')]=qs[_0x31db('0x39')](_0x3f6205[_0x31db('0x31')][_0x31db('0x39')]);_0x3ca2c0[_0x31db('0x1e')]=qs[_0x31db('0x1e')](_0x3f6205[_0x31db('0x31')]['offset']);}_0x3ca2c0[_0x31db('0x3a')]=qs[_0x31db('0x3b')](_0x3f6205['query'][_0x31db('0x3b')]);_0x3ca2c0[_0x31db('0x3c')]=qs[_0x31db('0x32')](_['pick'](_0x3f6205[_0x31db('0x31')],_0xeb4b9f[_0x31db('0x32')]),_0x9ff86e);if(_0x3f6205[_0x31db('0x31')][_0x31db('0x3d')]){_0x3ca2c0['where']=_[_0x31db('0x3e')](_0x3ca2c0['where'],{'$or':_[_0x31db('0x2b')](_0x9ff86e,function(_0x4919aa){if(_0x4919aa['type']!==_0x31db('0x3f')){var _0x888176={};_0x888176[_0x4919aa['name']]={'$like':'%'+_0x3f6205[_0x31db('0x31')][_0x31db('0x3d')]+'%'};return _0x888176;}})});}_0x3ca2c0=_[_0x31db('0x3e')]({},_0x3ca2c0,_0x3f6205[_0x31db('0x40')]);var _0x4815be={'where':_0x3ca2c0[_0x31db('0x3c')]};return db[_0x31db('0x41')][_0x31db('0x42')](_0x4815be)['then'](function(_0x1379e0){_0x3ce45b[_0x31db('0x42')]=_0x1379e0;if(_0x3f6205[_0x31db('0x31')][_0x31db('0x43')]){_0x3ca2c0[_0x31db('0x44')]=[{'all':!![]}];}return db[_0x31db('0x41')][_0x31db('0x45')](_0x3ca2c0);})['then'](function(_0x548843){_0x3ce45b[_0x31db('0x46')]=_0x548843;return _0x3ce45b;})[_0x31db('0x25')](respondWithFilteredResult(_0x47dabe,_0x3ca2c0))['catch'](handleError(_0x47dabe,null));};exports[_0x31db('0x47')]=function(_0x2dfcd9,_0x58ecba){var _0xd40f43={'raw':!![],'where':{'id':_0x2dfcd9[_0x31db('0x48')]['id']}},_0x35e684={};_0x35e684[_0x31db('0x2f')]=_[_0x31db('0x30')](db[_0x31db('0x41')][_0x31db('0x2c')]);_0x35e684[_0x31db('0x31')]=_['keys'](_0x2dfcd9['query']);_0x35e684[_0x31db('0x32')]=_[_0x31db('0x33')](_0x35e684[_0x31db('0x2f')],_0x35e684[_0x31db('0x31')]);_0xd40f43[_0x31db('0x34')]=_[_0x31db('0x33')](_0x35e684[_0x31db('0x2f')],qs[_0x31db('0x35')](_0x2dfcd9[_0x31db('0x31')]['fields']));_0xd40f43[_0x31db('0x34')]=_0xd40f43[_0x31db('0x34')]['length']?_0xd40f43[_0x31db('0x34')]:_0x35e684[_0x31db('0x2f')];if(_0x2dfcd9[_0x31db('0x31')][_0x31db('0x43')]){_0xd40f43[_0x31db('0x44')]=[{'all':!![]}];}_0xd40f43=_[_0x31db('0x3e')]({},_0xd40f43,_0x2dfcd9[_0x31db('0x40')]);return db[_0x31db('0x41')][_0x31db('0x49')](_0xd40f43)[_0x31db('0x25')](handleEntityNotFound(_0x58ecba,null))[_0x31db('0x25')](respondWithResult(_0x58ecba,null))['catch'](handleError(_0x58ecba,null));};exports[_0x31db('0x4a')]=function(_0x571b1f,_0x1b0a5a){return db[_0x31db('0x41')][_0x31db('0x4a')](_0x571b1f['body'],{})['then'](function(_0x26307b){var _0xf41934=_0x571b1f['user'][_0x31db('0x26')]({'plain':!![]});if(!_0xf41934)throw new Error(_0x31db('0x4b'));if(_0xf41934[_0x31db('0x4c')]===_0x31db('0x4d')){var _0x2666eb=_0x26307b[_0x31db('0x26')]({'plain':!![]});var _0x43a7e0='MailQueues';return db[_0x31db('0x4e')][_0x31db('0x49')]({'where':{'name':_0x43a7e0,'userProfileId':_0xf41934[_0x31db('0x4f')]},'raw':!![]})[_0x31db('0x25')](function(_0x6926d9){if(_0x6926d9&&_0x6926d9[_0x31db('0x50')]===0x0){return db[_0x31db('0x28')][_0x31db('0x4a')]({'name':_0x2666eb[_0x31db('0x29')],'resourceId':_0x2666eb['id'],'type':_0x6926d9[_0x31db('0x29')],'sectionId':_0x6926d9['id']},{})[_0x31db('0x25')](function(){return _0x26307b;});}else{return _0x26307b;}})[_0x31db('0x51')](function(_0x1b9df5){logger[_0x31db('0x52')](_0x31db('0x53'),_0x1b9df5);throw _0x1b9df5;});}return _0x26307b;})['then'](respondWithResult(_0x1b0a5a,0xc9))[_0x31db('0x51')](handleError(_0x1b0a5a,null));};exports[_0x31db('0x23')]=function(_0x4d07d9,_0x249e30){if(_0x4d07d9[_0x31db('0x54')]['id']){delete _0x4d07d9[_0x31db('0x54')]['id'];}return db[_0x31db('0x41')][_0x31db('0x49')]({'where':{'id':_0x4d07d9[_0x31db('0x48')]['id']}})[_0x31db('0x25')](handleEntityNotFound(_0x249e30,null))[_0x31db('0x25')](saveUpdates(_0x4d07d9[_0x31db('0x54')],null))[_0x31db('0x25')](respondWithResult(_0x249e30,null))[_0x31db('0x51')](handleError(_0x249e30,null));};exports[_0x31db('0x24')]=function(_0x31922d,_0x4f897e){return db[_0x31db('0x41')]['find']({'where':{'id':_0x31922d[_0x31db('0x48')]['id']}})[_0x31db('0x25')](handleEntityNotFound(_0x4f897e,null))[_0x31db('0x25')](removeEntity(_0x4f897e,null))[_0x31db('0x51')](handleError(_0x4f897e,null));};exports['describe']=function(_0x496c6d,_0x456c9f){return db[_0x31db('0x41')][_0x31db('0x55')]()[_0x31db('0x25')](respondWithResult(_0x456c9f,null))[_0x31db('0x51')](handleError(_0x456c9f,null));};exports['getMembers']=function(_0x25dfc3,_0x1087ae,_0x1b831b){var _0x34b158={'raw':!![],'where':{}},_0x31ae7e={},_0x3bb38f;return db[_0x31db('0x41')]['findOne']({'where':{'id':_0x25dfc3[_0x31db('0x48')]['id']}})[_0x31db('0x25')](handleEntityNotFound(_0x1087ae,null))[_0x31db('0x25')](function(_0x1dd318){if(_0x1dd318){_0x3bb38f=_0x1dd318[_0x31db('0x26')]({'plain':!![]});_0x31ae7e[_0x31db('0x2f')]=_[_0x31db('0x30')](db[_0x31db('0x56')][_0x31db('0x2c')]);_0x31ae7e['query']=_[_0x31db('0x30')](_0x25dfc3['query']);_0x31ae7e[_0x31db('0x32')]=_[_0x31db('0x33')](_0x31ae7e[_0x31db('0x2f')],_0x31ae7e[_0x31db('0x31')]);_0x34b158[_0x31db('0x34')]=_[_0x31db('0x33')](_0x31ae7e[_0x31db('0x2f')],qs[_0x31db('0x35')](_0x25dfc3[_0x31db('0x31')][_0x31db('0x35')]));_0x34b158['attributes']=_0x34b158['attributes'][_0x31db('0x36')]?_0x34b158[_0x31db('0x34')]:_0x31ae7e[_0x31db('0x2f')];if(!_0x25dfc3[_0x31db('0x31')]['hasOwnProperty']('nolimit')){_0x34b158[_0x31db('0x39')]=qs[_0x31db('0x39')](_0x25dfc3['query'][_0x31db('0x39')]);_0x34b158['offset']=qs[_0x31db('0x1e')](_0x25dfc3['query'][_0x31db('0x1e')]);}_0x34b158[_0x31db('0x3a')]=qs[_0x31db('0x3b')](_0x25dfc3[_0x31db('0x31')][_0x31db('0x3b')]);_0x34b158[_0x31db('0x3c')]=qs['filters'](_['pick'](_0x25dfc3[_0x31db('0x31')],_0x31ae7e[_0x31db('0x32')]));_0x34b158[_0x31db('0x3c')][_0x31db('0x57')]=_0x1dd318['id'];if(_0x25dfc3['query'][_0x31db('0x3d')]){_0x34b158[_0x31db('0x3c')]=_[_0x31db('0x3e')](_0x34b158[_0x31db('0x3c')],{'$or':_[_0x31db('0x2b')](_0x34b158[_0x31db('0x34')],function(_0xf4ca8d){var _0x477185={};_0x477185[_0xf4ca8d]={'$like':'%'+_0x25dfc3[_0x31db('0x31')][_0x31db('0x3d')]+'%'};return _0x477185;})});}_0x34b158=_[_0x31db('0x3e')]({},_0x34b158,_0x25dfc3[_0x31db('0x40')]);return db[_0x31db('0x56')][_0x31db('0x45')](_0x34b158);}})['then'](function(_0x247737){if(_0x247737){return db[_0x31db('0x58')][_0x31db('0x59')]({'where':{'id':_[_0x31db('0x2b')](_0x247737,_0x31db('0x5a')),'role':_0x31db('0x5b')},'attributes':['id','name','mailPause',_0x31db('0x5c'),'createdAt']});}})[_0x31db('0x25')](function(_0x5574fc){if(_0x5574fc){return{'count':_0x5574fc[_0x31db('0x42')],'rows':_[_0x31db('0x2b')](_0x5574fc[_0x31db('0x46')],function(_0x25959e){return{'membername':_0x25959e[_0x31db('0x29')],'UserId':_0x25959e['id'],'queue_name':_0x3bb38f[_0x31db('0x29')],'MailQueueId':_0x3bb38f['id'],'interface':util[_0x31db('0x5d')](_0x31db('0x5e'),'SIP',_0x25959e[_0x31db('0x29')]),'penalty':0x0,'paused':_0x25959e[_0x31db('0x5f')],'createdAt':_0x25959e[_0x31db('0x60')],'updatedAt':_0x25959e['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x31db('0x25')](respondWithFilteredResult(_0x1087ae,_0x34b158))[_0x31db('0x51')](handleError(_0x1087ae,null));};exports[_0x31db('0x61')]=function(_0x48dbdc,_0x2314ff,_0x1e4ee7){var _0x58ca67={};var _0x19a640={};var _0x5f210b;var _0x4ed0b8;return db[_0x31db('0x41')][_0x31db('0x62')]({'where':{'id':_0x48dbdc[_0x31db('0x48')]['id']}})[_0x31db('0x25')](handleEntityNotFound(_0x2314ff,null))[_0x31db('0x25')](function(_0xf2b65a){if(_0xf2b65a){_0x5f210b=_0xf2b65a;_0x19a640['model']=_['keys'](db[_0x31db('0x63')][_0x31db('0x2c')]);_0x19a640[_0x31db('0x31')]=_[_0x31db('0x30')](_0x48dbdc['query']);_0x19a640[_0x31db('0x32')]=_[_0x31db('0x33')](_0x19a640[_0x31db('0x2f')],_0x19a640[_0x31db('0x31')]);_0x58ca67[_0x31db('0x34')]=_['intersection'](_0x19a640[_0x31db('0x2f')],qs[_0x31db('0x35')](_0x48dbdc[_0x31db('0x31')][_0x31db('0x35')]));_0x58ca67[_0x31db('0x34')]=_0x58ca67['attributes'][_0x31db('0x36')]?_0x58ca67[_0x31db('0x34')]:_0x19a640[_0x31db('0x2f')];_0x58ca67[_0x31db('0x3a')]=qs[_0x31db('0x3b')](_0x48dbdc[_0x31db('0x31')]['sort']);_0x58ca67[_0x31db('0x3c')]=qs['filters'](_[_0x31db('0x64')](_0x48dbdc['query'],_0x19a640[_0x31db('0x32')]));if(_0x48dbdc['query'][_0x31db('0x3d')]){_0x58ca67[_0x31db('0x3c')]=_[_0x31db('0x3e')](_0x58ca67[_0x31db('0x3c')],{'$or':_[_0x31db('0x2b')](_0x58ca67[_0x31db('0x34')],function(_0x358719){var _0x520914={};_0x520914[_0x358719]={'$like':'%'+_0x48dbdc['query'][_0x31db('0x3d')]+'%'};return _0x520914;})});}_0x58ca67=_[_0x31db('0x3e')]({},_0x58ca67,_0x48dbdc['options']);return _0x5f210b[_0x31db('0x61')](_0x58ca67);}})[_0x31db('0x25')](function(_0x4705e3){if(_0x4705e3){_0x4ed0b8=_0x4705e3[_0x31db('0x36')];if(!_0x48dbdc[_0x31db('0x31')][_0x31db('0x37')](_0x31db('0x38'))){_0x58ca67[_0x31db('0x39')]=qs[_0x31db('0x39')](_0x48dbdc[_0x31db('0x31')][_0x31db('0x39')]);_0x58ca67['offset']=qs[_0x31db('0x1e')](_0x48dbdc[_0x31db('0x31')][_0x31db('0x1e')]);}return _0x5f210b[_0x31db('0x61')](_0x58ca67);}})[_0x31db('0x25')](function(_0x59ba4c){if(_0x59ba4c){return _0x59ba4c?{'count':_0x4ed0b8,'rows':_0x59ba4c}:null;}})[_0x31db('0x25')](respondWithResult(_0x2314ff,null))['catch'](handleError(_0x2314ff,null));};exports[_0x31db('0x65')]=function(_0x333609,_0x10be6d,_0x187ff8){var _0xb4446d=_0x333609[_0x31db('0x54')][_0x31db('0x66')];return db['Team'][_0x31db('0x45')]({'where':{'id':_0xb4446d},'attributes':['id'],'include':[{'model':db[_0x31db('0x58')],'as':_0x31db('0x67'),'attributes':['id',_0x31db('0x29'),'online',_0x31db('0x68'),_0x31db('0x69')],'raw':!![]}]})['then'](function(_0x53c394){if(_0x53c394){var _0x404654=_['flatMap'](_0x53c394,function(_0x174463){var _0x4bba01=_0x174463[_0x31db('0x26')]({'plain':!![]});return _0x4bba01[_0x31db('0x67')];});return db[_0x31db('0x41')][_0x31db('0x49')]({'where':{'id':_0x333609[_0x31db('0x48')]['id']}})[_0x31db('0x25')](function(_0x44b9b4){return db[_0x31db('0x6a')][_0x31db('0x6b')](function(_0x24603a){return _0x44b9b4['addTeams'](_0xb4446d,{'transaction':_0x24603a})[_0x31db('0x25')](function(){return BPromise[_0x31db('0x6c')](_0x404654,function(_0x517c75){return db[_0x31db('0x56')][_0x31db('0x6d')]({'where':{'UserId':_0x517c75['id'],'MailQueueId':_0x333609[_0x31db('0x48')]['id']},'transaction':_0x24603a});});})['then'](function(){_0x404654[_0x31db('0x6e')](function(_0x2910f5){socket[_0x31db('0x6f')](_0x31db('0x70'),{'UserId':_0x2910f5['id'],'MailQueueId':_0x44b9b4['id']});});});});});}})['then'](respondWithStatusCode(_0x10be6d,null))[_0x31db('0x51')](handleError(_0x10be6d,null));};exports[_0x31db('0x71')]=function(_0x2d3981,_0x3425f9,_0xaf6341){return db[_0x31db('0x63')][_0x31db('0x45')]({'where':{'id':_0x2d3981['query'][_0x31db('0x66')]},'attributes':['id'],'include':[{'model':db[_0x31db('0x58')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x31db('0x25')](handleEntityNotFound(_0x3425f9,null))['then'](function(_0x4cc2a7){var _0x78ec8e=_[_0x31db('0x2b')](_0x4cc2a7,'id');var _0x12518d=[];var _0x375c02=[];var _0x2dc18e=squel[_0x31db('0x72')]();_0x2dc18e[_0x31db('0x73')](_0x31db('0x74'))[_0x31db('0x75')](_0x31db('0x76'),'tq')[_0x31db('0x77')](_0x31db('0x78'),'ut',_0x31db('0x79'))[_0x31db('0x3c')](_0x31db('0x7a'),_0x2d3981[_0x31db('0x48')]['id']);for(var _0x3ec1d7=0x0;_0x3ec1d7<_0x4cc2a7[_0x31db('0x36')];_0x3ec1d7+=0x1){let _0x23890c=_0x4cc2a7[_0x3ec1d7];for(var _0x2a9658=0x0;_0x2a9658<_0x23890c[_0x31db('0x67')][_0x31db('0x36')];_0x2a9658+=0x1){let _0x431726=_0x23890c[_0x31db('0x67')][_0x2a9658];var _0x441b09=_0x2dc18e[_0x31db('0x7b')]();_0x441b09[_0x31db('0x3c')](_0x31db('0x7c'),_0x431726['id']);_0x375c02['push'](db[_0x31db('0x6a')][_0x31db('0x31')](_0x441b09[_0x31db('0x7d')](),{'type':db[_0x31db('0x6a')][_0x31db('0x7e')]['SELECT']})[_0x31db('0x25')](function(_0x1741bd){if(_0x1741bd[_0x31db('0x36')]===0x1){return _0x431726['id'];}else{var _0x32133c=_['every'](_[_0x31db('0x2b')](_0x1741bd,_0x31db('0x7f')),function(_0x310044){return _[_0x31db('0x80')](_0x78ec8e,_0x310044);});if(_0x32133c){return _0x431726['id'];}}}));}}return BPromise[_0x31db('0x81')](_0x375c02)[_0x31db('0x25')](function(_0x356e3b){_0x12518d=_(_0x12518d)[_0x31db('0x82')](_0x356e3b)[_0x31db('0x83')]()['value']();return db[_0x31db('0x41')][_0x31db('0x49')]({'where':{'id':_0x2d3981['params']['id']}})[_0x31db('0x25')](function(_0x413f16){return db[_0x31db('0x6a')][_0x31db('0x6b')](function(_0x121a0e){return _0x413f16[_0x31db('0x71')](_0x2d3981['query'][_0x31db('0x66')],{'transaction':_0x121a0e})['then'](function(){if(!_[_0x31db('0x84')](_0x12518d)){return _0x413f16[_0x31db('0x85')](_0x12518d,{'transaction':_0x121a0e});}})[_0x31db('0x25')](function(){_0x12518d['forEach'](function(_0x1ba568){socket[_0x31db('0x6f')](_0x31db('0x86'),{'UserId':_0x1ba568,'MailQueueId':_0x413f16['id']});});});});});});})[_0x31db('0x25')](respondWithStatusCode(_0x3425f9,null))[_0x31db('0x51')](handleError(_0x3425f9,null));};exports[_0x31db('0x87')]=function(_0x164d53,_0x29d938,_0xc3c5ea){return db[_0x31db('0x41')][_0x31db('0x49')]({'where':{'id':_0x164d53[_0x31db('0x48')]['id']}})['then'](handleEntityNotFound(_0x29d938,null))[_0x31db('0x25')](function(_0x46c911){if(_0x46c911){return _0x46c911[_0x31db('0x87')](_0x164d53['body'][_0x31db('0x66')],_[_0x31db('0x88')](_0x164d53[_0x31db('0x54')],[_0x31db('0x66'),'id'])||{})[_0x31db('0x89')](function(_0x13ca72){for(var _0x1d5139=0x0;_0x1d5139<_0x164d53[_0x31db('0x54')][_0x31db('0x66')]['length'];_0x1d5139+=0x1){socket[_0x31db('0x6f')]('userMailQueue:save',{'UserId':_0x164d53['body'][_0x31db('0x66')][_0x1d5139],'MailQueueId':_0x164d53['params']['id']});}return _0x13ca72;});}})[_0x31db('0x25')](respondWithResult(_0x29d938,null))[_0x31db('0x51')](handleError(_0x29d938,null));};exports['removeAgents']=function(_0x2e192b,_0x28b804,_0x46e507){return db[_0x31db('0x41')][_0x31db('0x49')]({'where':{'id':_0x2e192b[_0x31db('0x48')]['id']}})[_0x31db('0x25')](handleEntityNotFound(_0x28b804,null))['then'](function(_0x5f3dda){if(_0x5f3dda){return _0x5f3dda[_0x31db('0x85')](_0x2e192b[_0x31db('0x31')][_0x31db('0x66')])[_0x31db('0x25')](function(){if(_[_0x31db('0x8a')](_0x2e192b[_0x31db('0x31')][_0x31db('0x66')])){for(var _0x18e3c4=0x0;_0x18e3c4<_0x2e192b['query'][_0x31db('0x66')][_0x31db('0x36')];_0x18e3c4+=0x1){socket['emit'](_0x31db('0x86'),{'UserId':Number(_0x2e192b[_0x31db('0x31')][_0x31db('0x66')][_0x18e3c4]),'MailQueueId':Number(_0x2e192b[_0x31db('0x48')]['id'])});}}else{socket[_0x31db('0x6f')]('userMailQueue:remove',{'UserId':Number(_0x2e192b['query'][_0x31db('0x66')]),'MailQueueId':Number(_0x2e192b['params']['id'])});}});}})[_0x31db('0x25')](respondWithStatusCode(_0x28b804,null))['catch'](handleError(_0x28b804,null));};exports['getAgents']=function(_0x58f3b3,_0x4ba780,_0x2cdcff){var _0x3752fb={};var _0x264aa3={};var _0x59b544;var _0x364723;return db['MailQueue'][_0x31db('0x62')]({'where':{'id':_0x58f3b3[_0x31db('0x48')]['id']}})[_0x31db('0x25')](handleEntityNotFound(_0x4ba780,null))[_0x31db('0x25')](function(_0x2ea39d){if(_0x2ea39d){_0x59b544=_0x2ea39d;_0x264aa3[_0x31db('0x2f')]=_[_0x31db('0x30')](db[_0x31db('0x58')]['rawAttributes']);_0x264aa3['query']=_[_0x31db('0x30')](_0x58f3b3[_0x31db('0x31')]);_0x264aa3[_0x31db('0x32')]=_[_0x31db('0x33')](_0x264aa3[_0x31db('0x2f')],_0x264aa3[_0x31db('0x31')]);_0x3752fb[_0x31db('0x34')]=_[_0x31db('0x33')](_0x264aa3[_0x31db('0x2f')],qs[_0x31db('0x35')](_0x58f3b3[_0x31db('0x31')][_0x31db('0x35')]));_0x3752fb['attributes']=_0x3752fb[_0x31db('0x34')][_0x31db('0x36')]?_0x3752fb['attributes']:_0x264aa3['model'];_0x3752fb[_0x31db('0x3a')]=qs[_0x31db('0x3b')](_0x58f3b3[_0x31db('0x31')][_0x31db('0x3b')]);_0x3752fb[_0x31db('0x3c')]=qs[_0x31db('0x32')](_[_0x31db('0x64')](_0x58f3b3[_0x31db('0x31')],_0x264aa3[_0x31db('0x32')]));if(_0x58f3b3[_0x31db('0x31')]['filter']){_0x3752fb[_0x31db('0x3c')]=_['merge'](_0x3752fb[_0x31db('0x3c')],{'$or':_[_0x31db('0x2b')](_0x3752fb[_0x31db('0x34')],function(_0x2ce9a0){var _0x13cea5={};_0x13cea5[_0x2ce9a0]={'$like':'%'+_0x58f3b3[_0x31db('0x31')][_0x31db('0x3d')]+'%'};return _0x13cea5;})});}_0x3752fb=_[_0x31db('0x3e')]({},_0x3752fb,_0x58f3b3[_0x31db('0x40')]);return _0x59b544[_0x31db('0x8b')](_0x3752fb);}})[_0x31db('0x25')](function(_0x14ece5){if(_0x14ece5){_0x364723=_0x14ece5[_0x31db('0x36')];if(!_0x58f3b3[_0x31db('0x31')][_0x31db('0x37')]('nolimit')){_0x3752fb[_0x31db('0x39')]=qs[_0x31db('0x39')](_0x58f3b3[_0x31db('0x31')][_0x31db('0x39')]);_0x3752fb['offset']=qs[_0x31db('0x1e')](_0x58f3b3[_0x31db('0x31')]['offset']);}return _0x59b544['getAgents'](_0x3752fb);}})[_0x31db('0x25')](function(_0x2ef4b1){if(_0x2ef4b1){return _0x2ef4b1?{'count':_0x364723,'rows':_0x2ef4b1}:null;}})['then'](respondWithResult(_0x4ba780,null))['catch'](handleError(_0x4ba780,null));};