9ff032822b3f86611b90064d0e4f10fb32c4f161
[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 _0x773c=['status','offset','undefined','count','set','Content-Range','reject','save','update','then','destroy','MailQueues','UserProfileResource','error','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','find','catch','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','getMembers','UserMailQueue','order','MailQueueId','User','findAndCountAll','agent','createdAt','format','%s/%s','mailPause','updatedAt','getTeams','Team','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','userMailQueue:save','removeTeams','select','field','tq.TeamId','team_has_mail_queues','join','MailQueueId\x20=\x20?','clone','toString','QueryTypes','every','TeamId','includes','all','value','isEmpty','removeAgents','forEach','emit','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','findOne','eml-format','rimraf','zip-dir','fast-json-patch','moment','util','path','sox','to-csv','ejs','fs-extra','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','end'];(function(_0x465028,_0x4570ac){var _0xb783d4=function(_0x5458c5){while(--_0x5458c5){_0x465028['push'](_0x465028['shift']());}};_0xb783d4(++_0x4570ac);}(_0x773c,0x6e));var _0xc773=function(_0xad57ee,_0x2823a6){_0xad57ee=_0xad57ee-0x0;var _0x3eaea9=_0x773c[_0xad57ee];return _0x3eaea9;};'use strict';var emlformat=require(_0xc773('0x0'));var rimraf=require(_0xc773('0x1'));var zipdir=require(_0xc773('0x2'));var jsonpatch=require(_0xc773('0x3'));var rp=require('request-promise');var moment=require(_0xc773('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc773('0x5'));var path=require(_0xc773('0x6'));var sox=require(_0xc773('0x7'));var csv=require(_0xc773('0x8'));var ejs=require(_0xc773('0x9'));var fs=require('fs');var fs_extra=require(_0xc773('0xa'));var _=require('lodash');var squel=require(_0xc773('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xc773('0xc'));var toCsv=require(_0xc773('0x8'));var querystring=require('querystring');var Papa=require(_0xc773('0xd'));var Redis=require(_0xc773('0xe'));var authService=require(_0xc773('0xf'));var qs=require(_0xc773('0x10'));var as=require(_0xc773('0x11'));var hardwareService=require(_0xc773('0x12'));var logger=require('../../config/logger')(_0xc773('0x13'));var utils=require(_0xc773('0x14'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xc773('0x15'))['db'];config[_0xc773('0x16')]=_[_0xc773('0x17')](config[_0xc773('0x16')],{'host':_0xc773('0x18'),'port':0x18eb});var socket=require(_0xc773('0x19'))(new Redis(config[_0xc773('0x16')]));require('./mailQueue.socket')[_0xc773('0x1a')](socket);function respondWithStatusCode(_0x13c613,_0x45d8cb){_0x45d8cb=_0x45d8cb||0xcc;return function(_0x3a5a3f){if(_0x3a5a3f){return _0x13c613[_0xc773('0x1b')](_0x45d8cb);}return _0x13c613['status'](_0x45d8cb)[_0xc773('0x1c')]();};}function respondWithResult(_0x51a948,_0x17f8b2){_0x17f8b2=_0x17f8b2||0xc8;return function(_0x54fe76){if(_0x54fe76){return _0x51a948[_0xc773('0x1d')](_0x17f8b2)['json'](_0x54fe76);}};}function respondWithFilteredResult(_0x50a723,_0x4b6b08){return function(_0x5d46f6){if(_0x5d46f6){var _0x281557=typeof _0x4b6b08[_0xc773('0x1e')]===_0xc773('0x1f')&&typeof _0x4b6b08['limit']===_0xc773('0x1f');var _0x2fdecd=_0x5d46f6[_0xc773('0x20')];var _0x6e402b=_0x281557?0x0:_0x4b6b08[_0xc773('0x1e')];var _0x18dd49=_0x281557?_0x5d46f6[_0xc773('0x20')]:_0x4b6b08['offset']+_0x4b6b08['limit'];var _0x3e2067;if(_0x18dd49>=_0x2fdecd){_0x18dd49=_0x2fdecd;_0x3e2067=0xc8;}else{_0x3e2067=0xce;}_0x50a723['status'](_0x3e2067);return _0x50a723[_0xc773('0x21')](_0xc773('0x22'),_0x6e402b+'-'+_0x18dd49+'/'+_0x2fdecd)['json'](_0x5d46f6);}return null;};}function patchUpdates(_0x32e3c7){return function(_0x59b66d){try{jsonpatch['apply'](_0x59b66d,_0x32e3c7,!![]);}catch(_0x48d0b2){return BPromise[_0xc773('0x23')](_0x48d0b2);}return _0x59b66d[_0xc773('0x24')]();};}function saveUpdates(_0x9a5b28,_0x19b102){return function(_0xfb963a){if(_0xfb963a){return _0xfb963a[_0xc773('0x25')](_0x9a5b28)[_0xc773('0x26')](function(_0x5b195e){return _0x5b195e;});}return null;};}function removeEntity(_0x598991,_0x36de15){return function(_0x3c2cf1){if(_0x3c2cf1){return _0x3c2cf1[_0xc773('0x27')]()[_0xc773('0x26')](function(){var _0x416158=_0x3c2cf1['get']({'plain':!![]});var _0x2fa62e=_0xc773('0x28');return db[_0xc773('0x29')][_0xc773('0x27')]({'where':{'type':_0x2fa62e,'resourceId':_0x416158['id']}})['then'](function(){return _0x3c2cf1;});})[_0xc773('0x26')](function(){_0x598991[_0xc773('0x1d')](0xcc)[_0xc773('0x1c')]();});}};}function handleEntityNotFound(_0x20f234,_0x4839c5){return function(_0x2ee6c3){if(!_0x2ee6c3){_0x20f234[_0xc773('0x1b')](0x194);}return _0x2ee6c3;};}function handleError(_0x250726,_0x34c1d4){_0x34c1d4=_0x34c1d4||0x1f4;return function(_0x251c34){logger[_0xc773('0x2a')](_0x251c34['stack']);if(_0x251c34[_0xc773('0x2b')]){delete _0x251c34[_0xc773('0x2b')];}_0x250726['status'](_0x34c1d4)[_0xc773('0x2c')](_0x251c34);};}exports[_0xc773('0x2d')]=function(_0xdec352,_0x171736){var _0x4718bb={},_0x2bdbe4={},_0x123a9e={'count':0x0,'rows':[]};var _0x3f5364=_[_0xc773('0x2e')](db[_0xc773('0x2f')][_0xc773('0x30')],function(_0x3d40bd){return{'name':_0x3d40bd[_0xc773('0x31')],'type':_0x3d40bd[_0xc773('0x32')][_0xc773('0x33')]};});_0x2bdbe4[_0xc773('0x34')]=_[_0xc773('0x2e')](_0x3f5364,_0xc773('0x2b'));_0x2bdbe4[_0xc773('0x35')]=_[_0xc773('0x36')](_0xdec352['query']);_0x2bdbe4[_0xc773('0x37')]=_[_0xc773('0x38')](_0x2bdbe4[_0xc773('0x34')],_0x2bdbe4[_0xc773('0x35')]);_0x4718bb[_0xc773('0x39')]=_[_0xc773('0x38')](_0x2bdbe4[_0xc773('0x34')],qs[_0xc773('0x3a')](_0xdec352['query']['fields']));_0x4718bb[_0xc773('0x39')]=_0x4718bb[_0xc773('0x39')][_0xc773('0x3b')]?_0x4718bb[_0xc773('0x39')]:_0x2bdbe4['model'];if(!_0xdec352['query'][_0xc773('0x3c')](_0xc773('0x3d'))){_0x4718bb['limit']=qs['limit'](_0xdec352[_0xc773('0x35')][_0xc773('0x3e')]);_0x4718bb[_0xc773('0x1e')]=qs['offset'](_0xdec352[_0xc773('0x35')]['offset']);}_0x4718bb['order']=qs[_0xc773('0x3f')](_0xdec352['query'][_0xc773('0x3f')]);_0x4718bb[_0xc773('0x40')]=qs['filters'](_[_0xc773('0x41')](_0xdec352['query'],_0x2bdbe4[_0xc773('0x37')]),_0x3f5364);if(_0xdec352[_0xc773('0x35')][_0xc773('0x42')]){_0x4718bb[_0xc773('0x40')]=_[_0xc773('0x43')](_0x4718bb[_0xc773('0x40')],{'$or':_[_0xc773('0x2e')](_0x3f5364,function(_0x152fc6){if(_0x152fc6[_0xc773('0x32')]!==_0xc773('0x44')){var _0x4f53b2={};_0x4f53b2[_0x152fc6['name']]={'$like':'%'+_0xdec352[_0xc773('0x35')][_0xc773('0x42')]+'%'};return _0x4f53b2;}})});}_0x4718bb=_[_0xc773('0x43')]({},_0x4718bb,_0xdec352[_0xc773('0x45')]);var _0x35ee72={'where':_0x4718bb[_0xc773('0x40')]};return db[_0xc773('0x2f')][_0xc773('0x20')](_0x35ee72)[_0xc773('0x26')](function(_0x419865){_0x123a9e[_0xc773('0x20')]=_0x419865;if(_0xdec352[_0xc773('0x35')][_0xc773('0x46')]){_0x4718bb[_0xc773('0x47')]=[{'all':!![]}];}return db[_0xc773('0x2f')][_0xc773('0x48')](_0x4718bb);})[_0xc773('0x26')](function(_0x4ea76e){_0x123a9e[_0xc773('0x49')]=_0x4ea76e;return _0x123a9e;})[_0xc773('0x26')](respondWithFilteredResult(_0x171736,_0x4718bb))['catch'](handleError(_0x171736,null));};exports[_0xc773('0x4a')]=function(_0x1b75e6,_0x21ca62){var _0x3cf855={'raw':!![],'where':{'id':_0x1b75e6[_0xc773('0x4b')]['id']}},_0x24eeae={};_0x24eeae['model']=_[_0xc773('0x36')](db['MailQueue'][_0xc773('0x30')]);_0x24eeae[_0xc773('0x35')]=_[_0xc773('0x36')](_0x1b75e6[_0xc773('0x35')]);_0x24eeae['filters']=_['intersection'](_0x24eeae[_0xc773('0x34')],_0x24eeae['query']);_0x3cf855[_0xc773('0x39')]=_[_0xc773('0x38')](_0x24eeae[_0xc773('0x34')],qs[_0xc773('0x3a')](_0x1b75e6[_0xc773('0x35')]['fields']));_0x3cf855[_0xc773('0x39')]=_0x3cf855['attributes'][_0xc773('0x3b')]?_0x3cf855['attributes']:_0x24eeae[_0xc773('0x34')];if(_0x1b75e6[_0xc773('0x35')][_0xc773('0x46')]){_0x3cf855['include']=[{'all':!![]}];}_0x3cf855=_['merge']({},_0x3cf855,_0x1b75e6['options']);return db['MailQueue'][_0xc773('0x4c')](_0x3cf855)[_0xc773('0x26')](handleEntityNotFound(_0x21ca62,null))[_0xc773('0x26')](respondWithResult(_0x21ca62,null))[_0xc773('0x4d')](handleError(_0x21ca62,null));};exports[_0xc773('0x4e')]=function(_0x3e1095,_0x54b537){return db[_0xc773('0x2f')][_0xc773('0x4e')](_0x3e1095[_0xc773('0x4f')],{})[_0xc773('0x26')](function(_0x32b4bd){var _0xe8a6d1=_0x3e1095['user'][_0xc773('0x50')]({'plain':!![]});if(!_0xe8a6d1)throw new Error(_0xc773('0x51'));if(_0xe8a6d1[_0xc773('0x52')]===_0xc773('0x53')){var _0x207d3e=_0x32b4bd[_0xc773('0x50')]({'plain':!![]});var _0x3e6984=_0xc773('0x28');return db[_0xc773('0x54')]['find']({'where':{'name':_0x3e6984,'userProfileId':_0xe8a6d1[_0xc773('0x55')]},'raw':!![]})[_0xc773('0x26')](function(_0x295919){if(_0x295919&&_0x295919[_0xc773('0x56')]===0x0){return db[_0xc773('0x29')][_0xc773('0x4e')]({'name':_0x207d3e[_0xc773('0x2b')],'resourceId':_0x207d3e['id'],'type':_0x295919['name'],'sectionId':_0x295919['id']},{})[_0xc773('0x26')](function(){return _0x32b4bd;});}else{return _0x32b4bd;}})[_0xc773('0x4d')](function(_0x5e319e){logger[_0xc773('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5e319e);throw _0x5e319e;});}return _0x32b4bd;})[_0xc773('0x26')](respondWithResult(_0x54b537,0xc9))['catch'](handleError(_0x54b537,null));};exports[_0xc773('0x25')]=function(_0x134399,_0x44f9b0){if(_0x134399[_0xc773('0x4f')]['id']){delete _0x134399[_0xc773('0x4f')]['id'];}return db['MailQueue'][_0xc773('0x4c')]({'where':{'id':_0x134399[_0xc773('0x4b')]['id']}})['then'](handleEntityNotFound(_0x44f9b0,null))[_0xc773('0x26')](saveUpdates(_0x134399[_0xc773('0x4f')],null))[_0xc773('0x26')](respondWithResult(_0x44f9b0,null))['catch'](handleError(_0x44f9b0,null));};exports[_0xc773('0x27')]=function(_0x176fd0,_0x893ac9){return db[_0xc773('0x2f')][_0xc773('0x4c')]({'where':{'id':_0x176fd0[_0xc773('0x4b')]['id']}})[_0xc773('0x26')](handleEntityNotFound(_0x893ac9,null))['then'](removeEntity(_0x893ac9,null))['catch'](handleError(_0x893ac9,null));};exports['describe']=function(_0x13ea8a,_0x52db20){return db[_0xc773('0x2f')]['describe']()[_0xc773('0x26')](respondWithResult(_0x52db20,null))[_0xc773('0x4d')](handleError(_0x52db20,null));};exports[_0xc773('0x57')]=function(_0x34da61,_0x44b16e,_0x35b723){var _0x9ee3a6={'raw':!![],'where':{}},_0x3cd38c={},_0x1a2881;return db[_0xc773('0x2f')]['findOne']({'where':{'id':_0x34da61[_0xc773('0x4b')]['id']}})['then'](handleEntityNotFound(_0x44b16e,null))[_0xc773('0x26')](function(_0x321794){if(_0x321794){_0x1a2881=_0x321794[_0xc773('0x50')]({'plain':!![]});_0x3cd38c[_0xc773('0x34')]=_[_0xc773('0x36')](db[_0xc773('0x58')][_0xc773('0x30')]);_0x3cd38c['query']=_[_0xc773('0x36')](_0x34da61[_0xc773('0x35')]);_0x3cd38c['filters']=_[_0xc773('0x38')](_0x3cd38c['model'],_0x3cd38c[_0xc773('0x35')]);_0x9ee3a6['attributes']=_[_0xc773('0x38')](_0x3cd38c[_0xc773('0x34')],qs[_0xc773('0x3a')](_0x34da61['query']['fields']));_0x9ee3a6[_0xc773('0x39')]=_0x9ee3a6[_0xc773('0x39')][_0xc773('0x3b')]?_0x9ee3a6[_0xc773('0x39')]:_0x3cd38c[_0xc773('0x34')];if(!_0x34da61[_0xc773('0x35')]['hasOwnProperty']('nolimit')){_0x9ee3a6[_0xc773('0x3e')]=qs[_0xc773('0x3e')](_0x34da61[_0xc773('0x35')][_0xc773('0x3e')]);_0x9ee3a6['offset']=qs['offset'](_0x34da61[_0xc773('0x35')]['offset']);}_0x9ee3a6[_0xc773('0x59')]=qs['sort'](_0x34da61[_0xc773('0x35')]['sort']);_0x9ee3a6[_0xc773('0x40')]=qs[_0xc773('0x37')](_['pick'](_0x34da61[_0xc773('0x35')],_0x3cd38c[_0xc773('0x37')]));_0x9ee3a6[_0xc773('0x40')][_0xc773('0x5a')]=_0x321794['id'];if(_0x34da61['query']['filter']){_0x9ee3a6[_0xc773('0x40')]=_[_0xc773('0x43')](_0x9ee3a6[_0xc773('0x40')],{'$or':_['map'](_0x9ee3a6['attributes'],function(_0x1ef5c0){var _0x4e8ab8={};_0x4e8ab8[_0x1ef5c0]={'$like':'%'+_0x34da61['query']['filter']+'%'};return _0x4e8ab8;})});}_0x9ee3a6=_[_0xc773('0x43')]({},_0x9ee3a6,_0x34da61[_0xc773('0x45')]);return db[_0xc773('0x58')][_0xc773('0x48')](_0x9ee3a6);}})[_0xc773('0x26')](function(_0x5067b9){if(_0x5067b9){return db[_0xc773('0x5b')][_0xc773('0x5c')]({'where':{'id':_[_0xc773('0x2e')](_0x5067b9,'UserId'),'role':_0xc773('0x5d')},'attributes':['id',_0xc773('0x2b'),'mailPause','updatedAt',_0xc773('0x5e')]});}})[_0xc773('0x26')](function(_0x1d757c){if(_0x1d757c){return{'count':_0x1d757c[_0xc773('0x20')],'rows':_['map'](_0x1d757c[_0xc773('0x49')],function(_0x3b202b){return{'membername':_0x3b202b[_0xc773('0x2b')],'UserId':_0x3b202b['id'],'queue_name':_0x1a2881[_0xc773('0x2b')],'MailQueueId':_0x1a2881['id'],'interface':util[_0xc773('0x5f')](_0xc773('0x60'),'SIP',_0x3b202b[_0xc773('0x2b')]),'penalty':0x0,'paused':_0x3b202b[_0xc773('0x61')],'createdAt':_0x3b202b['createdAt'],'updatedAt':_0x3b202b[_0xc773('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xc773('0x26')](respondWithFilteredResult(_0x44b16e,_0x9ee3a6))[_0xc773('0x4d')](handleError(_0x44b16e,null));};exports[_0xc773('0x63')]=function(_0x4a45b0,_0xc23e2d,_0x4848af){var _0x10a019={};var _0x39a3b6={};var _0x3a8918;var _0x335e9d;return db[_0xc773('0x2f')]['findOne']({'where':{'id':_0x4a45b0[_0xc773('0x4b')]['id']}})[_0xc773('0x26')](handleEntityNotFound(_0xc23e2d,null))[_0xc773('0x26')](function(_0x4b0a5c){if(_0x4b0a5c){_0x3a8918=_0x4b0a5c;_0x39a3b6[_0xc773('0x34')]=_['keys'](db[_0xc773('0x64')][_0xc773('0x30')]);_0x39a3b6[_0xc773('0x35')]=_[_0xc773('0x36')](_0x4a45b0[_0xc773('0x35')]);_0x39a3b6[_0xc773('0x37')]=_[_0xc773('0x38')](_0x39a3b6[_0xc773('0x34')],_0x39a3b6[_0xc773('0x35')]);_0x10a019[_0xc773('0x39')]=_[_0xc773('0x38')](_0x39a3b6['model'],qs[_0xc773('0x3a')](_0x4a45b0[_0xc773('0x35')]['fields']));_0x10a019[_0xc773('0x39')]=_0x10a019[_0xc773('0x39')][_0xc773('0x3b')]?_0x10a019[_0xc773('0x39')]:_0x39a3b6[_0xc773('0x34')];_0x10a019[_0xc773('0x59')]=qs[_0xc773('0x3f')](_0x4a45b0['query']['sort']);_0x10a019['where']=qs[_0xc773('0x37')](_['pick'](_0x4a45b0[_0xc773('0x35')],_0x39a3b6[_0xc773('0x37')]));if(_0x4a45b0[_0xc773('0x35')]['filter']){_0x10a019[_0xc773('0x40')]=_[_0xc773('0x43')](_0x10a019[_0xc773('0x40')],{'$or':_[_0xc773('0x2e')](_0x10a019[_0xc773('0x39')],function(_0x479709){var _0x1925fd={};_0x1925fd[_0x479709]={'$like':'%'+_0x4a45b0['query'][_0xc773('0x42')]+'%'};return _0x1925fd;})});}_0x10a019=_[_0xc773('0x43')]({},_0x10a019,_0x4a45b0['options']);return _0x3a8918['getTeams'](_0x10a019);}})['then'](function(_0x49a9ab){if(_0x49a9ab){_0x335e9d=_0x49a9ab[_0xc773('0x3b')];if(!_0x4a45b0[_0xc773('0x35')][_0xc773('0x3c')](_0xc773('0x3d'))){_0x10a019['limit']=qs['limit'](_0x4a45b0[_0xc773('0x35')]['limit']);_0x10a019['offset']=qs[_0xc773('0x1e')](_0x4a45b0[_0xc773('0x35')][_0xc773('0x1e')]);}return _0x3a8918[_0xc773('0x63')](_0x10a019);}})[_0xc773('0x26')](function(_0x2522cc){if(_0x2522cc){return _0x2522cc?{'count':_0x335e9d,'rows':_0x2522cc}:null;}})[_0xc773('0x26')](respondWithResult(_0xc23e2d,null))[_0xc773('0x4d')](handleError(_0xc23e2d,null));};exports[_0xc773('0x65')]=function(_0x5d6cc1,_0x102247,_0x2eb9c2){var _0x58a96b=_0x5d6cc1[_0xc773('0x4f')][_0xc773('0x66')];return db['Team']['findAll']({'where':{'id':_0x58a96b},'attributes':['id'],'include':[{'model':db[_0xc773('0x5b')],'as':_0xc773('0x67'),'attributes':['id','name',_0xc773('0x68'),_0xc773('0x69'),_0xc773('0x6a')],'raw':!![]}]})[_0xc773('0x26')](function(_0x4fc74a){if(_0x4fc74a){var _0xb98fb5=_[_0xc773('0x6b')](_0x4fc74a,function(_0x3e6cdd){var _0x4e0646=_0x3e6cdd[_0xc773('0x50')]({'plain':!![]});return _0x4e0646[_0xc773('0x67')];});return db[_0xc773('0x2f')][_0xc773('0x4c')]({'where':{'id':_0x5d6cc1['params']['id']}})[_0xc773('0x26')](function(_0x58cfcf){return db[_0xc773('0x6c')][_0xc773('0x6d')](function(_0x3c032d){return _0x58cfcf['addTeams'](_0x58a96b,{'transaction':_0x3c032d})[_0xc773('0x26')](function(){return BPromise[_0xc773('0x6e')](_0xb98fb5,function(_0x5d48b4){return db['UserMailQueue'][_0xc773('0x6f')]({'where':{'UserId':_0x5d48b4['id'],'MailQueueId':_0x5d6cc1[_0xc773('0x4b')]['id']},'transaction':_0x3c032d});});})[_0xc773('0x26')](function(){_0xb98fb5['forEach'](function(_0x4c5f1a){socket['emit'](_0xc773('0x70'),{'UserId':_0x4c5f1a['id'],'MailQueueId':_0x58cfcf['id']});});});});});}})[_0xc773('0x26')](respondWithStatusCode(_0x102247,null))[_0xc773('0x4d')](handleError(_0x102247,null));};exports[_0xc773('0x71')]=function(_0x6d968f,_0x467303,_0x12bbd7){return db[_0xc773('0x64')]['findAll']({'where':{'id':_0x6d968f[_0xc773('0x35')]['ids']},'attributes':['id'],'include':[{'model':db[_0xc773('0x5b')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xc773('0x26')](handleEntityNotFound(_0x467303,null))[_0xc773('0x26')](function(_0x54e4d0){var _0x195eec=_[_0xc773('0x2e')](_0x54e4d0,'id');var _0x46b95b=[];var _0x4e8116=[];var _0x387f94=squel[_0xc773('0x72')]();_0x387f94[_0xc773('0x73')](_0xc773('0x74'))['from'](_0xc773('0x75'),'tq')[_0xc773('0x76')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0xc773('0x77'),_0x6d968f[_0xc773('0x4b')]['id']);for(var _0x533a17=0x0;_0x533a17<_0x54e4d0[_0xc773('0x3b')];_0x533a17+=0x1){let _0x1324a4=_0x54e4d0[_0x533a17];for(var _0x3dba3c=0x0;_0x3dba3c<_0x1324a4[_0xc773('0x67')][_0xc773('0x3b')];_0x3dba3c+=0x1){let _0x3b66ce=_0x1324a4[_0xc773('0x67')][_0x3dba3c];var _0x4c8892=_0x387f94[_0xc773('0x78')]();_0x4c8892['where']('ut.UserId\x20=\x20?',_0x3b66ce['id']);_0x4e8116['push'](db[_0xc773('0x6c')][_0xc773('0x35')](_0x4c8892[_0xc773('0x79')](),{'type':db['sequelize'][_0xc773('0x7a')]['SELECT']})['then'](function(_0x2d2a03){if(_0x2d2a03[_0xc773('0x3b')]===0x1){return _0x3b66ce['id'];}else{var _0x135f62=_[_0xc773('0x7b')](_[_0xc773('0x2e')](_0x2d2a03,_0xc773('0x7c')),function(_0x55cb14){return _[_0xc773('0x7d')](_0x195eec,_0x55cb14);});if(_0x135f62){return _0x3b66ce['id'];}}}));}}return BPromise[_0xc773('0x7e')](_0x4e8116)[_0xc773('0x26')](function(_0x43faa6){_0x46b95b=_(_0x46b95b)['union'](_0x43faa6)['compact']()[_0xc773('0x7f')]();return db[_0xc773('0x2f')][_0xc773('0x4c')]({'where':{'id':_0x6d968f[_0xc773('0x4b')]['id']}})['then'](function(_0x1ff958){return db['sequelize'][_0xc773('0x6d')](function(_0x21d309){return _0x1ff958[_0xc773('0x71')](_0x6d968f[_0xc773('0x35')][_0xc773('0x66')],{'transaction':_0x21d309})['then'](function(){if(!_[_0xc773('0x80')](_0x46b95b)){return _0x1ff958[_0xc773('0x81')](_0x46b95b,{'transaction':_0x21d309});}})[_0xc773('0x26')](function(){_0x46b95b[_0xc773('0x82')](function(_0x261abb){socket[_0xc773('0x83')](_0xc773('0x84'),{'UserId':_0x261abb,'MailQueueId':_0x1ff958['id']});});});});});});})['then'](respondWithStatusCode(_0x467303,null))[_0xc773('0x4d')](handleError(_0x467303,null));};exports[_0xc773('0x85')]=function(_0x598fe6,_0x1d0ef3,_0x4dc672){return db['MailQueue'][_0xc773('0x4c')]({'where':{'id':_0x598fe6[_0xc773('0x4b')]['id']}})['then'](handleEntityNotFound(_0x1d0ef3,null))[_0xc773('0x26')](function(_0xe5bddc){if(_0xe5bddc){return _0xe5bddc[_0xc773('0x85')](_0x598fe6['body'][_0xc773('0x66')],_[_0xc773('0x86')](_0x598fe6['body'],['ids','id'])||{})[_0xc773('0x87')](function(_0x3b8e83){for(var _0x43699f=0x0;_0x43699f<_0x598fe6[_0xc773('0x4f')][_0xc773('0x66')]['length'];_0x43699f+=0x1){socket[_0xc773('0x83')](_0xc773('0x70'),{'UserId':Number(_0x598fe6['body']['ids'][_0x43699f]),'MailQueueId':Number(_0x598fe6[_0xc773('0x4b')]['id'])});}return _0x3b8e83;});}})[_0xc773('0x26')](respondWithResult(_0x1d0ef3,null))[_0xc773('0x4d')](handleError(_0x1d0ef3,null));};exports[_0xc773('0x81')]=function(_0x13f398,_0x3d156a,_0x20be9b){return db[_0xc773('0x2f')][_0xc773('0x4c')]({'where':{'id':_0x13f398[_0xc773('0x4b')]['id']}})[_0xc773('0x26')](handleEntityNotFound(_0x3d156a,null))[_0xc773('0x26')](function(_0xd7b063){if(_0xd7b063){return _0xd7b063['removeAgents'](_0x13f398[_0xc773('0x35')][_0xc773('0x66')])[_0xc773('0x26')](function(){if(_[_0xc773('0x88')](_0x13f398[_0xc773('0x35')]['ids'])){for(var _0x3a94e1=0x0;_0x3a94e1<_0x13f398[_0xc773('0x35')]['ids'][_0xc773('0x3b')];_0x3a94e1+=0x1){socket[_0xc773('0x83')](_0xc773('0x84'),{'UserId':Number(_0x13f398[_0xc773('0x35')][_0xc773('0x66')][_0x3a94e1]),'MailQueueId':Number(_0x13f398[_0xc773('0x4b')]['id'])});}}else{socket[_0xc773('0x83')](_0xc773('0x84'),{'UserId':Number(_0x13f398[_0xc773('0x35')][_0xc773('0x66')]),'MailQueueId':Number(_0x13f398[_0xc773('0x4b')]['id'])});}});}})['then'](respondWithStatusCode(_0x3d156a,null))[_0xc773('0x4d')](handleError(_0x3d156a,null));};exports[_0xc773('0x89')]=function(_0x26f0b2,_0x360a94,_0x1b55ee){var _0x43f611={};var _0x17844e={};var _0x5ca39e;var _0x3cad4d;return db[_0xc773('0x2f')][_0xc773('0x8a')]({'where':{'id':_0x26f0b2[_0xc773('0x4b')]['id']}})[_0xc773('0x26')](handleEntityNotFound(_0x360a94,null))[_0xc773('0x26')](function(_0x20d4aa){if(_0x20d4aa){_0x5ca39e=_0x20d4aa;_0x17844e[_0xc773('0x34')]=_['keys'](db[_0xc773('0x5b')]['rawAttributes']);_0x17844e[_0xc773('0x35')]=_['keys'](_0x26f0b2['query']);_0x17844e[_0xc773('0x37')]=_[_0xc773('0x38')](_0x17844e['model'],_0x17844e['query']);_0x43f611['attributes']=_[_0xc773('0x38')](_0x17844e[_0xc773('0x34')],qs[_0xc773('0x3a')](_0x26f0b2[_0xc773('0x35')][_0xc773('0x3a')]));_0x43f611[_0xc773('0x39')]=_0x43f611[_0xc773('0x39')][_0xc773('0x3b')]?_0x43f611[_0xc773('0x39')]:_0x17844e[_0xc773('0x34')];_0x43f611['order']=qs[_0xc773('0x3f')](_0x26f0b2[_0xc773('0x35')][_0xc773('0x3f')]);_0x43f611[_0xc773('0x40')]=qs[_0xc773('0x37')](_[_0xc773('0x41')](_0x26f0b2[_0xc773('0x35')],_0x17844e[_0xc773('0x37')]));if(_0x26f0b2[_0xc773('0x35')]['filter']){_0x43f611[_0xc773('0x40')]=_['merge'](_0x43f611[_0xc773('0x40')],{'$or':_[_0xc773('0x2e')](_0x43f611[_0xc773('0x39')],function(_0x44927e){var _0x1105b0={};_0x1105b0[_0x44927e]={'$like':'%'+_0x26f0b2[_0xc773('0x35')][_0xc773('0x42')]+'%'};return _0x1105b0;})});}_0x43f611=_[_0xc773('0x43')]({},_0x43f611,_0x26f0b2[_0xc773('0x45')]);return _0x5ca39e[_0xc773('0x89')](_0x43f611);}})[_0xc773('0x26')](function(_0x26d9b1){if(_0x26d9b1){_0x3cad4d=_0x26d9b1['length'];if(!_0x26f0b2[_0xc773('0x35')][_0xc773('0x3c')](_0xc773('0x3d'))){_0x43f611[_0xc773('0x3e')]=qs[_0xc773('0x3e')](_0x26f0b2['query'][_0xc773('0x3e')]);_0x43f611[_0xc773('0x1e')]=qs[_0xc773('0x1e')](_0x26f0b2['query'][_0xc773('0x1e')]);}return _0x5ca39e[_0xc773('0x89')](_0x43f611);}})[_0xc773('0x26')](function(_0x4e7d00){if(_0x4e7d00){return _0x4e7d00?{'count':_0x3cad4d,'rows':_0x4e7d00}:null;}})['then'](respondWithResult(_0x360a94,null))[_0xc773('0x4d')](handleError(_0x360a94,null));};