Built motion from commit 19a84241.|2.5.34
[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 _0x9567=['filters','intersection','attributes','fields','limit','order','sort','where','pick','merge','VIRTUAL','filter','include','findAll','rows','catch','show','params','rawAttributes','length','includeAll','options','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','nolimit','MailQueueId','UserMailQueue','findAndCountAll','UserId','agent','%s/%s','SIP','createdAt','getTeams','Team','addTeams','ids','User','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','forEach','emit','userMailQueue:save','field','team_has_mail_queues','join','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','all','value','userMailQueue:remove','addAgents','spread','removeAgents','isArray','hasOwnProperty','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','util','sox','ejs','lodash','squel','jsforce','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./mailQueue.socket','register','sendStatus','status','end','json','offset','undefined','count','set','apply','reject','save','update','then','destroy','get','MailQueues','error','stack','name','send','index','map','MailQueue','fieldName','key','model','query','keys'];(function(_0x957f74,_0x687fe1){var _0x45347a=function(_0x433bbf){while(--_0x433bbf){_0x957f74['push'](_0x957f74['shift']());}};_0x45347a(++_0x687fe1);}(_0x9567,0xdc));var _0x7956=function(_0x2af3c9,_0x19f6d0){_0x2af3c9=_0x2af3c9-0x0;var _0x5c57b4=_0x9567[_0x2af3c9];return _0x5c57b4;};'use strict';var emlformat=require(_0x7956('0x0'));var rimraf=require(_0x7956('0x1'));var zipdir=require(_0x7956('0x2'));var jsonpatch=require(_0x7956('0x3'));var rp=require(_0x7956('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x7956('0x5'));var util=require(_0x7956('0x6'));var path=require('path');var sox=require(_0x7956('0x7'));var csv=require('to-csv');var ejs=require(_0x7956('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7956('0x9'));var squel=require(_0x7956('0xa'));var crypto=require('crypto');var jsforce=require(_0x7956('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x7956('0xc'));var querystring=require(_0x7956('0xd'));var Papa=require('papaparse');var Redis=require(_0x7956('0xe'));var authService=require(_0x7956('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x7956('0x10'));var hardwareService=require(_0x7956('0x11'));var logger=require(_0x7956('0x12'))('api');var utils=require(_0x7956('0x13'));var config=require(_0x7956('0x14'));var licenseUtil=require(_0x7956('0x15'));var db=require(_0x7956('0x16'))['db'];config['redis']=_[_0x7956('0x17')](config[_0x7956('0x18')],{'host':_0x7956('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7956('0x18')]));require(_0x7956('0x1a'))[_0x7956('0x1b')](socket);function respondWithStatusCode(_0x3a408a,_0x1af337){_0x1af337=_0x1af337||0xcc;return function(_0x3d952d){if(_0x3d952d){return _0x3a408a[_0x7956('0x1c')](_0x1af337);}return _0x3a408a[_0x7956('0x1d')](_0x1af337)[_0x7956('0x1e')]();};}function respondWithResult(_0x6a6d78,_0x41d67a){_0x41d67a=_0x41d67a||0xc8;return function(_0x2820cd){if(_0x2820cd){return _0x6a6d78[_0x7956('0x1d')](_0x41d67a)[_0x7956('0x1f')](_0x2820cd);}};}function respondWithFilteredResult(_0x1e8040,_0x4640db){return function(_0x5e6b90){if(_0x5e6b90){var _0x5c3afb=typeof _0x4640db[_0x7956('0x20')]===_0x7956('0x21')&&typeof _0x4640db['limit']===_0x7956('0x21');var _0x584922=_0x5e6b90[_0x7956('0x22')];var _0x3611a7=_0x5c3afb?0x0:_0x4640db['offset'];var _0x398916=_0x5c3afb?_0x5e6b90[_0x7956('0x22')]:_0x4640db[_0x7956('0x20')]+_0x4640db['limit'];var _0x8a58ea;if(_0x398916>=_0x584922){_0x398916=_0x584922;_0x8a58ea=0xc8;}else{_0x8a58ea=0xce;}_0x1e8040['status'](_0x8a58ea);return _0x1e8040[_0x7956('0x23')]('Content-Range',_0x3611a7+'-'+_0x398916+'/'+_0x584922)[_0x7956('0x1f')](_0x5e6b90);}return null;};}function patchUpdates(_0x8a7165){return function(_0x1cbc0f){try{jsonpatch[_0x7956('0x24')](_0x1cbc0f,_0x8a7165,!![]);}catch(_0x4d4d95){return BPromise[_0x7956('0x25')](_0x4d4d95);}return _0x1cbc0f[_0x7956('0x26')]();};}function saveUpdates(_0x432a2d,_0x51020f){return function(_0x53d1c4){if(_0x53d1c4){return _0x53d1c4[_0x7956('0x27')](_0x432a2d)[_0x7956('0x28')](function(_0x40d2d6){return _0x40d2d6;});}return null;};}function removeEntity(_0x1c407a,_0x4572b2){return function(_0x4e5b2d){if(_0x4e5b2d){return _0x4e5b2d[_0x7956('0x29')]()[_0x7956('0x28')](function(){var _0xe39d1d=_0x4e5b2d[_0x7956('0x2a')]({'plain':!![]});var _0x16d978=_0x7956('0x2b');return db['UserProfileResource'][_0x7956('0x29')]({'where':{'type':_0x16d978,'resourceId':_0xe39d1d['id']}})[_0x7956('0x28')](function(){return _0x4e5b2d;});})[_0x7956('0x28')](function(){_0x1c407a[_0x7956('0x1d')](0xcc)[_0x7956('0x1e')]();});}};}function handleEntityNotFound(_0x17c724,_0x12cc06){return function(_0x30a8d1){if(!_0x30a8d1){_0x17c724[_0x7956('0x1c')](0x194);}return _0x30a8d1;};}function handleError(_0x401770,_0xe39c6e){_0xe39c6e=_0xe39c6e||0x1f4;return function(_0xe64c4f){logger[_0x7956('0x2c')](_0xe64c4f[_0x7956('0x2d')]);if(_0xe64c4f[_0x7956('0x2e')]){delete _0xe64c4f[_0x7956('0x2e')];}_0x401770[_0x7956('0x1d')](_0xe39c6e)[_0x7956('0x2f')](_0xe64c4f);};}exports[_0x7956('0x30')]=function(_0x134d24,_0x5bb0f1){var _0x1edb4c={},_0x4781ec={},_0x443a57={'count':0x0,'rows':[]};var _0x3a8d1d=_[_0x7956('0x31')](db[_0x7956('0x32')]['rawAttributes'],function(_0x2519b0){return{'name':_0x2519b0[_0x7956('0x33')],'type':_0x2519b0['type'][_0x7956('0x34')]};});_0x4781ec[_0x7956('0x35')]=_[_0x7956('0x31')](_0x3a8d1d,_0x7956('0x2e'));_0x4781ec[_0x7956('0x36')]=_[_0x7956('0x37')](_0x134d24[_0x7956('0x36')]);_0x4781ec[_0x7956('0x38')]=_[_0x7956('0x39')](_0x4781ec[_0x7956('0x35')],_0x4781ec[_0x7956('0x36')]);_0x1edb4c[_0x7956('0x3a')]=_[_0x7956('0x39')](_0x4781ec[_0x7956('0x35')],qs[_0x7956('0x3b')](_0x134d24[_0x7956('0x36')]['fields']));_0x1edb4c[_0x7956('0x3a')]=_0x1edb4c[_0x7956('0x3a')]['length']?_0x1edb4c[_0x7956('0x3a')]:_0x4781ec['model'];if(!_0x134d24[_0x7956('0x36')]['hasOwnProperty']('nolimit')){_0x1edb4c[_0x7956('0x3c')]=qs['limit'](_0x134d24[_0x7956('0x36')][_0x7956('0x3c')]);_0x1edb4c[_0x7956('0x20')]=qs[_0x7956('0x20')](_0x134d24[_0x7956('0x36')][_0x7956('0x20')]);}_0x1edb4c[_0x7956('0x3d')]=qs[_0x7956('0x3e')](_0x134d24[_0x7956('0x36')]['sort']);_0x1edb4c[_0x7956('0x3f')]=qs['filters'](_[_0x7956('0x40')](_0x134d24[_0x7956('0x36')],_0x4781ec[_0x7956('0x38')]),_0x3a8d1d);if(_0x134d24[_0x7956('0x36')]['filter']){_0x1edb4c[_0x7956('0x3f')]=_[_0x7956('0x41')](_0x1edb4c['where'],{'$or':_['map'](_0x3a8d1d,function(_0x2960ba){if(_0x2960ba['type']!==_0x7956('0x42')){var _0x1b8dac={};_0x1b8dac[_0x2960ba[_0x7956('0x2e')]]={'$like':'%'+_0x134d24['query'][_0x7956('0x43')]+'%'};return _0x1b8dac;}})});}_0x1edb4c=_[_0x7956('0x41')]({},_0x1edb4c,_0x134d24['options']);var _0x2f5d7d={'where':_0x1edb4c['where']};return db[_0x7956('0x32')][_0x7956('0x22')](_0x2f5d7d)[_0x7956('0x28')](function(_0x31cea9){_0x443a57[_0x7956('0x22')]=_0x31cea9;if(_0x134d24['query']['includeAll']){_0x1edb4c[_0x7956('0x44')]=[{'all':!![]}];}return db[_0x7956('0x32')][_0x7956('0x45')](_0x1edb4c);})[_0x7956('0x28')](function(_0x23472d){_0x443a57[_0x7956('0x46')]=_0x23472d;return _0x443a57;})['then'](respondWithFilteredResult(_0x5bb0f1,_0x1edb4c))[_0x7956('0x47')](handleError(_0x5bb0f1,null));};exports[_0x7956('0x48')]=function(_0x1e6544,_0x16800c){var _0x2b28c7={'raw':!![],'where':{'id':_0x1e6544[_0x7956('0x49')]['id']}},_0x164746={};_0x164746[_0x7956('0x35')]=_[_0x7956('0x37')](db[_0x7956('0x32')][_0x7956('0x4a')]);_0x164746[_0x7956('0x36')]=_[_0x7956('0x37')](_0x1e6544[_0x7956('0x36')]);_0x164746[_0x7956('0x38')]=_['intersection'](_0x164746[_0x7956('0x35')],_0x164746['query']);_0x2b28c7['attributes']=_[_0x7956('0x39')](_0x164746[_0x7956('0x35')],qs[_0x7956('0x3b')](_0x1e6544[_0x7956('0x36')][_0x7956('0x3b')]));_0x2b28c7[_0x7956('0x3a')]=_0x2b28c7[_0x7956('0x3a')][_0x7956('0x4b')]?_0x2b28c7[_0x7956('0x3a')]:_0x164746[_0x7956('0x35')];if(_0x1e6544[_0x7956('0x36')][_0x7956('0x4c')]){_0x2b28c7[_0x7956('0x44')]=[{'all':!![]}];}_0x2b28c7=_[_0x7956('0x41')]({},_0x2b28c7,_0x1e6544[_0x7956('0x4d')]);return db[_0x7956('0x32')][_0x7956('0x4e')](_0x2b28c7)[_0x7956('0x28')](handleEntityNotFound(_0x16800c,null))[_0x7956('0x28')](respondWithResult(_0x16800c,null))[_0x7956('0x47')](handleError(_0x16800c,null));};exports[_0x7956('0x4f')]=function(_0x2f5bca,_0x554b3e){return db[_0x7956('0x32')][_0x7956('0x4f')](_0x2f5bca[_0x7956('0x50')],{})['then'](function(_0x385fb3){var _0x583766=_0x2f5bca[_0x7956('0x51')][_0x7956('0x2a')]({'plain':!![]});if(!_0x583766)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x583766[_0x7956('0x52')]===_0x7956('0x51')){var _0x5cc4d3=_0x385fb3[_0x7956('0x2a')]({'plain':!![]});var _0x3324f0='MailQueues';return db[_0x7956('0x53')][_0x7956('0x4e')]({'where':{'name':_0x3324f0,'userProfileId':_0x583766[_0x7956('0x54')]},'raw':!![]})[_0x7956('0x28')](function(_0x3c592a){if(_0x3c592a&&_0x3c592a[_0x7956('0x55')]===0x0){return db[_0x7956('0x56')]['create']({'name':_0x5cc4d3[_0x7956('0x2e')],'resourceId':_0x5cc4d3['id'],'type':_0x3c592a[_0x7956('0x2e')],'sectionId':_0x3c592a['id']},{})[_0x7956('0x28')](function(){return _0x385fb3;});}else{return _0x385fb3;}})[_0x7956('0x47')](function(_0x59afda){logger[_0x7956('0x2c')](_0x7956('0x57'),_0x59afda);throw _0x59afda;});}return _0x385fb3;})[_0x7956('0x28')](respondWithResult(_0x554b3e,0xc9))[_0x7956('0x47')](handleError(_0x554b3e,null));};exports[_0x7956('0x27')]=function(_0x125c46,_0x23e7ee){if(_0x125c46[_0x7956('0x50')]['id']){delete _0x125c46[_0x7956('0x50')]['id'];}return db[_0x7956('0x32')][_0x7956('0x4e')]({'where':{'id':_0x125c46[_0x7956('0x49')]['id']}})[_0x7956('0x28')](handleEntityNotFound(_0x23e7ee,null))[_0x7956('0x28')](saveUpdates(_0x125c46['body'],null))[_0x7956('0x28')](respondWithResult(_0x23e7ee,null))[_0x7956('0x47')](handleError(_0x23e7ee,null));};exports[_0x7956('0x29')]=function(_0x362e25,_0x483606){return db[_0x7956('0x32')][_0x7956('0x4e')]({'where':{'id':_0x362e25[_0x7956('0x49')]['id']}})[_0x7956('0x28')](handleEntityNotFound(_0x483606,null))[_0x7956('0x28')](removeEntity(_0x483606,null))[_0x7956('0x47')](handleError(_0x483606,null));};exports[_0x7956('0x58')]=function(_0x578a12,_0x551501){return db[_0x7956('0x32')]['describe']()[_0x7956('0x28')](respondWithResult(_0x551501,null))[_0x7956('0x47')](handleError(_0x551501,null));};exports[_0x7956('0x59')]=function(_0x2ec45f,_0x2472d5,_0x68e1c0){var _0x42f636={'raw':!![],'where':{}},_0x32e7b0={},_0xaeda0b;return db['MailQueue'][_0x7956('0x5a')]({'where':{'id':_0x2ec45f[_0x7956('0x49')]['id']}})[_0x7956('0x28')](handleEntityNotFound(_0x2472d5,null))['then'](function(_0x3889d7){if(_0x3889d7){_0xaeda0b=_0x3889d7[_0x7956('0x2a')]({'plain':!![]});_0x32e7b0['model']=_[_0x7956('0x37')](db['UserMailQueue'][_0x7956('0x4a')]);_0x32e7b0[_0x7956('0x36')]=_[_0x7956('0x37')](_0x2ec45f[_0x7956('0x36')]);_0x32e7b0['filters']=_[_0x7956('0x39')](_0x32e7b0[_0x7956('0x35')],_0x32e7b0[_0x7956('0x36')]);_0x42f636['attributes']=_[_0x7956('0x39')](_0x32e7b0[_0x7956('0x35')],qs[_0x7956('0x3b')](_0x2ec45f[_0x7956('0x36')][_0x7956('0x3b')]));_0x42f636[_0x7956('0x3a')]=_0x42f636['attributes']['length']?_0x42f636[_0x7956('0x3a')]:_0x32e7b0['model'];if(!_0x2ec45f[_0x7956('0x36')]['hasOwnProperty'](_0x7956('0x5b'))){_0x42f636[_0x7956('0x3c')]=qs[_0x7956('0x3c')](_0x2ec45f['query']['limit']);_0x42f636[_0x7956('0x20')]=qs[_0x7956('0x20')](_0x2ec45f[_0x7956('0x36')][_0x7956('0x20')]);}_0x42f636['order']=qs[_0x7956('0x3e')](_0x2ec45f[_0x7956('0x36')][_0x7956('0x3e')]);_0x42f636[_0x7956('0x3f')]=qs[_0x7956('0x38')](_[_0x7956('0x40')](_0x2ec45f[_0x7956('0x36')],_0x32e7b0['filters']));_0x42f636[_0x7956('0x3f')][_0x7956('0x5c')]=_0x3889d7['id'];if(_0x2ec45f[_0x7956('0x36')][_0x7956('0x43')]){_0x42f636[_0x7956('0x3f')]=_[_0x7956('0x41')](_0x42f636['where'],{'$or':_[_0x7956('0x31')](_0x42f636[_0x7956('0x3a')],function(_0x3ccf86){var _0x1b17a8={};_0x1b17a8[_0x3ccf86]={'$like':'%'+_0x2ec45f[_0x7956('0x36')][_0x7956('0x43')]+'%'};return _0x1b17a8;})});}_0x42f636=_[_0x7956('0x41')]({},_0x42f636,_0x2ec45f[_0x7956('0x4d')]);return db[_0x7956('0x5d')][_0x7956('0x45')](_0x42f636);}})[_0x7956('0x28')](function(_0x426471){if(_0x426471){return db['User'][_0x7956('0x5e')]({'where':{'id':_[_0x7956('0x31')](_0x426471,_0x7956('0x5f')),'role':_0x7956('0x60')},'attributes':['id',_0x7956('0x2e'),'mailPause','updatedAt','createdAt']});}})[_0x7956('0x28')](function(_0x1c323b){if(_0x1c323b){return{'count':_0x1c323b['count'],'rows':_['map'](_0x1c323b[_0x7956('0x46')],function(_0x4fe673){return{'membername':_0x4fe673['name'],'UserId':_0x4fe673['id'],'queue_name':_0xaeda0b[_0x7956('0x2e')],'MailQueueId':_0xaeda0b['id'],'interface':util['format'](_0x7956('0x61'),_0x7956('0x62'),_0x4fe673[_0x7956('0x2e')]),'penalty':0x0,'paused':_0x4fe673['mailPause'],'createdAt':_0x4fe673[_0x7956('0x63')],'updatedAt':_0x4fe673['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x2472d5,_0x42f636))[_0x7956('0x47')](handleError(_0x2472d5,null));};exports[_0x7956('0x64')]=function(_0x1bc829,_0x4aaa38,_0x3b6d45){var _0x2e9e77={};var _0x159e7c={};var _0xafdd6b;var _0x5ad972;return db[_0x7956('0x32')][_0x7956('0x5a')]({'where':{'id':_0x1bc829['params']['id']}})['then'](handleEntityNotFound(_0x4aaa38,null))[_0x7956('0x28')](function(_0x426497){if(_0x426497){_0xafdd6b=_0x426497;_0x159e7c[_0x7956('0x35')]=_[_0x7956('0x37')](db[_0x7956('0x65')][_0x7956('0x4a')]);_0x159e7c[_0x7956('0x36')]=_[_0x7956('0x37')](_0x1bc829[_0x7956('0x36')]);_0x159e7c['filters']=_[_0x7956('0x39')](_0x159e7c['model'],_0x159e7c[_0x7956('0x36')]);_0x2e9e77[_0x7956('0x3a')]=_['intersection'](_0x159e7c[_0x7956('0x35')],qs[_0x7956('0x3b')](_0x1bc829[_0x7956('0x36')][_0x7956('0x3b')]));_0x2e9e77[_0x7956('0x3a')]=_0x2e9e77[_0x7956('0x3a')][_0x7956('0x4b')]?_0x2e9e77[_0x7956('0x3a')]:_0x159e7c['model'];_0x2e9e77[_0x7956('0x3d')]=qs[_0x7956('0x3e')](_0x1bc829['query'][_0x7956('0x3e')]);_0x2e9e77[_0x7956('0x3f')]=qs['filters'](_[_0x7956('0x40')](_0x1bc829['query'],_0x159e7c[_0x7956('0x38')]));if(_0x1bc829[_0x7956('0x36')][_0x7956('0x43')]){_0x2e9e77['where']=_['merge'](_0x2e9e77[_0x7956('0x3f')],{'$or':_['map'](_0x2e9e77['attributes'],function(_0x14d91b){var _0x51b619={};_0x51b619[_0x14d91b]={'$like':'%'+_0x1bc829[_0x7956('0x36')]['filter']+'%'};return _0x51b619;})});}_0x2e9e77=_[_0x7956('0x41')]({},_0x2e9e77,_0x1bc829[_0x7956('0x4d')]);return _0xafdd6b['getTeams'](_0x2e9e77);}})[_0x7956('0x28')](function(_0xf38d8c){if(_0xf38d8c){_0x5ad972=_0xf38d8c['length'];if(!_0x1bc829['query']['hasOwnProperty'](_0x7956('0x5b'))){_0x2e9e77['limit']=qs['limit'](_0x1bc829[_0x7956('0x36')][_0x7956('0x3c')]);_0x2e9e77[_0x7956('0x20')]=qs[_0x7956('0x20')](_0x1bc829[_0x7956('0x36')]['offset']);}return _0xafdd6b[_0x7956('0x64')](_0x2e9e77);}})[_0x7956('0x28')](function(_0x32c332){if(_0x32c332){return _0x32c332?{'count':_0x5ad972,'rows':_0x32c332}:null;}})[_0x7956('0x28')](respondWithResult(_0x4aaa38,null))[_0x7956('0x47')](handleError(_0x4aaa38,null));};exports[_0x7956('0x66')]=function(_0x108da7,_0x45dc2a,_0x36e9a6){var _0x5358c1=_0x108da7[_0x7956('0x50')][_0x7956('0x67')];return db[_0x7956('0x65')][_0x7956('0x45')]({'where':{'id':_0x5358c1},'attributes':['id'],'include':[{'model':db[_0x7956('0x68')],'as':'Agents','attributes':['id',_0x7956('0x2e'),_0x7956('0x69'),_0x7956('0x6a'),_0x7956('0x6b')],'raw':!![]}]})['then'](function(_0x55aae1){if(_0x55aae1){var _0x1623a7=_[_0x7956('0x6c')](_0x55aae1,function(_0xae47eb){var _0x4ce5ed=_0xae47eb['get']({'plain':!![]});return _0x4ce5ed[_0x7956('0x6d')];});return db[_0x7956('0x32')][_0x7956('0x4e')]({'where':{'id':_0x108da7[_0x7956('0x49')]['id']}})['then'](function(_0x3e581a){return db[_0x7956('0x6e')][_0x7956('0x6f')](function(_0xfb7a3){return _0x3e581a[_0x7956('0x66')](_0x5358c1,{'transaction':_0xfb7a3})[_0x7956('0x28')](function(){return BPromise[_0x7956('0x70')](_0x1623a7,function(_0x476643){return db[_0x7956('0x5d')]['findOrCreate']({'where':{'UserId':_0x476643['id'],'MailQueueId':_0x108da7['params']['id']},'transaction':_0xfb7a3});});})[_0x7956('0x28')](function(){_0x1623a7[_0x7956('0x71')](function(_0x4868a0){socket[_0x7956('0x72')](_0x7956('0x73'),{'UserId':_0x4868a0['id'],'MailQueueId':_0x3e581a['id']});});});});});}})['then'](respondWithStatusCode(_0x45dc2a,null))[_0x7956('0x47')](handleError(_0x45dc2a,null));};exports['removeTeams']=function(_0x2b098c,_0x12d546,_0x4d738e){return db[_0x7956('0x65')]['findAll']({'where':{'id':_0x2b098c[_0x7956('0x36')]['ids']},'attributes':['id'],'include':[{'model':db[_0x7956('0x68')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x7956('0x28')](handleEntityNotFound(_0x12d546,null))['then'](function(_0x15afc0){var _0x332d82=_[_0x7956('0x31')](_0x15afc0,'id');var _0x288238=[];var _0x27c23d=[];var _0x561c8a=squel['select']();_0x561c8a[_0x7956('0x74')]('tq.TeamId')['from'](_0x7956('0x75'),'tq')[_0x7956('0x76')]('user_has_teams','ut',_0x7956('0x77'))['where'](_0x7956('0x78'),_0x2b098c[_0x7956('0x49')]['id']);for(var _0x1903fc=0x0;_0x1903fc<_0x15afc0[_0x7956('0x4b')];_0x1903fc+=0x1){let _0x1364bd=_0x15afc0[_0x1903fc];for(var _0xf50cce=0x0;_0xf50cce<_0x1364bd[_0x7956('0x6d')][_0x7956('0x4b')];_0xf50cce+=0x1){let _0x3ea2a4=_0x1364bd[_0x7956('0x6d')][_0xf50cce];var _0x54c491=_0x561c8a[_0x7956('0x79')]();_0x54c491['where'](_0x7956('0x7a'),_0x3ea2a4['id']);_0x27c23d[_0x7956('0x7b')](db[_0x7956('0x6e')][_0x7956('0x36')](_0x54c491[_0x7956('0x7c')](),{'type':db[_0x7956('0x6e')][_0x7956('0x7d')][_0x7956('0x7e')]})[_0x7956('0x28')](function(_0x3f6434){if(_0x3f6434[_0x7956('0x4b')]===0x1){return _0x3ea2a4['id'];}else{var _0x35886d=_[_0x7956('0x7f')](_['map'](_0x3f6434,_0x7956('0x80')),function(_0x2ea84e){return _['includes'](_0x332d82,_0x2ea84e);});if(_0x35886d){return _0x3ea2a4['id'];}}}));}}return BPromise[_0x7956('0x81')](_0x27c23d)[_0x7956('0x28')](function(_0x54063e){_0x288238=_(_0x288238)['union'](_0x54063e)['compact']()[_0x7956('0x82')]();return db['MailQueue'][_0x7956('0x4e')]({'where':{'id':_0x2b098c['params']['id']}})[_0x7956('0x28')](function(_0x564825){return db['sequelize'][_0x7956('0x6f')](function(_0x35ad81){return _0x564825['removeTeams'](_0x2b098c[_0x7956('0x36')]['ids'],{'transaction':_0x35ad81})[_0x7956('0x28')](function(){if(!_['isEmpty'](_0x288238)){return _0x564825['removeAgents'](_0x288238,{'transaction':_0x35ad81});}})['then'](function(){_0x288238[_0x7956('0x71')](function(_0x201955){socket['emit'](_0x7956('0x83'),{'UserId':_0x201955,'MailQueueId':_0x564825['id']});});});});});});})['then'](respondWithStatusCode(_0x12d546,null))['catch'](handleError(_0x12d546,null));};exports[_0x7956('0x84')]=function(_0x37abd9,_0x1b1713,_0x322a3a){return db[_0x7956('0x32')][_0x7956('0x4e')]({'where':{'id':_0x37abd9[_0x7956('0x49')]['id']}})[_0x7956('0x28')](handleEntityNotFound(_0x1b1713,null))[_0x7956('0x28')](function(_0x59a278){if(_0x59a278){return _0x59a278[_0x7956('0x84')](_0x37abd9[_0x7956('0x50')][_0x7956('0x67')],_['omit'](_0x37abd9[_0x7956('0x50')],['ids','id'])||{})[_0x7956('0x85')](function(_0x45be36){for(var _0xfa87e7=0x0;_0xfa87e7<_0x37abd9[_0x7956('0x50')][_0x7956('0x67')][_0x7956('0x4b')];_0xfa87e7+=0x1){socket[_0x7956('0x72')](_0x7956('0x73'),{'UserId':Number(_0x37abd9[_0x7956('0x50')][_0x7956('0x67')][_0xfa87e7]),'MailQueueId':Number(_0x37abd9[_0x7956('0x49')]['id'])});}return _0x45be36;});}})[_0x7956('0x28')](respondWithResult(_0x1b1713,null))[_0x7956('0x47')](handleError(_0x1b1713,null));};exports[_0x7956('0x86')]=function(_0x5e2fe3,_0x38b9da,_0x465145){return db[_0x7956('0x32')][_0x7956('0x4e')]({'where':{'id':_0x5e2fe3['params']['id']}})['then'](handleEntityNotFound(_0x38b9da,null))[_0x7956('0x28')](function(_0x26182c){if(_0x26182c){return _0x26182c[_0x7956('0x86')](_0x5e2fe3['query']['ids'])[_0x7956('0x28')](function(){if(_[_0x7956('0x87')](_0x5e2fe3[_0x7956('0x36')]['ids'])){for(var _0x1f20ef=0x0;_0x1f20ef<_0x5e2fe3[_0x7956('0x36')][_0x7956('0x67')][_0x7956('0x4b')];_0x1f20ef+=0x1){socket[_0x7956('0x72')](_0x7956('0x83'),{'UserId':Number(_0x5e2fe3[_0x7956('0x36')][_0x7956('0x67')][_0x1f20ef]),'MailQueueId':Number(_0x5e2fe3[_0x7956('0x49')]['id'])});}}else{socket[_0x7956('0x72')]('userMailQueue:remove',{'UserId':Number(_0x5e2fe3[_0x7956('0x36')][_0x7956('0x67')]),'MailQueueId':Number(_0x5e2fe3[_0x7956('0x49')]['id'])});}});}})[_0x7956('0x28')](respondWithStatusCode(_0x38b9da,null))['catch'](handleError(_0x38b9da,null));};exports['getAgents']=function(_0x1e453b,_0x524df5,_0xf51729){var _0x47c6c4={};var _0x97f2e8={};var _0xadf536;var _0x4c6b0e;return db[_0x7956('0x32')][_0x7956('0x5a')]({'where':{'id':_0x1e453b['params']['id']}})['then'](handleEntityNotFound(_0x524df5,null))[_0x7956('0x28')](function(_0x4eecfb){if(_0x4eecfb){_0xadf536=_0x4eecfb;_0x97f2e8[_0x7956('0x35')]=_[_0x7956('0x37')](db[_0x7956('0x68')]['rawAttributes']);_0x97f2e8[_0x7956('0x36')]=_[_0x7956('0x37')](_0x1e453b[_0x7956('0x36')]);_0x97f2e8[_0x7956('0x38')]=_[_0x7956('0x39')](_0x97f2e8['model'],_0x97f2e8[_0x7956('0x36')]);_0x47c6c4['attributes']=_[_0x7956('0x39')](_0x97f2e8['model'],qs[_0x7956('0x3b')](_0x1e453b[_0x7956('0x36')][_0x7956('0x3b')]));_0x47c6c4[_0x7956('0x3a')]=_0x47c6c4['attributes'][_0x7956('0x4b')]?_0x47c6c4[_0x7956('0x3a')]:_0x97f2e8[_0x7956('0x35')];_0x47c6c4[_0x7956('0x3d')]=qs[_0x7956('0x3e')](_0x1e453b[_0x7956('0x36')][_0x7956('0x3e')]);_0x47c6c4[_0x7956('0x3f')]=qs[_0x7956('0x38')](_['pick'](_0x1e453b[_0x7956('0x36')],_0x97f2e8[_0x7956('0x38')]));if(_0x1e453b[_0x7956('0x36')]['filter']){_0x47c6c4['where']=_[_0x7956('0x41')](_0x47c6c4['where'],{'$or':_[_0x7956('0x31')](_0x47c6c4[_0x7956('0x3a')],function(_0x4c5ff6){var _0x27bc5e={};_0x27bc5e[_0x4c5ff6]={'$like':'%'+_0x1e453b['query']['filter']+'%'};return _0x27bc5e;})});}_0x47c6c4=_[_0x7956('0x41')]({},_0x47c6c4,_0x1e453b[_0x7956('0x4d')]);return _0xadf536['getAgents'](_0x47c6c4);}})[_0x7956('0x28')](function(_0x4e559b){if(_0x4e559b){_0x4c6b0e=_0x4e559b[_0x7956('0x4b')];if(!_0x1e453b[_0x7956('0x36')][_0x7956('0x88')](_0x7956('0x5b'))){_0x47c6c4[_0x7956('0x3c')]=qs[_0x7956('0x3c')](_0x1e453b[_0x7956('0x36')][_0x7956('0x3c')]);_0x47c6c4[_0x7956('0x20')]=qs[_0x7956('0x20')](_0x1e453b['query']['offset']);}return _0xadf536[_0x7956('0x89')](_0x47c6c4);}})[_0x7956('0x28')](function(_0x16e214){if(_0x16e214){return _0x16e214?{'count':_0x4c6b0e,'rows':_0x16e214}:null;}})[_0x7956('0x28')](respondWithResult(_0x524df5,null))[_0x7956('0x47')](handleError(_0x524df5,null));};