2d9d35e5fbb59d3d1b804f4463d4c5ca50b12738
[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 _0xf3f9=['sort','pick','filter','where','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','UserMailQueue','User','agent','mailPause','updatedAt','format','%s/%s','SIP','createdAt','getTeams','addTeams','ids','Team','interface','flatMap','Agents','transaction','findOrCreate','forEach','userMailQueue:save','removeTeams','select','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','sequelize','toString','QueryTypes','every','includes','all','union','compact','value','isEmpty','removeAgents','emit','userMailQueue:remove','addAgents','spread','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','lodash','crypto','jsforce','desk.js','querystring','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./mailQueue.socket','sendStatus','status','end','json','count','offset','limit','set','apply','save','then','get','MailQueues','destroy','error','send','index','MailQueue','rawAttributes','fieldName','type','key','model','map','name','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order'];(function(_0x3b742f,_0x592e86){var _0x404303=function(_0x386d3c){while(--_0x386d3c){_0x3b742f['push'](_0x3b742f['shift']());}};_0x404303(++_0x592e86);}(_0xf3f9,0x1de));var _0x9f3f=function(_0x189599,_0xdd106a){_0x189599=_0x189599-0x0;var _0x152ed2=_0xf3f9[_0x189599];return _0x152ed2;};'use strict';var pdf=require(_0x9f3f('0x0'));var emlformat=require(_0x9f3f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x9f3f('0x2'));var jsonpatch=require(_0x9f3f('0x3'));var rp=require(_0x9f3f('0x4'));var moment=require(_0x9f3f('0x5'));var BPromise=require(_0x9f3f('0x6'));var Mustache=require(_0x9f3f('0x7'));var util=require(_0x9f3f('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0x9f3f('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9f3f('0xa'));var squel=require('squel');var crypto=require(_0x9f3f('0xb'));var jsforce=require(_0x9f3f('0xc'));var deskjs=require(_0x9f3f('0xd'));var toCsv=require('to-csv');var querystring=require(_0x9f3f('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x9f3f('0xf'));var hardwareService=require(_0x9f3f('0x10'));var logger=require(_0x9f3f('0x11'))(_0x9f3f('0x12'));var utils=require(_0x9f3f('0x13'));var config=require(_0x9f3f('0x14'));var licenseUtil=require(_0x9f3f('0x15'));var db=require(_0x9f3f('0x16'))['db'];config[_0x9f3f('0x17')]=_[_0x9f3f('0x18')](config[_0x9f3f('0x17')],{'host':_0x9f3f('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9f3f('0x17')]));require(_0x9f3f('0x1a'))['register'](socket);function respondWithStatusCode(_0x588ab3,_0x3564b4){_0x3564b4=_0x3564b4||0xcc;return function(_0x4849da){if(_0x4849da){return _0x588ab3[_0x9f3f('0x1b')](_0x3564b4);}return _0x588ab3[_0x9f3f('0x1c')](_0x3564b4)[_0x9f3f('0x1d')]();};}function respondWithResult(_0x40a26b,_0x569dc9){_0x569dc9=_0x569dc9||0xc8;return function(_0x258ecd){if(_0x258ecd){return _0x40a26b[_0x9f3f('0x1c')](_0x569dc9)[_0x9f3f('0x1e')](_0x258ecd);}};}function respondWithFilteredResult(_0x124077,_0x1c7633){return function(_0x153b2f){if(_0x153b2f){var _0x5d3fc9=_0x153b2f[_0x9f3f('0x1f')],_0x115b23=_0x1c7633['offset'],_0x542670=_0x1c7633[_0x9f3f('0x20')]+_0x1c7633[_0x9f3f('0x21')],_0x1b8706;if(_0x542670>=_0x5d3fc9){_0x542670=_0x5d3fc9;_0x1b8706=0xc8;}else{_0x1b8706=0xce;}_0x124077[_0x9f3f('0x1c')](_0x1b8706);return _0x124077[_0x9f3f('0x22')]('Content-Range',_0x115b23+'-'+_0x542670+'/'+_0x5d3fc9)['json'](_0x153b2f);}return null;};}function patchUpdates(_0x4445fe){return function(_0x5d51ad){try{jsonpatch[_0x9f3f('0x23')](_0x5d51ad,_0x4445fe,!![]);}catch(_0x4a6199){return BPromise['reject'](_0x4a6199);}return _0x5d51ad[_0x9f3f('0x24')]();};}function saveUpdates(_0x2e9379,_0x4a4ad5){return function(_0x37f916){if(_0x37f916){return _0x37f916['update'](_0x2e9379)['then'](function(_0x1193a1){return _0x1193a1;});}return null;};}function removeEntity(_0x2940e0,_0x18905d){return function(_0x45b6c0){if(_0x45b6c0){return _0x45b6c0['destroy']()[_0x9f3f('0x25')](function(){var _0x5d67f3=_0x45b6c0[_0x9f3f('0x26')]({'plain':!![]});var _0x1ef969=_0x9f3f('0x27');return db['UserProfileResource'][_0x9f3f('0x28')]({'where':{'type':_0x1ef969,'resourceId':_0x5d67f3['id']}})[_0x9f3f('0x25')](function(){return _0x45b6c0;});})[_0x9f3f('0x25')](function(){_0x2940e0[_0x9f3f('0x1c')](0xcc)[_0x9f3f('0x1d')]();});}};}function handleEntityNotFound(_0x5c4f15,_0x4fee86){return function(_0x2d8ce3){if(!_0x2d8ce3){_0x5c4f15['sendStatus'](0x194);}return _0x2d8ce3;};}function handleError(_0x3b43c7,_0x3187cb){_0x3187cb=_0x3187cb||0x1f4;return function(_0x5e5f3e){logger[_0x9f3f('0x29')](_0x5e5f3e['stack']);if(_0x5e5f3e['name']){delete _0x5e5f3e['name'];}_0x3b43c7['status'](_0x3187cb)[_0x9f3f('0x2a')](_0x5e5f3e);};}exports[_0x9f3f('0x2b')]=function(_0x4c496e,_0x3a5be4){var _0xf848ef={},_0x2d01cd={},_0x285fc0={'count':0x0,'rows':[]};var _0x11d14b=_['map'](db[_0x9f3f('0x2c')][_0x9f3f('0x2d')],function(_0x377a0){return{'name':_0x377a0[_0x9f3f('0x2e')],'type':_0x377a0[_0x9f3f('0x2f')][_0x9f3f('0x30')]};});_0x2d01cd[_0x9f3f('0x31')]=_[_0x9f3f('0x32')](_0x11d14b,_0x9f3f('0x33'));_0x2d01cd['query']=_[_0x9f3f('0x34')](_0x4c496e[_0x9f3f('0x35')]);_0x2d01cd[_0x9f3f('0x36')]=_[_0x9f3f('0x37')](_0x2d01cd[_0x9f3f('0x31')],_0x2d01cd[_0x9f3f('0x35')]);_0xf848ef[_0x9f3f('0x38')]=_[_0x9f3f('0x37')](_0x2d01cd[_0x9f3f('0x31')],qs['fields'](_0x4c496e['query'][_0x9f3f('0x39')]));_0xf848ef[_0x9f3f('0x38')]=_0xf848ef[_0x9f3f('0x38')][_0x9f3f('0x3a')]?_0xf848ef[_0x9f3f('0x38')]:_0x2d01cd[_0x9f3f('0x31')];if(!_0x4c496e[_0x9f3f('0x35')][_0x9f3f('0x3b')](_0x9f3f('0x3c'))){_0xf848ef[_0x9f3f('0x21')]=qs['limit'](_0x4c496e[_0x9f3f('0x35')][_0x9f3f('0x21')]);_0xf848ef['offset']=qs['offset'](_0x4c496e[_0x9f3f('0x35')][_0x9f3f('0x20')]);}_0xf848ef[_0x9f3f('0x3d')]=qs[_0x9f3f('0x3e')](_0x4c496e[_0x9f3f('0x35')][_0x9f3f('0x3e')]);_0xf848ef['where']=qs[_0x9f3f('0x36')](_[_0x9f3f('0x3f')](_0x4c496e[_0x9f3f('0x35')],_0x2d01cd[_0x9f3f('0x36')]),_0x11d14b);if(_0x4c496e[_0x9f3f('0x35')][_0x9f3f('0x40')]){_0xf848ef[_0x9f3f('0x41')]=_[_0x9f3f('0x42')](_0xf848ef['where'],{'$or':_['map'](_0x11d14b,function(_0x4d2686){if(_0x4d2686[_0x9f3f('0x2f')]!==_0x9f3f('0x43')){var _0x372786={};_0x372786[_0x4d2686[_0x9f3f('0x33')]]={'$like':'%'+_0x4c496e[_0x9f3f('0x35')]['filter']+'%'};return _0x372786;}})});}_0xf848ef=_[_0x9f3f('0x42')]({},_0xf848ef,_0x4c496e[_0x9f3f('0x44')]);var _0x35bb57={'where':_0xf848ef['where']};return db['MailQueue'][_0x9f3f('0x1f')](_0x35bb57)[_0x9f3f('0x25')](function(_0x358c3b){_0x285fc0[_0x9f3f('0x1f')]=_0x358c3b;if(_0x4c496e[_0x9f3f('0x35')][_0x9f3f('0x45')]){_0xf848ef[_0x9f3f('0x46')]=[{'all':!![]}];}return db['MailQueue'][_0x9f3f('0x47')](_0xf848ef);})['then'](function(_0x3dd9e7){_0x285fc0[_0x9f3f('0x48')]=_0x3dd9e7;return _0x285fc0;})[_0x9f3f('0x25')](respondWithFilteredResult(_0x3a5be4,_0xf848ef))[_0x9f3f('0x49')](handleError(_0x3a5be4,null));};exports[_0x9f3f('0x4a')]=function(_0x282e29,_0x1812fe){var _0x2ab148={'raw':!![],'where':{'id':_0x282e29[_0x9f3f('0x4b')]['id']}},_0x328c86={};_0x328c86['model']=_[_0x9f3f('0x34')](db['MailQueue']['rawAttributes']);_0x328c86[_0x9f3f('0x35')]=_[_0x9f3f('0x34')](_0x282e29[_0x9f3f('0x35')]);_0x328c86[_0x9f3f('0x36')]=_[_0x9f3f('0x37')](_0x328c86[_0x9f3f('0x31')],_0x328c86[_0x9f3f('0x35')]);_0x2ab148[_0x9f3f('0x38')]=_[_0x9f3f('0x37')](_0x328c86['model'],qs[_0x9f3f('0x39')](_0x282e29[_0x9f3f('0x35')][_0x9f3f('0x39')]));_0x2ab148[_0x9f3f('0x38')]=_0x2ab148['attributes'][_0x9f3f('0x3a')]?_0x2ab148['attributes']:_0x328c86[_0x9f3f('0x31')];if(_0x282e29[_0x9f3f('0x35')]['includeAll']){_0x2ab148[_0x9f3f('0x46')]=[{'all':!![]}];}_0x2ab148=_['merge']({},_0x2ab148,_0x282e29['options']);return db[_0x9f3f('0x2c')][_0x9f3f('0x4c')](_0x2ab148)['then'](handleEntityNotFound(_0x1812fe,null))[_0x9f3f('0x25')](respondWithResult(_0x1812fe,null))[_0x9f3f('0x49')](handleError(_0x1812fe,null));};exports[_0x9f3f('0x4d')]=function(_0x3d8180,_0x2772a4){return db[_0x9f3f('0x2c')]['create'](_0x3d8180[_0x9f3f('0x4e')],{})[_0x9f3f('0x25')](function(_0x7b7228){var _0x1d4960=_0x3d8180[_0x9f3f('0x4f')]['get']({'plain':!![]});if(!_0x1d4960)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1d4960[_0x9f3f('0x50')]===_0x9f3f('0x4f')){var _0x2ffaca=_0x7b7228['get']({'plain':!![]});var _0xaf027f=_0x9f3f('0x27');return db[_0x9f3f('0x51')][_0x9f3f('0x4c')]({'where':{'name':_0xaf027f,'userProfileId':_0x1d4960[_0x9f3f('0x52')]},'raw':!![]})[_0x9f3f('0x25')](function(_0x10670e){if(_0x10670e&&_0x10670e[_0x9f3f('0x53')]===0x0){return db[_0x9f3f('0x54')][_0x9f3f('0x4d')]({'name':_0x2ffaca[_0x9f3f('0x33')],'resourceId':_0x2ffaca['id'],'type':_0x10670e['name'],'sectionId':_0x10670e['id']},{})['then'](function(){return _0x7b7228;});}else{return _0x7b7228;}})[_0x9f3f('0x49')](function(_0x2337b6){logger[_0x9f3f('0x29')](_0x9f3f('0x55'),_0x2337b6);throw _0x2337b6;});}return _0x7b7228;})[_0x9f3f('0x25')](respondWithResult(_0x2772a4,0xc9))[_0x9f3f('0x49')](handleError(_0x2772a4,null));};exports['update']=function(_0x40118b,_0xda100b){if(_0x40118b[_0x9f3f('0x4e')]['id']){delete _0x40118b[_0x9f3f('0x4e')]['id'];}return db[_0x9f3f('0x2c')][_0x9f3f('0x4c')]({'where':{'id':_0x40118b[_0x9f3f('0x4b')]['id']}})['then'](handleEntityNotFound(_0xda100b,null))[_0x9f3f('0x25')](saveUpdates(_0x40118b['body'],null))['then'](respondWithResult(_0xda100b,null))[_0x9f3f('0x49')](handleError(_0xda100b,null));};exports['destroy']=function(_0x417292,_0x32acd8){return db[_0x9f3f('0x2c')][_0x9f3f('0x4c')]({'where':{'id':_0x417292['params']['id']}})[_0x9f3f('0x25')](handleEntityNotFound(_0x32acd8,null))[_0x9f3f('0x25')](removeEntity(_0x32acd8,null))[_0x9f3f('0x49')](handleError(_0x32acd8,null));};exports['describe']=function(_0x16c10b,_0x9170a3){return db['MailQueue']['describe']()['then'](respondWithResult(_0x9170a3,null))[_0x9f3f('0x49')](handleError(_0x9170a3,null));};exports[_0x9f3f('0x56')]=function(_0x155e64,_0x49d09c,_0x5706ab){var _0x3c4177={'raw':!![],'where':{}},_0x5d8c94={},_0x272433;return db[_0x9f3f('0x2c')]['findOne']({'where':{'id':_0x155e64[_0x9f3f('0x4b')]['id']}})['then'](handleEntityNotFound(_0x49d09c,null))[_0x9f3f('0x25')](function(_0xab129c){if(_0xab129c){_0x272433=_0xab129c['get']({'plain':!![]});_0x5d8c94['model']=_[_0x9f3f('0x34')](db[_0x9f3f('0x57')][_0x9f3f('0x2d')]);_0x5d8c94[_0x9f3f('0x35')]=_[_0x9f3f('0x34')](_0x155e64['query']);_0x5d8c94[_0x9f3f('0x36')]=_[_0x9f3f('0x37')](_0x5d8c94[_0x9f3f('0x31')],_0x5d8c94[_0x9f3f('0x35')]);_0x3c4177[_0x9f3f('0x38')]=_['intersection'](_0x5d8c94[_0x9f3f('0x31')],qs[_0x9f3f('0x39')](_0x155e64[_0x9f3f('0x35')][_0x9f3f('0x39')]));_0x3c4177[_0x9f3f('0x38')]=_0x3c4177[_0x9f3f('0x38')][_0x9f3f('0x3a')]?_0x3c4177['attributes']:_0x5d8c94[_0x9f3f('0x31')];if(!_0x155e64[_0x9f3f('0x35')][_0x9f3f('0x3b')]('nolimit')){_0x3c4177[_0x9f3f('0x21')]=qs[_0x9f3f('0x21')](_0x155e64[_0x9f3f('0x35')][_0x9f3f('0x21')]);_0x3c4177[_0x9f3f('0x20')]=qs[_0x9f3f('0x20')](_0x155e64['query'][_0x9f3f('0x20')]);}_0x3c4177[_0x9f3f('0x3d')]=qs[_0x9f3f('0x3e')](_0x155e64[_0x9f3f('0x35')]['sort']);_0x3c4177[_0x9f3f('0x41')]=qs[_0x9f3f('0x36')](_['pick'](_0x155e64[_0x9f3f('0x35')],_0x5d8c94[_0x9f3f('0x36')]));_0x3c4177[_0x9f3f('0x41')]['MailQueueId']=_0xab129c['id'];if(_0x155e64[_0x9f3f('0x35')]['filter']){_0x3c4177['where']=_[_0x9f3f('0x42')](_0x3c4177[_0x9f3f('0x41')],{'$or':_[_0x9f3f('0x32')](_0x3c4177['attributes'],function(_0xa61060){var _0x2f7dc5={};_0x2f7dc5[_0xa61060]={'$like':'%'+_0x155e64[_0x9f3f('0x35')]['filter']+'%'};return _0x2f7dc5;})});}_0x3c4177=_[_0x9f3f('0x42')]({},_0x3c4177,_0x155e64[_0x9f3f('0x44')]);return db[_0x9f3f('0x57')][_0x9f3f('0x47')](_0x3c4177);}})['then'](function(_0x237b6c){if(_0x237b6c){return db[_0x9f3f('0x58')]['findAndCountAll']({'where':{'id':_[_0x9f3f('0x32')](_0x237b6c,'UserId'),'role':_0x9f3f('0x59')},'attributes':['id',_0x9f3f('0x33'),_0x9f3f('0x5a'),_0x9f3f('0x5b'),'createdAt']});}})[_0x9f3f('0x25')](function(_0x5b5e85){if(_0x5b5e85){return{'count':_0x5b5e85[_0x9f3f('0x1f')],'rows':_[_0x9f3f('0x32')](_0x5b5e85['rows'],function(_0x131790){return{'membername':_0x131790[_0x9f3f('0x33')],'UserId':_0x131790['id'],'queue_name':_0x272433[_0x9f3f('0x33')],'MailQueueId':_0x272433['id'],'interface':util[_0x9f3f('0x5c')](_0x9f3f('0x5d'),_0x9f3f('0x5e'),_0x131790[_0x9f3f('0x33')]),'penalty':0x0,'paused':_0x131790[_0x9f3f('0x5a')],'createdAt':_0x131790[_0x9f3f('0x5f')],'updatedAt':_0x131790[_0x9f3f('0x5b')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x9f3f('0x25')](respondWithFilteredResult(_0x49d09c,_0x3c4177))[_0x9f3f('0x49')](handleError(_0x49d09c,null));};exports[_0x9f3f('0x60')]=function(_0x38f77b,_0x50e7f2,_0x1a749f){var _0x2f430c={};var _0x5afd34={};var _0x5547ab;var _0x2028a2;return db[_0x9f3f('0x2c')]['findOne']({'where':{'id':_0x38f77b[_0x9f3f('0x4b')]['id']}})[_0x9f3f('0x25')](handleEntityNotFound(_0x50e7f2,null))['then'](function(_0x496fd8){if(_0x496fd8){_0x5547ab=_0x496fd8;_0x5afd34[_0x9f3f('0x31')]=_['keys'](db['Team']['rawAttributes']);_0x5afd34[_0x9f3f('0x35')]=_[_0x9f3f('0x34')](_0x38f77b[_0x9f3f('0x35')]);_0x5afd34[_0x9f3f('0x36')]=_[_0x9f3f('0x37')](_0x5afd34[_0x9f3f('0x31')],_0x5afd34['query']);_0x2f430c['attributes']=_[_0x9f3f('0x37')](_0x5afd34[_0x9f3f('0x31')],qs[_0x9f3f('0x39')](_0x38f77b[_0x9f3f('0x35')][_0x9f3f('0x39')]));_0x2f430c[_0x9f3f('0x38')]=_0x2f430c[_0x9f3f('0x38')][_0x9f3f('0x3a')]?_0x2f430c[_0x9f3f('0x38')]:_0x5afd34[_0x9f3f('0x31')];_0x2f430c[_0x9f3f('0x3d')]=qs[_0x9f3f('0x3e')](_0x38f77b['query']['sort']);_0x2f430c[_0x9f3f('0x41')]=qs[_0x9f3f('0x36')](_[_0x9f3f('0x3f')](_0x38f77b[_0x9f3f('0x35')],_0x5afd34[_0x9f3f('0x36')]));if(_0x38f77b[_0x9f3f('0x35')]['filter']){_0x2f430c[_0x9f3f('0x41')]=_[_0x9f3f('0x42')](_0x2f430c['where'],{'$or':_[_0x9f3f('0x32')](_0x2f430c[_0x9f3f('0x38')],function(_0x4627e8){var _0x2ba2ac={};_0x2ba2ac[_0x4627e8]={'$like':'%'+_0x38f77b[_0x9f3f('0x35')][_0x9f3f('0x40')]+'%'};return _0x2ba2ac;})});}_0x2f430c=_[_0x9f3f('0x42')]({},_0x2f430c,_0x38f77b[_0x9f3f('0x44')]);return _0x5547ab[_0x9f3f('0x60')](_0x2f430c);}})['then'](function(_0x176771){if(_0x176771){_0x2028a2=_0x176771[_0x9f3f('0x3a')];if(!_0x38f77b[_0x9f3f('0x35')][_0x9f3f('0x3b')]('nolimit')){_0x2f430c['limit']=qs[_0x9f3f('0x21')](_0x38f77b[_0x9f3f('0x35')][_0x9f3f('0x21')]);_0x2f430c[_0x9f3f('0x20')]=qs['offset'](_0x38f77b[_0x9f3f('0x35')][_0x9f3f('0x20')]);}return _0x5547ab[_0x9f3f('0x60')](_0x2f430c);}})['then'](function(_0x34ec8f){if(_0x34ec8f){return _0x34ec8f?{'count':_0x2028a2,'rows':_0x34ec8f}:null;}})['then'](respondWithResult(_0x50e7f2,null))[_0x9f3f('0x49')](handleError(_0x50e7f2,null));};exports[_0x9f3f('0x61')]=function(_0x36e326,_0x1093ab,_0x53e407){var _0x33e2d4=_0x36e326[_0x9f3f('0x4e')][_0x9f3f('0x62')];return db[_0x9f3f('0x63')][_0x9f3f('0x47')]({'where':{'id':_0x33e2d4},'attributes':['id'],'include':[{'model':db[_0x9f3f('0x58')],'as':'Agents','attributes':['id','name','online','voicePause',_0x9f3f('0x64')],'raw':!![]}]})[_0x9f3f('0x25')](function(_0x405194){if(_0x405194){var _0x422892=_[_0x9f3f('0x65')](_0x405194,function(_0x3303b1){var _0x34169d=_0x3303b1['get']({'plain':!![]});return _0x34169d[_0x9f3f('0x66')];});return db[_0x9f3f('0x2c')][_0x9f3f('0x4c')]({'where':{'id':_0x36e326[_0x9f3f('0x4b')]['id']}})[_0x9f3f('0x25')](function(_0x180f4e){return db['sequelize'][_0x9f3f('0x67')](function(_0x59e3af){return _0x180f4e[_0x9f3f('0x61')](_0x33e2d4,{'transaction':_0x59e3af})[_0x9f3f('0x25')](function(){return BPromise['each'](_0x422892,function(_0xa18606){return db[_0x9f3f('0x57')][_0x9f3f('0x68')]({'where':{'UserId':_0xa18606['id'],'MailQueueId':_0x36e326[_0x9f3f('0x4b')]['id']},'transaction':_0x59e3af});});})[_0x9f3f('0x25')](function(){_0x422892[_0x9f3f('0x69')](function(_0x45fa21){socket['emit'](_0x9f3f('0x6a'),{'UserId':_0x45fa21['id'],'MailQueueId':_0x180f4e['id']});});});});});}})[_0x9f3f('0x25')](respondWithStatusCode(_0x1093ab,null))[_0x9f3f('0x49')](handleError(_0x1093ab,null));};exports[_0x9f3f('0x6b')]=function(_0x1112af,_0x358521,_0x193cc5){return db[_0x9f3f('0x63')]['findAll']({'where':{'id':_0x1112af['query'][_0x9f3f('0x62')]},'attributes':['id'],'include':[{'model':db[_0x9f3f('0x58')],'as':_0x9f3f('0x66'),'attributes':['id'],'raw':!![]}]})[_0x9f3f('0x25')](handleEntityNotFound(_0x358521,null))[_0x9f3f('0x25')](function(_0x255d8f){var _0x3c68e6=_[_0x9f3f('0x32')](_0x255d8f,'id');var _0x182d12=[];var _0x493132=[];var _0x2ccd84=squel[_0x9f3f('0x6c')]();_0x2ccd84['field'](_0x9f3f('0x6d'))[_0x9f3f('0x6e')](_0x9f3f('0x6f'),'tq')[_0x9f3f('0x70')](_0x9f3f('0x71'),'ut',_0x9f3f('0x72'))[_0x9f3f('0x41')](_0x9f3f('0x73'),_0x1112af['params']['id']);for(var _0xa0682c=0x0;_0xa0682c<_0x255d8f[_0x9f3f('0x3a')];_0xa0682c+=0x1){let _0x441d9b=_0x255d8f[_0xa0682c];for(var _0xc58fea=0x0;_0xc58fea<_0x441d9b[_0x9f3f('0x66')][_0x9f3f('0x3a')];_0xc58fea+=0x1){let _0x3c6f39=_0x441d9b[_0x9f3f('0x66')][_0xc58fea];var _0x43fc8=_0x2ccd84[_0x9f3f('0x74')]();_0x43fc8[_0x9f3f('0x41')](_0x9f3f('0x75'),_0x3c6f39['id']);_0x493132[_0x9f3f('0x76')](db[_0x9f3f('0x77')][_0x9f3f('0x35')](_0x43fc8[_0x9f3f('0x78')](),{'type':db[_0x9f3f('0x77')][_0x9f3f('0x79')]['SELECT']})[_0x9f3f('0x25')](function(_0x339fc7){if(_0x339fc7[_0x9f3f('0x3a')]===0x1){return _0x3c6f39['id'];}else{var _0x8e2016=_[_0x9f3f('0x7a')](_['map'](_0x339fc7,'TeamId'),function(_0x3db3e3){return _[_0x9f3f('0x7b')](_0x3c68e6,_0x3db3e3);});if(_0x8e2016){return _0x3c6f39['id'];}}}));}}return BPromise[_0x9f3f('0x7c')](_0x493132)[_0x9f3f('0x25')](function(_0x468f84){_0x182d12=_(_0x182d12)[_0x9f3f('0x7d')](_0x468f84)[_0x9f3f('0x7e')]()[_0x9f3f('0x7f')]();return db['MailQueue'][_0x9f3f('0x4c')]({'where':{'id':_0x1112af[_0x9f3f('0x4b')]['id']}})[_0x9f3f('0x25')](function(_0x4aba90){return db[_0x9f3f('0x77')][_0x9f3f('0x67')](function(_0xf4252a){return _0x4aba90[_0x9f3f('0x6b')](_0x1112af['query'][_0x9f3f('0x62')],{'transaction':_0xf4252a})[_0x9f3f('0x25')](function(){if(!_[_0x9f3f('0x80')](_0x182d12)){return _0x4aba90[_0x9f3f('0x81')](_0x182d12,{'transaction':_0xf4252a});}})[_0x9f3f('0x25')](function(){_0x182d12['forEach'](function(_0x311578){socket[_0x9f3f('0x82')](_0x9f3f('0x83'),{'UserId':_0x311578,'MailQueueId':_0x4aba90['id']});});});});});});})[_0x9f3f('0x25')](respondWithStatusCode(_0x358521,null))[_0x9f3f('0x49')](handleError(_0x358521,null));};exports[_0x9f3f('0x84')]=function(_0x1e9d4a,_0x14f4a0,_0x6b4704){return db[_0x9f3f('0x2c')][_0x9f3f('0x4c')]({'where':{'id':_0x1e9d4a[_0x9f3f('0x4b')]['id']}})['then'](handleEntityNotFound(_0x14f4a0,null))[_0x9f3f('0x25')](function(_0x340779){if(_0x340779){return _0x340779[_0x9f3f('0x84')](_0x1e9d4a[_0x9f3f('0x4e')][_0x9f3f('0x62')],_['omit'](_0x1e9d4a[_0x9f3f('0x4e')],[_0x9f3f('0x62'),'id'])||{})[_0x9f3f('0x85')](function(_0x5acfb4){for(var _0x55c524=0x0;_0x55c524<_0x1e9d4a[_0x9f3f('0x4e')][_0x9f3f('0x62')][_0x9f3f('0x3a')];_0x55c524+=0x1){socket['emit']('userMailQueue:save',{'UserId':_0x1e9d4a['body'][_0x9f3f('0x62')][_0x55c524],'MailQueueId':_0x1e9d4a['params']['id']});}return _0x5acfb4;});}})['then'](respondWithResult(_0x14f4a0,null))[_0x9f3f('0x49')](handleError(_0x14f4a0,null));};exports[_0x9f3f('0x81')]=function(_0x29008d,_0x201e40,_0x22f678){return db[_0x9f3f('0x2c')][_0x9f3f('0x4c')]({'where':{'id':_0x29008d[_0x9f3f('0x4b')]['id']}})[_0x9f3f('0x25')](handleEntityNotFound(_0x201e40,null))['then'](function(_0x49c84b){if(_0x49c84b){return _0x49c84b[_0x9f3f('0x81')](_0x29008d[_0x9f3f('0x35')][_0x9f3f('0x62')])['then'](function(){if(_['isArray'](_0x29008d[_0x9f3f('0x35')][_0x9f3f('0x62')])){for(var _0x1f6d5c=0x0;_0x1f6d5c<_0x29008d['query'][_0x9f3f('0x62')][_0x9f3f('0x3a')];_0x1f6d5c+=0x1){socket[_0x9f3f('0x82')](_0x9f3f('0x83'),{'UserId':Number(_0x29008d['query'][_0x9f3f('0x62')][_0x1f6d5c]),'MailQueueId':Number(_0x29008d[_0x9f3f('0x4b')]['id'])});}}else{socket['emit'](_0x9f3f('0x83'),{'UserId':Number(_0x29008d['query'][_0x9f3f('0x62')]),'MailQueueId':Number(_0x29008d[_0x9f3f('0x4b')]['id'])});}});}})[_0x9f3f('0x25')](respondWithStatusCode(_0x201e40,null))[_0x9f3f('0x49')](handleError(_0x201e40,null));};exports['getAgents']=function(_0x4d4dd1,_0x5cdb8c,_0x439f2f){var _0x476a1a={};var _0x37c65e={};var _0x1fa77b;var _0x41b13c;return db[_0x9f3f('0x2c')]['findOne']({'where':{'id':_0x4d4dd1['params']['id']}})['then'](handleEntityNotFound(_0x5cdb8c,null))[_0x9f3f('0x25')](function(_0x3ac141){if(_0x3ac141){_0x1fa77b=_0x3ac141;_0x37c65e['model']=_['keys'](db[_0x9f3f('0x58')][_0x9f3f('0x2d')]);_0x37c65e['query']=_[_0x9f3f('0x34')](_0x4d4dd1[_0x9f3f('0x35')]);_0x37c65e[_0x9f3f('0x36')]=_['intersection'](_0x37c65e['model'],_0x37c65e[_0x9f3f('0x35')]);_0x476a1a['attributes']=_[_0x9f3f('0x37')](_0x37c65e[_0x9f3f('0x31')],qs['fields'](_0x4d4dd1[_0x9f3f('0x35')][_0x9f3f('0x39')]));_0x476a1a[_0x9f3f('0x38')]=_0x476a1a[_0x9f3f('0x38')]['length']?_0x476a1a['attributes']:_0x37c65e[_0x9f3f('0x31')];_0x476a1a[_0x9f3f('0x3d')]=qs['sort'](_0x4d4dd1[_0x9f3f('0x35')][_0x9f3f('0x3e')]);_0x476a1a[_0x9f3f('0x41')]=qs[_0x9f3f('0x36')](_[_0x9f3f('0x3f')](_0x4d4dd1[_0x9f3f('0x35')],_0x37c65e['filters']));if(_0x4d4dd1[_0x9f3f('0x35')][_0x9f3f('0x40')]){_0x476a1a['where']=_[_0x9f3f('0x42')](_0x476a1a[_0x9f3f('0x41')],{'$or':_[_0x9f3f('0x32')](_0x476a1a[_0x9f3f('0x38')],function(_0x10a902){var _0x6c9a2={};_0x6c9a2[_0x10a902]={'$like':'%'+_0x4d4dd1[_0x9f3f('0x35')][_0x9f3f('0x40')]+'%'};return _0x6c9a2;})});}_0x476a1a=_[_0x9f3f('0x42')]({},_0x476a1a,_0x4d4dd1['options']);return _0x1fa77b[_0x9f3f('0x86')](_0x476a1a);}})[_0x9f3f('0x25')](function(_0x963114){if(_0x963114){_0x41b13c=_0x963114['length'];if(!_0x4d4dd1[_0x9f3f('0x35')][_0x9f3f('0x3b')](_0x9f3f('0x3c'))){_0x476a1a['limit']=qs[_0x9f3f('0x21')](_0x4d4dd1['query']['limit']);_0x476a1a[_0x9f3f('0x20')]=qs[_0x9f3f('0x20')](_0x4d4dd1[_0x9f3f('0x35')]['offset']);}return _0x1fa77b[_0x9f3f('0x86')](_0x476a1a);}})[_0x9f3f('0x25')](function(_0x1eb96c){if(_0x1eb96c){return _0x1eb96c?{'count':_0x41b13c,'rows':_0x1eb96c}:null;}})[_0x9f3f('0x25')](respondWithResult(_0x5cdb8c,null))[_0x9f3f('0x49')](handleError(_0x5cdb8c,null));};