e42814aea83a7d46b03eca8be145cb203e18ef7a
[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 _0x72fa=['redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','status','end','json','count','offset','limit','Content-Range','reject','save','update','then','destroy','get','MailQueues','UserProfileResource','sendStatus','error','stack','name','send','index','MailQueue','type','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','filter','options','include','show','params','rawAttributes','includeAll','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','UserMailQueue','nolimit','MailQueueId','findAll','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','rows','format','SIP','findOne','getTeams','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','forEach','emit','Team','User','select','tq.TeamId','from','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','TeamId','includes','all','union','compact','value','removeTeams','isEmpty','removeAgents','addAgents','omit','spread','isArray','userMailQueue:remove','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb'];(function(_0x84a6f8,_0x43604a){var _0x3a8b2f=function(_0x30e20c){while(--_0x30e20c){_0x84a6f8['push'](_0x84a6f8['shift']());}};_0x3a8b2f(++_0x43604a);}(_0x72fa,0x78));var _0xa72f=function(_0x4bd06e,_0x593701){_0x4bd06e=_0x4bd06e-0x0;var _0x85ebb=_0x72fa[_0x4bd06e];return _0x85ebb;};'use strict';var pdf=require(_0xa72f('0x0'));var emlformat=require(_0xa72f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xa72f('0x2'));var jsonpatch=require(_0xa72f('0x3'));var rp=require(_0xa72f('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa72f('0x5'));var util=require(_0xa72f('0x6'));var path=require(_0xa72f('0x7'));var sox=require(_0xa72f('0x8'));var csv=require(_0xa72f('0x9'));var ejs=require(_0xa72f('0xa'));var fs=require('fs');var _=require(_0xa72f('0xb'));var squel=require(_0xa72f('0xc'));var crypto=require(_0xa72f('0xd'));var jsforce=require(_0xa72f('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xa72f('0x9'));var querystring=require(_0xa72f('0xf'));var Papa=require(_0xa72f('0x10'));var Redis=require('ioredis');var authService=require(_0xa72f('0x11'));var qs=require(_0xa72f('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa72f('0x13'));var logger=require(_0xa72f('0x14'))(_0xa72f('0x15'));var utils=require(_0xa72f('0x16'));var config=require(_0xa72f('0x17'));var licenseUtil=require(_0xa72f('0x18'));var db=require(_0xa72f('0x19'))['db'];config[_0xa72f('0x1a')]=_[_0xa72f('0x1b')](config[_0xa72f('0x1a')],{'host':_0xa72f('0x1c'),'port':0x18eb});var socket=require(_0xa72f('0x1d'))(new Redis(config['redis']));require(_0xa72f('0x1e'))[_0xa72f('0x1f')](socket);function respondWithStatusCode(_0x39ff7a,_0x50dc77){_0x50dc77=_0x50dc77||0xcc;return function(_0x28ce28){if(_0x28ce28){return _0x39ff7a['sendStatus'](_0x50dc77);}return _0x39ff7a[_0xa72f('0x20')](_0x50dc77)[_0xa72f('0x21')]();};}function respondWithResult(_0x5c150c,_0x3a50cc){_0x3a50cc=_0x3a50cc||0xc8;return function(_0x23b1ec){if(_0x23b1ec){return _0x5c150c[_0xa72f('0x20')](_0x3a50cc)[_0xa72f('0x22')](_0x23b1ec);}};}function respondWithFilteredResult(_0x505fe9,_0x2e8d21){return function(_0x79d7a){if(_0x79d7a){var _0x425e89=_0x79d7a[_0xa72f('0x23')],_0x303faa=_0x2e8d21[_0xa72f('0x24')],_0x59b62a=_0x2e8d21[_0xa72f('0x24')]+_0x2e8d21[_0xa72f('0x25')],_0x1a54dd;if(_0x59b62a>=_0x425e89){_0x59b62a=_0x425e89;_0x1a54dd=0xc8;}else{_0x1a54dd=0xce;}_0x505fe9[_0xa72f('0x20')](_0x1a54dd);return _0x505fe9['set'](_0xa72f('0x26'),_0x303faa+'-'+_0x59b62a+'/'+_0x425e89)['json'](_0x79d7a);}return null;};}function patchUpdates(_0x27df85){return function(_0x29d49d){try{jsonpatch['apply'](_0x29d49d,_0x27df85,!![]);}catch(_0xc72a8d){return BPromise[_0xa72f('0x27')](_0xc72a8d);}return _0x29d49d[_0xa72f('0x28')]();};}function saveUpdates(_0x284f22,_0x40d031){return function(_0x19f8f4){if(_0x19f8f4){return _0x19f8f4[_0xa72f('0x29')](_0x284f22)[_0xa72f('0x2a')](function(_0x1e3af9){return _0x1e3af9;});}return null;};}function removeEntity(_0x13c717,_0x5bad19){return function(_0x35aecd){if(_0x35aecd){return _0x35aecd[_0xa72f('0x2b')]()[_0xa72f('0x2a')](function(){var _0x40cc13=_0x35aecd[_0xa72f('0x2c')]({'plain':!![]});var _0x5a3685=_0xa72f('0x2d');return db[_0xa72f('0x2e')][_0xa72f('0x2b')]({'where':{'type':_0x5a3685,'resourceId':_0x40cc13['id']}})[_0xa72f('0x2a')](function(){return _0x35aecd;});})['then'](function(){_0x13c717['status'](0xcc)[_0xa72f('0x21')]();});}};}function handleEntityNotFound(_0x51e4e4,_0x21f4d9){return function(_0x25a618){if(!_0x25a618){_0x51e4e4[_0xa72f('0x2f')](0x194);}return _0x25a618;};}function handleError(_0x224d1a,_0xc99fec){_0xc99fec=_0xc99fec||0x1f4;return function(_0x5c7b09){logger[_0xa72f('0x30')](_0x5c7b09[_0xa72f('0x31')]);if(_0x5c7b09[_0xa72f('0x32')]){delete _0x5c7b09[_0xa72f('0x32')];}_0x224d1a['status'](_0xc99fec)[_0xa72f('0x33')](_0x5c7b09);};}exports[_0xa72f('0x34')]=function(_0x4c1eff,_0x2cd213){var _0x2216ce={},_0x3206ab={},_0x4e677f={'count':0x0,'rows':[]};var _0x20a577=_['map'](db[_0xa72f('0x35')]['rawAttributes'],function(_0x142dfd){return{'name':_0x142dfd['fieldName'],'type':_0x142dfd[_0xa72f('0x36')][_0xa72f('0x37')]};});_0x3206ab[_0xa72f('0x38')]=_[_0xa72f('0x39')](_0x20a577,_0xa72f('0x32'));_0x3206ab['query']=_[_0xa72f('0x3a')](_0x4c1eff[_0xa72f('0x3b')]);_0x3206ab[_0xa72f('0x3c')]=_[_0xa72f('0x3d')](_0x3206ab[_0xa72f('0x38')],_0x3206ab[_0xa72f('0x3b')]);_0x2216ce[_0xa72f('0x3e')]=_[_0xa72f('0x3d')](_0x3206ab[_0xa72f('0x38')],qs[_0xa72f('0x3f')](_0x4c1eff[_0xa72f('0x3b')]['fields']));_0x2216ce['attributes']=_0x2216ce[_0xa72f('0x3e')][_0xa72f('0x40')]?_0x2216ce[_0xa72f('0x3e')]:_0x3206ab[_0xa72f('0x38')];if(!_0x4c1eff[_0xa72f('0x3b')][_0xa72f('0x41')]('nolimit')){_0x2216ce[_0xa72f('0x25')]=qs[_0xa72f('0x25')](_0x4c1eff['query'][_0xa72f('0x25')]);_0x2216ce['offset']=qs[_0xa72f('0x24')](_0x4c1eff[_0xa72f('0x3b')][_0xa72f('0x24')]);}_0x2216ce[_0xa72f('0x42')]=qs[_0xa72f('0x43')](_0x4c1eff[_0xa72f('0x3b')]['sort']);_0x2216ce[_0xa72f('0x44')]=qs[_0xa72f('0x3c')](_[_0xa72f('0x45')](_0x4c1eff[_0xa72f('0x3b')],_0x3206ab[_0xa72f('0x3c')]),_0x20a577);if(_0x4c1eff[_0xa72f('0x3b')]['filter']){_0x2216ce['where']=_[_0xa72f('0x46')](_0x2216ce[_0xa72f('0x44')],{'$or':_['map'](_0x20a577,function(_0x390b02){if(_0x390b02['type']!==_0xa72f('0x47')){var _0x33c7af={};_0x33c7af[_0x390b02[_0xa72f('0x32')]]={'$like':'%'+_0x4c1eff[_0xa72f('0x3b')][_0xa72f('0x48')]+'%'};return _0x33c7af;}})});}_0x2216ce=_[_0xa72f('0x46')]({},_0x2216ce,_0x4c1eff[_0xa72f('0x49')]);var _0x3c667e={'where':_0x2216ce[_0xa72f('0x44')]};return db[_0xa72f('0x35')][_0xa72f('0x23')](_0x3c667e)[_0xa72f('0x2a')](function(_0x4871cd){_0x4e677f['count']=_0x4871cd;if(_0x4c1eff[_0xa72f('0x3b')]['includeAll']){_0x2216ce[_0xa72f('0x4a')]=[{'all':!![]}];}return db[_0xa72f('0x35')]['findAll'](_0x2216ce);})['then'](function(_0x1e05a4){_0x4e677f['rows']=_0x1e05a4;return _0x4e677f;})[_0xa72f('0x2a')](respondWithFilteredResult(_0x2cd213,_0x2216ce))['catch'](handleError(_0x2cd213,null));};exports[_0xa72f('0x4b')]=function(_0xe31ac4,_0xdb166e){var _0x1061f9={'raw':!![],'where':{'id':_0xe31ac4[_0xa72f('0x4c')]['id']}},_0x477c04={};_0x477c04[_0xa72f('0x38')]=_[_0xa72f('0x3a')](db[_0xa72f('0x35')][_0xa72f('0x4d')]);_0x477c04['query']=_['keys'](_0xe31ac4[_0xa72f('0x3b')]);_0x477c04['filters']=_[_0xa72f('0x3d')](_0x477c04[_0xa72f('0x38')],_0x477c04['query']);_0x1061f9[_0xa72f('0x3e')]=_['intersection'](_0x477c04[_0xa72f('0x38')],qs['fields'](_0xe31ac4[_0xa72f('0x3b')]['fields']));_0x1061f9[_0xa72f('0x3e')]=_0x1061f9[_0xa72f('0x3e')][_0xa72f('0x40')]?_0x1061f9['attributes']:_0x477c04[_0xa72f('0x38')];if(_0xe31ac4[_0xa72f('0x3b')][_0xa72f('0x4e')]){_0x1061f9[_0xa72f('0x4a')]=[{'all':!![]}];}_0x1061f9=_[_0xa72f('0x46')]({},_0x1061f9,_0xe31ac4[_0xa72f('0x49')]);return db[_0xa72f('0x35')][_0xa72f('0x4f')](_0x1061f9)['then'](handleEntityNotFound(_0xdb166e,null))[_0xa72f('0x2a')](respondWithResult(_0xdb166e,null))[_0xa72f('0x50')](handleError(_0xdb166e,null));};exports[_0xa72f('0x51')]=function(_0xa6bdd7,_0x107901){return db[_0xa72f('0x35')]['create'](_0xa6bdd7['body'],{})[_0xa72f('0x2a')](function(_0xfde98b){var _0x5af659=_0xa6bdd7[_0xa72f('0x52')][_0xa72f('0x2c')]({'plain':!![]});if(!_0x5af659)throw new Error(_0xa72f('0x53'));if(_0x5af659[_0xa72f('0x54')]===_0xa72f('0x52')){var _0x16bca6=_0xfde98b[_0xa72f('0x2c')]({'plain':!![]});var _0x5c725c=_0xa72f('0x2d');return db['UserProfileSection'][_0xa72f('0x4f')]({'where':{'name':_0x5c725c,'userProfileId':_0x5af659[_0xa72f('0x55')]},'raw':!![]})[_0xa72f('0x2a')](function(_0xd50d63){if(_0xd50d63&&_0xd50d63['autoAssociation']===0x0){return db[_0xa72f('0x2e')]['create']({'name':_0x16bca6[_0xa72f('0x32')],'resourceId':_0x16bca6['id'],'type':_0xd50d63[_0xa72f('0x32')],'sectionId':_0xd50d63['id']},{})[_0xa72f('0x2a')](function(){return _0xfde98b;});}else{return _0xfde98b;}})[_0xa72f('0x50')](function(_0x8d38fa){logger['error'](_0xa72f('0x56'),_0x8d38fa);throw _0x8d38fa;});}return _0xfde98b;})[_0xa72f('0x2a')](respondWithResult(_0x107901,0xc9))[_0xa72f('0x50')](handleError(_0x107901,null));};exports[_0xa72f('0x29')]=function(_0x1a85df,_0x5ac438){if(_0x1a85df['body']['id']){delete _0x1a85df[_0xa72f('0x57')]['id'];}return db[_0xa72f('0x35')][_0xa72f('0x4f')]({'where':{'id':_0x1a85df[_0xa72f('0x4c')]['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x5ac438,null))[_0xa72f('0x2a')](saveUpdates(_0x1a85df[_0xa72f('0x57')],null))[_0xa72f('0x2a')](respondWithResult(_0x5ac438,null))[_0xa72f('0x50')](handleError(_0x5ac438,null));};exports['destroy']=function(_0x394382,_0x5debdb){return db[_0xa72f('0x35')][_0xa72f('0x4f')]({'where':{'id':_0x394382['params']['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x5debdb,null))[_0xa72f('0x2a')](removeEntity(_0x5debdb,null))[_0xa72f('0x50')](handleError(_0x5debdb,null));};exports[_0xa72f('0x58')]=function(_0x5d2028,_0x3c85e6){return db[_0xa72f('0x35')][_0xa72f('0x58')]()['then'](respondWithResult(_0x3c85e6,null))[_0xa72f('0x50')](handleError(_0x3c85e6,null));};exports[_0xa72f('0x59')]=function(_0x4e0de2,_0x26a35c,_0x2c7a6e){var _0x11f704={'raw':!![],'where':{}},_0x4248dd={},_0xb0ec6a;return db['MailQueue']['findOne']({'where':{'id':_0x4e0de2[_0xa72f('0x4c')]['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x26a35c,null))[_0xa72f('0x2a')](function(_0x5b4b8b){if(_0x5b4b8b){_0xb0ec6a=_0x5b4b8b[_0xa72f('0x2c')]({'plain':!![]});_0x4248dd[_0xa72f('0x38')]=_[_0xa72f('0x3a')](db[_0xa72f('0x5a')][_0xa72f('0x4d')]);_0x4248dd[_0xa72f('0x3b')]=_[_0xa72f('0x3a')](_0x4e0de2[_0xa72f('0x3b')]);_0x4248dd[_0xa72f('0x3c')]=_['intersection'](_0x4248dd[_0xa72f('0x38')],_0x4248dd[_0xa72f('0x3b')]);_0x11f704[_0xa72f('0x3e')]=_[_0xa72f('0x3d')](_0x4248dd[_0xa72f('0x38')],qs[_0xa72f('0x3f')](_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x3f')]));_0x11f704[_0xa72f('0x3e')]=_0x11f704[_0xa72f('0x3e')][_0xa72f('0x40')]?_0x11f704[_0xa72f('0x3e')]:_0x4248dd[_0xa72f('0x38')];if(!_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x41')](_0xa72f('0x5b'))){_0x11f704[_0xa72f('0x25')]=qs[_0xa72f('0x25')](_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x25')]);_0x11f704['offset']=qs[_0xa72f('0x24')](_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x24')]);}_0x11f704[_0xa72f('0x42')]=qs['sort'](_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x43')]);_0x11f704[_0xa72f('0x44')]=qs['filters'](_[_0xa72f('0x45')](_0x4e0de2[_0xa72f('0x3b')],_0x4248dd[_0xa72f('0x3c')]));_0x11f704[_0xa72f('0x44')][_0xa72f('0x5c')]=_0x5b4b8b['id'];if(_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x48')]){_0x11f704[_0xa72f('0x44')]=_['merge'](_0x11f704['where'],{'$or':_[_0xa72f('0x39')](_0x11f704[_0xa72f('0x3e')],function(_0x3847d0){var _0x279f44={};_0x279f44[_0x3847d0]={'$like':'%'+_0x4e0de2[_0xa72f('0x3b')][_0xa72f('0x48')]+'%'};return _0x279f44;})});}_0x11f704=_['merge']({},_0x11f704,_0x4e0de2[_0xa72f('0x49')]);return db[_0xa72f('0x5a')][_0xa72f('0x5d')](_0x11f704);}})['then'](function(_0x27b858){if(_0x27b858){return db['User'][_0xa72f('0x5e')]({'where':{'id':_[_0xa72f('0x39')](_0x27b858,_0xa72f('0x5f')),'role':_0xa72f('0x60')},'attributes':['id',_0xa72f('0x32'),_0xa72f('0x61'),_0xa72f('0x62'),_0xa72f('0x63')]});}})['then'](function(_0x13bf4b){if(_0x13bf4b){return{'count':_0x13bf4b['count'],'rows':_[_0xa72f('0x39')](_0x13bf4b[_0xa72f('0x64')],function(_0x535c7d){return{'membername':_0x535c7d[_0xa72f('0x32')],'UserId':_0x535c7d['id'],'queue_name':_0xb0ec6a[_0xa72f('0x32')],'MailQueueId':_0xb0ec6a['id'],'interface':util[_0xa72f('0x65')]('%s/%s',_0xa72f('0x66'),_0x535c7d[_0xa72f('0x32')]),'penalty':0x0,'paused':_0x535c7d[_0xa72f('0x61')],'createdAt':_0x535c7d[_0xa72f('0x63')],'updatedAt':_0x535c7d['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xa72f('0x2a')](respondWithFilteredResult(_0x26a35c,_0x11f704))[_0xa72f('0x50')](handleError(_0x26a35c,null));};exports['getTeams']=function(_0x3aa5bc,_0x40a841,_0x3edab3){var _0x534ca5={};var _0x45e5a7={};var _0x37ffc0;var _0x20004b;return db[_0xa72f('0x35')][_0xa72f('0x67')]({'where':{'id':_0x3aa5bc['params']['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x40a841,null))[_0xa72f('0x2a')](function(_0x545870){if(_0x545870){_0x37ffc0=_0x545870;_0x45e5a7[_0xa72f('0x38')]=_['keys'](db['Team'][_0xa72f('0x4d')]);_0x45e5a7['query']=_[_0xa72f('0x3a')](_0x3aa5bc[_0xa72f('0x3b')]);_0x45e5a7[_0xa72f('0x3c')]=_[_0xa72f('0x3d')](_0x45e5a7['model'],_0x45e5a7[_0xa72f('0x3b')]);_0x534ca5[_0xa72f('0x3e')]=_['intersection'](_0x45e5a7[_0xa72f('0x38')],qs[_0xa72f('0x3f')](_0x3aa5bc[_0xa72f('0x3b')][_0xa72f('0x3f')]));_0x534ca5[_0xa72f('0x3e')]=_0x534ca5[_0xa72f('0x3e')][_0xa72f('0x40')]?_0x534ca5[_0xa72f('0x3e')]:_0x45e5a7[_0xa72f('0x38')];_0x534ca5[_0xa72f('0x42')]=qs[_0xa72f('0x43')](_0x3aa5bc[_0xa72f('0x3b')][_0xa72f('0x43')]);_0x534ca5[_0xa72f('0x44')]=qs[_0xa72f('0x3c')](_[_0xa72f('0x45')](_0x3aa5bc[_0xa72f('0x3b')],_0x45e5a7['filters']));if(_0x3aa5bc[_0xa72f('0x3b')][_0xa72f('0x48')]){_0x534ca5[_0xa72f('0x44')]=_['merge'](_0x534ca5[_0xa72f('0x44')],{'$or':_[_0xa72f('0x39')](_0x534ca5['attributes'],function(_0x664ae3){var _0x2f1268={};_0x2f1268[_0x664ae3]={'$like':'%'+_0x3aa5bc[_0xa72f('0x3b')][_0xa72f('0x48')]+'%'};return _0x2f1268;})});}_0x534ca5=_[_0xa72f('0x46')]({},_0x534ca5,_0x3aa5bc['options']);return _0x37ffc0[_0xa72f('0x68')](_0x534ca5);}})['then'](function(_0xa24f0b){if(_0xa24f0b){_0x20004b=_0xa24f0b[_0xa72f('0x40')];if(!_0x3aa5bc[_0xa72f('0x3b')][_0xa72f('0x41')](_0xa72f('0x5b'))){_0x534ca5[_0xa72f('0x25')]=qs[_0xa72f('0x25')](_0x3aa5bc['query'][_0xa72f('0x25')]);_0x534ca5[_0xa72f('0x24')]=qs['offset'](_0x3aa5bc[_0xa72f('0x3b')][_0xa72f('0x24')]);}return _0x37ffc0['getTeams'](_0x534ca5);}})[_0xa72f('0x2a')](function(_0x132d24){if(_0x132d24){return _0x132d24?{'count':_0x20004b,'rows':_0x132d24}:null;}})[_0xa72f('0x2a')](respondWithResult(_0x40a841,null))[_0xa72f('0x50')](handleError(_0x40a841,null));};exports[_0xa72f('0x69')]=function(_0x1105a1,_0x5314e2,_0x4d988b){var _0x1a0e78=_0x1105a1[_0xa72f('0x57')][_0xa72f('0x6a')];return db['Team'][_0xa72f('0x5d')]({'where':{'id':_0x1a0e78},'attributes':['id'],'include':[{'model':db['User'],'as':_0xa72f('0x6b'),'attributes':['id',_0xa72f('0x32'),_0xa72f('0x6c'),_0xa72f('0x6d'),_0xa72f('0x6e')],'raw':!![]}]})['then'](function(_0x3e1440){if(_0x3e1440){var _0x5d95a4=_[_0xa72f('0x6f')](_0x3e1440,function(_0x5eb9f4){var _0x157e6f=_0x5eb9f4['get']({'plain':!![]});return _0x157e6f['Agents'];});return db[_0xa72f('0x35')][_0xa72f('0x4f')]({'where':{'id':_0x1105a1[_0xa72f('0x4c')]['id']}})['then'](function(_0x48462e){return db[_0xa72f('0x70')][_0xa72f('0x71')](function(_0x29e118){return _0x48462e[_0xa72f('0x69')](_0x1a0e78,{'transaction':_0x29e118})[_0xa72f('0x2a')](function(){return BPromise['each'](_0x5d95a4,function(_0x2ea01e){return db[_0xa72f('0x5a')][_0xa72f('0x72')]({'where':{'UserId':_0x2ea01e['id'],'MailQueueId':_0x1105a1[_0xa72f('0x4c')]['id']},'transaction':_0x29e118});});})[_0xa72f('0x2a')](function(){_0x5d95a4[_0xa72f('0x73')](function(_0x8c509c){socket[_0xa72f('0x74')]('userMailQueue:save',{'UserId':_0x8c509c['id'],'MailQueueId':_0x48462e['id']});});});});});}})['then'](respondWithStatusCode(_0x5314e2,null))[_0xa72f('0x50')](handleError(_0x5314e2,null));};exports['removeTeams']=function(_0x4b4504,_0x349db1,_0x1d8503){return db[_0xa72f('0x75')][_0xa72f('0x5d')]({'where':{'id':_0x4b4504[_0xa72f('0x3b')][_0xa72f('0x6a')]},'attributes':['id'],'include':[{'model':db[_0xa72f('0x76')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xa72f('0x2a')](handleEntityNotFound(_0x349db1,null))['then'](function(_0x1a2143){var _0x2c66e8=_[_0xa72f('0x39')](_0x1a2143,'id');var _0x48b964=[];var _0x3bd84e=[];var _0x38e703=squel[_0xa72f('0x77')]();_0x38e703['field'](_0xa72f('0x78'))[_0xa72f('0x79')](_0xa72f('0x7a'),'tq')[_0xa72f('0x7b')]('user_has_teams','ut',_0xa72f('0x7c'))['where'](_0xa72f('0x7d'),_0x4b4504[_0xa72f('0x4c')]['id']);for(var _0xb0f400=0x0;_0xb0f400<_0x1a2143[_0xa72f('0x40')];_0xb0f400+=0x1){let _0x4fd2ca=_0x1a2143[_0xb0f400];for(var _0x279820=0x0;_0x279820<_0x4fd2ca[_0xa72f('0x6b')][_0xa72f('0x40')];_0x279820+=0x1){let _0xfcab7e=_0x4fd2ca['Agents'][_0x279820];var _0x311bc3=_0x38e703[_0xa72f('0x7e')]();_0x311bc3[_0xa72f('0x44')](_0xa72f('0x7f'),_0xfcab7e['id']);_0x3bd84e['push'](db[_0xa72f('0x70')]['query'](_0x311bc3[_0xa72f('0x80')](),{'type':db[_0xa72f('0x70')][_0xa72f('0x81')][_0xa72f('0x82')]})[_0xa72f('0x2a')](function(_0x2862fd){if(_0x2862fd[_0xa72f('0x40')]===0x1){return _0xfcab7e['id'];}else{var _0x309d9b=_['every'](_[_0xa72f('0x39')](_0x2862fd,_0xa72f('0x83')),function(_0x559818){return _[_0xa72f('0x84')](_0x2c66e8,_0x559818);});if(_0x309d9b){return _0xfcab7e['id'];}}}));}}return BPromise[_0xa72f('0x85')](_0x3bd84e)[_0xa72f('0x2a')](function(_0x5451db){_0x48b964=_(_0x48b964)[_0xa72f('0x86')](_0x5451db)[_0xa72f('0x87')]()[_0xa72f('0x88')]();return db[_0xa72f('0x35')][_0xa72f('0x4f')]({'where':{'id':_0x4b4504[_0xa72f('0x4c')]['id']}})[_0xa72f('0x2a')](function(_0x44723e){return db[_0xa72f('0x70')][_0xa72f('0x71')](function(_0x54e62f){return _0x44723e[_0xa72f('0x89')](_0x4b4504['query']['ids'],{'transaction':_0x54e62f})[_0xa72f('0x2a')](function(){if(!_[_0xa72f('0x8a')](_0x48b964)){return _0x44723e[_0xa72f('0x8b')](_0x48b964,{'transaction':_0x54e62f});}})[_0xa72f('0x2a')](function(){_0x48b964[_0xa72f('0x73')](function(_0x300292){socket[_0xa72f('0x74')]('userMailQueue:remove',{'UserId':_0x300292,'MailQueueId':_0x44723e['id']});});});});});});})[_0xa72f('0x2a')](respondWithStatusCode(_0x349db1,null))[_0xa72f('0x50')](handleError(_0x349db1,null));};exports[_0xa72f('0x8c')]=function(_0x570ec8,_0x9ea513,_0x1ff1cc){return db[_0xa72f('0x35')][_0xa72f('0x4f')]({'where':{'id':_0x570ec8[_0xa72f('0x4c')]['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x9ea513,null))[_0xa72f('0x2a')](function(_0x3e3667){if(_0x3e3667){return _0x3e3667[_0xa72f('0x8c')](_0x570ec8[_0xa72f('0x57')][_0xa72f('0x6a')],_[_0xa72f('0x8d')](_0x570ec8[_0xa72f('0x57')],[_0xa72f('0x6a'),'id'])||{})[_0xa72f('0x8e')](function(_0x44398c){for(var _0x4fa74b=0x0;_0x4fa74b<_0x570ec8[_0xa72f('0x57')][_0xa72f('0x6a')][_0xa72f('0x40')];_0x4fa74b+=0x1){socket[_0xa72f('0x74')]('userMailQueue:save',{'UserId':_0x570ec8[_0xa72f('0x57')][_0xa72f('0x6a')][_0x4fa74b],'MailQueueId':_0x570ec8[_0xa72f('0x4c')]['id']});}return _0x44398c;});}})[_0xa72f('0x2a')](respondWithResult(_0x9ea513,null))[_0xa72f('0x50')](handleError(_0x9ea513,null));};exports[_0xa72f('0x8b')]=function(_0x558a0c,_0x506ded,_0x4fc71d){return db[_0xa72f('0x35')][_0xa72f('0x4f')]({'where':{'id':_0x558a0c['params']['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x506ded,null))['then'](function(_0x1fbb90){if(_0x1fbb90){return _0x1fbb90[_0xa72f('0x8b')](_0x558a0c['query'][_0xa72f('0x6a')])[_0xa72f('0x2a')](function(){if(_[_0xa72f('0x8f')](_0x558a0c['query'][_0xa72f('0x6a')])){for(var _0x34d827=0x0;_0x34d827<_0x558a0c[_0xa72f('0x3b')][_0xa72f('0x6a')][_0xa72f('0x40')];_0x34d827+=0x1){socket[_0xa72f('0x74')]('userMailQueue:remove',{'UserId':Number(_0x558a0c['query'][_0xa72f('0x6a')][_0x34d827]),'MailQueueId':Number(_0x558a0c[_0xa72f('0x4c')]['id'])});}}else{socket[_0xa72f('0x74')](_0xa72f('0x90'),{'UserId':Number(_0x558a0c[_0xa72f('0x3b')][_0xa72f('0x6a')]),'MailQueueId':Number(_0x558a0c[_0xa72f('0x4c')]['id'])});}});}})[_0xa72f('0x2a')](respondWithStatusCode(_0x506ded,null))[_0xa72f('0x50')](handleError(_0x506ded,null));};exports[_0xa72f('0x91')]=function(_0x4f55cc,_0x5ce061,_0x5bb690){var _0x1f5099={};var _0x1558db={};var _0x7f4f4;var _0xbb5d18;return db[_0xa72f('0x35')]['findOne']({'where':{'id':_0x4f55cc[_0xa72f('0x4c')]['id']}})[_0xa72f('0x2a')](handleEntityNotFound(_0x5ce061,null))[_0xa72f('0x2a')](function(_0x52da74){if(_0x52da74){_0x7f4f4=_0x52da74;_0x1558db[_0xa72f('0x38')]=_[_0xa72f('0x3a')](db[_0xa72f('0x76')][_0xa72f('0x4d')]);_0x1558db[_0xa72f('0x3b')]=_['keys'](_0x4f55cc[_0xa72f('0x3b')]);_0x1558db['filters']=_[_0xa72f('0x3d')](_0x1558db['model'],_0x1558db[_0xa72f('0x3b')]);_0x1f5099[_0xa72f('0x3e')]=_[_0xa72f('0x3d')](_0x1558db[_0xa72f('0x38')],qs['fields'](_0x4f55cc[_0xa72f('0x3b')][_0xa72f('0x3f')]));_0x1f5099[_0xa72f('0x3e')]=_0x1f5099[_0xa72f('0x3e')][_0xa72f('0x40')]?_0x1f5099[_0xa72f('0x3e')]:_0x1558db[_0xa72f('0x38')];_0x1f5099[_0xa72f('0x42')]=qs[_0xa72f('0x43')](_0x4f55cc['query']['sort']);_0x1f5099['where']=qs[_0xa72f('0x3c')](_[_0xa72f('0x45')](_0x4f55cc[_0xa72f('0x3b')],_0x1558db[_0xa72f('0x3c')]));if(_0x4f55cc[_0xa72f('0x3b')]['filter']){_0x1f5099[_0xa72f('0x44')]=_[_0xa72f('0x46')](_0x1f5099[_0xa72f('0x44')],{'$or':_[_0xa72f('0x39')](_0x1f5099[_0xa72f('0x3e')],function(_0x24c355){var _0x43d590={};_0x43d590[_0x24c355]={'$like':'%'+_0x4f55cc[_0xa72f('0x3b')][_0xa72f('0x48')]+'%'};return _0x43d590;})});}_0x1f5099=_[_0xa72f('0x46')]({},_0x1f5099,_0x4f55cc[_0xa72f('0x49')]);return _0x7f4f4[_0xa72f('0x91')](_0x1f5099);}})['then'](function(_0x44251f){if(_0x44251f){_0xbb5d18=_0x44251f[_0xa72f('0x40')];if(!_0x4f55cc['query']['hasOwnProperty'](_0xa72f('0x5b'))){_0x1f5099[_0xa72f('0x25')]=qs[_0xa72f('0x25')](_0x4f55cc[_0xa72f('0x3b')][_0xa72f('0x25')]);_0x1f5099['offset']=qs[_0xa72f('0x24')](_0x4f55cc[_0xa72f('0x3b')]['offset']);}return _0x7f4f4[_0xa72f('0x91')](_0x1f5099);}})[_0xa72f('0x2a')](function(_0x27a1c){if(_0x27a1c){return _0x27a1c?{'count':_0xbb5d18,'rows':_0x27a1c}:null;}})[_0xa72f('0x2a')](respondWithResult(_0x5ce061,null))[_0xa72f('0x50')](handleError(_0x5ce061,null));};