3f5a43f8b69287bf43593de0b223edd3c7ebe424
[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 _0x49aa=['autoAssociation','body','describe','getMembers','UserMailQueue','nolimit','User','findAndCountAll','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','findOne','getTeams','addTeams','ids','Team','Agents','online','interface','transaction','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','select','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','clone','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','TeamId','all','union','compact','value','sequelize','removeAgents','userMailQueue:remove','addAgents','omit','spread','getAgents','eml-format','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','localhost','socket.io-emitter','register','sendStatus','end','json','undefined','limit','count','offset','status','set','Content-Range','apply','reject','update','then','destroy','get','UserProfileResource','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','user','role','UserProfileSection','userProfileId'];(function(_0x3752ed,_0x33519d){var _0x4625de=function(_0x1d213e){while(--_0x1d213e){_0x3752ed['push'](_0x3752ed['shift']());}};_0x4625de(++_0x33519d);}(_0x49aa,0x1dd));var _0xa49a=function(_0x192af5,_0x7dbb79){_0x192af5=_0x192af5-0x0;var _0x1a51f3=_0x49aa[_0x192af5];return _0x1a51f3;};'use strict';var emlformat=require(_0xa49a('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xa49a('0x1'));var moment=require(_0xa49a('0x2'));var BPromise=require(_0xa49a('0x3'));var Mustache=require(_0xa49a('0x4'));var util=require(_0xa49a('0x5'));var path=require(_0xa49a('0x6'));var sox=require(_0xa49a('0x7'));var csv=require(_0xa49a('0x8'));var ejs=require(_0xa49a('0x9'));var fs=require('fs');var fs_extra=require(_0xa49a('0xa'));var _=require(_0xa49a('0xb'));var squel=require(_0xa49a('0xc'));var crypto=require(_0xa49a('0xd'));var jsforce=require(_0xa49a('0xe'));var deskjs=require(_0xa49a('0xf'));var toCsv=require(_0xa49a('0x8'));var querystring=require(_0xa49a('0x10'));var Papa=require(_0xa49a('0x11'));var Redis=require(_0xa49a('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xa49a('0x13'));var as=require(_0xa49a('0x14'));var hardwareService=require(_0xa49a('0x15'));var logger=require(_0xa49a('0x16'))(_0xa49a('0x17'));var utils=require(_0xa49a('0x18'));var config=require(_0xa49a('0x19'));var licenseUtil=require(_0xa49a('0x1a'));var db=require('../../mysqldb')['db'];config[_0xa49a('0x1b')]=_['defaults'](config[_0xa49a('0x1b')],{'host':_0xa49a('0x1c'),'port':0x18eb});var socket=require(_0xa49a('0x1d'))(new Redis(config['redis']));require('./mailQueue.socket')[_0xa49a('0x1e')](socket);function respondWithStatusCode(_0x29fd28,_0xfbcd57){_0xfbcd57=_0xfbcd57||0xcc;return function(_0x1817f8){if(_0x1817f8){return _0x29fd28[_0xa49a('0x1f')](_0xfbcd57);}return _0x29fd28['status'](_0xfbcd57)[_0xa49a('0x20')]();};}function respondWithResult(_0x46cfe0,_0x101d34){_0x101d34=_0x101d34||0xc8;return function(_0x2767b3){if(_0x2767b3){return _0x46cfe0['status'](_0x101d34)[_0xa49a('0x21')](_0x2767b3);}};}function respondWithFilteredResult(_0x37fb6e,_0x4964f3){return function(_0x50705e){if(_0x50705e){var _0x432b9a=typeof _0x4964f3['offset']===_0xa49a('0x22')&&typeof _0x4964f3[_0xa49a('0x23')]===_0xa49a('0x22');var _0x4e131c=_0x50705e[_0xa49a('0x24')];var _0x355751=_0x432b9a?0x0:_0x4964f3[_0xa49a('0x25')];var _0x38ecc9=_0x432b9a?_0x50705e[_0xa49a('0x24')]:_0x4964f3['offset']+_0x4964f3['limit'];var _0xa1e492;if(_0x38ecc9>=_0x4e131c){_0x38ecc9=_0x4e131c;_0xa1e492=0xc8;}else{_0xa1e492=0xce;}_0x37fb6e[_0xa49a('0x26')](_0xa1e492);return _0x37fb6e[_0xa49a('0x27')](_0xa49a('0x28'),_0x355751+'-'+_0x38ecc9+'/'+_0x4e131c)['json'](_0x50705e);}return null;};}function patchUpdates(_0x3ec0a9){return function(_0x740d73){try{jsonpatch[_0xa49a('0x29')](_0x740d73,_0x3ec0a9,!![]);}catch(_0x20c234){return BPromise[_0xa49a('0x2a')](_0x20c234);}return _0x740d73['save']();};}function saveUpdates(_0x5ad2d8,_0x6bf7f){return function(_0x4c5224){if(_0x4c5224){return _0x4c5224[_0xa49a('0x2b')](_0x5ad2d8)[_0xa49a('0x2c')](function(_0x2c1f8b){return _0x2c1f8b;});}return null;};}function removeEntity(_0x3f068c,_0x54bdea){return function(_0x4dc5d2){if(_0x4dc5d2){return _0x4dc5d2[_0xa49a('0x2d')]()[_0xa49a('0x2c')](function(){var _0x231727=_0x4dc5d2[_0xa49a('0x2e')]({'plain':!![]});var _0x31ebc5='MailQueues';return db[_0xa49a('0x2f')][_0xa49a('0x2d')]({'where':{'type':_0x31ebc5,'resourceId':_0x231727['id']}})[_0xa49a('0x2c')](function(){return _0x4dc5d2;});})[_0xa49a('0x2c')](function(){_0x3f068c[_0xa49a('0x26')](0xcc)[_0xa49a('0x20')]();});}};}function handleEntityNotFound(_0x29f662,_0x52a9b5){return function(_0x16abc0){if(!_0x16abc0){_0x29f662[_0xa49a('0x1f')](0x194);}return _0x16abc0;};}function handleError(_0xe379c2,_0x138779){_0x138779=_0x138779||0x1f4;return function(_0x5e160e){logger['error'](_0x5e160e[_0xa49a('0x30')]);if(_0x5e160e[_0xa49a('0x31')]){delete _0x5e160e[_0xa49a('0x31')];}_0xe379c2['status'](_0x138779)[_0xa49a('0x32')](_0x5e160e);};}exports[_0xa49a('0x33')]=function(_0x4345e1,_0x523ad2){var _0x34006a={},_0x3d3b1e={},_0x5d0985={'count':0x0,'rows':[]};var _0x5e9134=_[_0xa49a('0x34')](db[_0xa49a('0x35')][_0xa49a('0x36')],function(_0x3be02b){return{'name':_0x3be02b[_0xa49a('0x37')],'type':_0x3be02b[_0xa49a('0x38')][_0xa49a('0x39')]};});_0x3d3b1e[_0xa49a('0x3a')]=_[_0xa49a('0x34')](_0x5e9134,'name');_0x3d3b1e[_0xa49a('0x3b')]=_[_0xa49a('0x3c')](_0x4345e1[_0xa49a('0x3b')]);_0x3d3b1e[_0xa49a('0x3d')]=_[_0xa49a('0x3e')](_0x3d3b1e['model'],_0x3d3b1e[_0xa49a('0x3b')]);_0x34006a[_0xa49a('0x3f')]=_[_0xa49a('0x3e')](_0x3d3b1e[_0xa49a('0x3a')],qs[_0xa49a('0x40')](_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x40')]));_0x34006a[_0xa49a('0x3f')]=_0x34006a[_0xa49a('0x3f')][_0xa49a('0x41')]?_0x34006a[_0xa49a('0x3f')]:_0x3d3b1e[_0xa49a('0x3a')];if(!_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x42')]('nolimit')){_0x34006a[_0xa49a('0x23')]=qs[_0xa49a('0x23')](_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x23')]);_0x34006a[_0xa49a('0x25')]=qs[_0xa49a('0x25')](_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x25')]);}_0x34006a[_0xa49a('0x43')]=qs[_0xa49a('0x44')](_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x44')]);_0x34006a[_0xa49a('0x45')]=qs['filters'](_[_0xa49a('0x46')](_0x4345e1[_0xa49a('0x3b')],_0x3d3b1e[_0xa49a('0x3d')]),_0x5e9134);if(_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x47')]){_0x34006a[_0xa49a('0x45')]=_[_0xa49a('0x48')](_0x34006a[_0xa49a('0x45')],{'$or':_[_0xa49a('0x34')](_0x5e9134,function(_0x18dfbb){if(_0x18dfbb['type']!=='VIRTUAL'){var _0x5050c8={};_0x5050c8[_0x18dfbb[_0xa49a('0x31')]]={'$like':'%'+_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x47')]+'%'};return _0x5050c8;}})});}_0x34006a=_[_0xa49a('0x48')]({},_0x34006a,_0x4345e1[_0xa49a('0x49')]);var _0x1613a5={'where':_0x34006a[_0xa49a('0x45')]};return db[_0xa49a('0x35')]['count'](_0x1613a5)[_0xa49a('0x2c')](function(_0x2d5c55){_0x5d0985[_0xa49a('0x24')]=_0x2d5c55;if(_0x4345e1[_0xa49a('0x3b')][_0xa49a('0x4a')]){_0x34006a[_0xa49a('0x4b')]=[{'all':!![]}];}return db[_0xa49a('0x35')][_0xa49a('0x4c')](_0x34006a);})['then'](function(_0x369598){_0x5d0985[_0xa49a('0x4d')]=_0x369598;return _0x5d0985;})[_0xa49a('0x2c')](respondWithFilteredResult(_0x523ad2,_0x34006a))[_0xa49a('0x4e')](handleError(_0x523ad2,null));};exports[_0xa49a('0x4f')]=function(_0x5d6565,_0x378bcb){var _0x2c4f9a={'raw':!![],'where':{'id':_0x5d6565[_0xa49a('0x50')]['id']}},_0x4e4663={};_0x4e4663[_0xa49a('0x3a')]=_[_0xa49a('0x3c')](db[_0xa49a('0x35')][_0xa49a('0x36')]);_0x4e4663[_0xa49a('0x3b')]=_['keys'](_0x5d6565[_0xa49a('0x3b')]);_0x4e4663['filters']=_[_0xa49a('0x3e')](_0x4e4663[_0xa49a('0x3a')],_0x4e4663[_0xa49a('0x3b')]);_0x2c4f9a['attributes']=_[_0xa49a('0x3e')](_0x4e4663[_0xa49a('0x3a')],qs['fields'](_0x5d6565[_0xa49a('0x3b')][_0xa49a('0x40')]));_0x2c4f9a[_0xa49a('0x3f')]=_0x2c4f9a['attributes']['length']?_0x2c4f9a['attributes']:_0x4e4663['model'];if(_0x5d6565[_0xa49a('0x3b')][_0xa49a('0x4a')]){_0x2c4f9a['include']=[{'all':!![]}];}_0x2c4f9a=_[_0xa49a('0x48')]({},_0x2c4f9a,_0x5d6565['options']);return db[_0xa49a('0x35')][_0xa49a('0x51')](_0x2c4f9a)[_0xa49a('0x2c')](handleEntityNotFound(_0x378bcb,null))[_0xa49a('0x2c')](respondWithResult(_0x378bcb,null))['catch'](handleError(_0x378bcb,null));};exports[_0xa49a('0x52')]=function(_0x19796c,_0x2aa97c){return db['MailQueue'][_0xa49a('0x52')](_0x19796c['body'],{})['then'](function(_0x58a0a9){var _0x4e6bf2=_0x19796c[_0xa49a('0x53')][_0xa49a('0x2e')]({'plain':!![]});if(!_0x4e6bf2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4e6bf2[_0xa49a('0x54')]===_0xa49a('0x53')){var _0x1d76df=_0x58a0a9[_0xa49a('0x2e')]({'plain':!![]});var _0x269375='MailQueues';return db[_0xa49a('0x55')][_0xa49a('0x51')]({'where':{'name':_0x269375,'userProfileId':_0x4e6bf2[_0xa49a('0x56')]},'raw':!![]})['then'](function(_0x30ad80){if(_0x30ad80&&_0x30ad80[_0xa49a('0x57')]===0x0){return db[_0xa49a('0x2f')][_0xa49a('0x52')]({'name':_0x1d76df[_0xa49a('0x31')],'resourceId':_0x1d76df['id'],'type':_0x30ad80[_0xa49a('0x31')],'sectionId':_0x30ad80['id']},{})[_0xa49a('0x2c')](function(){return _0x58a0a9;});}else{return _0x58a0a9;}})['catch'](function(_0x3e462){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3e462);throw _0x3e462;});}return _0x58a0a9;})[_0xa49a('0x2c')](respondWithResult(_0x2aa97c,0xc9))[_0xa49a('0x4e')](handleError(_0x2aa97c,null));};exports[_0xa49a('0x2b')]=function(_0x3f21a1,_0x230c10){if(_0x3f21a1[_0xa49a('0x58')]['id']){delete _0x3f21a1[_0xa49a('0x58')]['id'];}return db[_0xa49a('0x35')]['find']({'where':{'id':_0x3f21a1[_0xa49a('0x50')]['id']}})[_0xa49a('0x2c')](handleEntityNotFound(_0x230c10,null))[_0xa49a('0x2c')](saveUpdates(_0x3f21a1[_0xa49a('0x58')],null))['then'](respondWithResult(_0x230c10,null))[_0xa49a('0x4e')](handleError(_0x230c10,null));};exports['destroy']=function(_0x5a22d4,_0x4c2c0e){return db[_0xa49a('0x35')][_0xa49a('0x51')]({'where':{'id':_0x5a22d4[_0xa49a('0x50')]['id']}})['then'](handleEntityNotFound(_0x4c2c0e,null))[_0xa49a('0x2c')](removeEntity(_0x4c2c0e,null))[_0xa49a('0x4e')](handleError(_0x4c2c0e,null));};exports[_0xa49a('0x59')]=function(_0x3026c5,_0x478a15){return db[_0xa49a('0x35')][_0xa49a('0x59')]()[_0xa49a('0x2c')](respondWithResult(_0x478a15,null))[_0xa49a('0x4e')](handleError(_0x478a15,null));};exports[_0xa49a('0x5a')]=function(_0x41cf06,_0x230f18,_0x6edfd8){var _0x10131b={'raw':!![],'where':{}},_0xe679aa={},_0x3310dd;return db[_0xa49a('0x35')]['findOne']({'where':{'id':_0x41cf06['params']['id']}})['then'](handleEntityNotFound(_0x230f18,null))[_0xa49a('0x2c')](function(_0x8b6491){if(_0x8b6491){_0x3310dd=_0x8b6491['get']({'plain':!![]});_0xe679aa[_0xa49a('0x3a')]=_[_0xa49a('0x3c')](db[_0xa49a('0x5b')][_0xa49a('0x36')]);_0xe679aa['query']=_['keys'](_0x41cf06[_0xa49a('0x3b')]);_0xe679aa[_0xa49a('0x3d')]=_[_0xa49a('0x3e')](_0xe679aa['model'],_0xe679aa[_0xa49a('0x3b')]);_0x10131b['attributes']=_[_0xa49a('0x3e')](_0xe679aa[_0xa49a('0x3a')],qs[_0xa49a('0x40')](_0x41cf06[_0xa49a('0x3b')][_0xa49a('0x40')]));_0x10131b[_0xa49a('0x3f')]=_0x10131b[_0xa49a('0x3f')][_0xa49a('0x41')]?_0x10131b[_0xa49a('0x3f')]:_0xe679aa[_0xa49a('0x3a')];if(!_0x41cf06[_0xa49a('0x3b')][_0xa49a('0x42')](_0xa49a('0x5c'))){_0x10131b['limit']=qs[_0xa49a('0x23')](_0x41cf06[_0xa49a('0x3b')][_0xa49a('0x23')]);_0x10131b['offset']=qs[_0xa49a('0x25')](_0x41cf06[_0xa49a('0x3b')][_0xa49a('0x25')]);}_0x10131b['order']=qs[_0xa49a('0x44')](_0x41cf06[_0xa49a('0x3b')]['sort']);_0x10131b[_0xa49a('0x45')]=qs[_0xa49a('0x3d')](_['pick'](_0x41cf06[_0xa49a('0x3b')],_0xe679aa['filters']));_0x10131b[_0xa49a('0x45')]['MailQueueId']=_0x8b6491['id'];if(_0x41cf06[_0xa49a('0x3b')][_0xa49a('0x47')]){_0x10131b['where']=_[_0xa49a('0x48')](_0x10131b['where'],{'$or':_['map'](_0x10131b[_0xa49a('0x3f')],function(_0x152534){var _0x2a349a={};_0x2a349a[_0x152534]={'$like':'%'+_0x41cf06[_0xa49a('0x3b')][_0xa49a('0x47')]+'%'};return _0x2a349a;})});}_0x10131b=_['merge']({},_0x10131b,_0x41cf06[_0xa49a('0x49')]);return db[_0xa49a('0x5b')][_0xa49a('0x4c')](_0x10131b);}})[_0xa49a('0x2c')](function(_0x42b9ec){if(_0x42b9ec){return db[_0xa49a('0x5d')][_0xa49a('0x5e')]({'where':{'id':_[_0xa49a('0x34')](_0x42b9ec,'UserId'),'role':_0xa49a('0x5f')},'attributes':['id','name',_0xa49a('0x60'),_0xa49a('0x61'),_0xa49a('0x62')]});}})['then'](function(_0x4ad94e){if(_0x4ad94e){return{'count':_0x4ad94e[_0xa49a('0x24')],'rows':_['map'](_0x4ad94e[_0xa49a('0x4d')],function(_0x5172ab){return{'membername':_0x5172ab['name'],'UserId':_0x5172ab['id'],'queue_name':_0x3310dd['name'],'MailQueueId':_0x3310dd['id'],'interface':util[_0xa49a('0x63')](_0xa49a('0x64'),_0xa49a('0x65'),_0x5172ab[_0xa49a('0x31')]),'penalty':0x0,'paused':_0x5172ab[_0xa49a('0x60')],'createdAt':_0x5172ab[_0xa49a('0x62')],'updatedAt':_0x5172ab['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xa49a('0x2c')](respondWithFilteredResult(_0x230f18,_0x10131b))[_0xa49a('0x4e')](handleError(_0x230f18,null));};exports['getTeams']=function(_0x1ffcb1,_0x57d3b0,_0x4e8a97){var _0x50a387={};var _0x25132a={};var _0x14ecb4;var _0x44ef89;return db[_0xa49a('0x35')][_0xa49a('0x66')]({'where':{'id':_0x1ffcb1[_0xa49a('0x50')]['id']}})[_0xa49a('0x2c')](handleEntityNotFound(_0x57d3b0,null))[_0xa49a('0x2c')](function(_0x43f741){if(_0x43f741){_0x14ecb4=_0x43f741;_0x25132a[_0xa49a('0x3a')]=_[_0xa49a('0x3c')](db['Team'][_0xa49a('0x36')]);_0x25132a['query']=_[_0xa49a('0x3c')](_0x1ffcb1['query']);_0x25132a[_0xa49a('0x3d')]=_[_0xa49a('0x3e')](_0x25132a['model'],_0x25132a[_0xa49a('0x3b')]);_0x50a387['attributes']=_[_0xa49a('0x3e')](_0x25132a['model'],qs[_0xa49a('0x40')](_0x1ffcb1['query'][_0xa49a('0x40')]));_0x50a387[_0xa49a('0x3f')]=_0x50a387['attributes']['length']?_0x50a387[_0xa49a('0x3f')]:_0x25132a[_0xa49a('0x3a')];_0x50a387['order']=qs[_0xa49a('0x44')](_0x1ffcb1[_0xa49a('0x3b')][_0xa49a('0x44')]);_0x50a387[_0xa49a('0x45')]=qs['filters'](_[_0xa49a('0x46')](_0x1ffcb1['query'],_0x25132a[_0xa49a('0x3d')]));if(_0x1ffcb1[_0xa49a('0x3b')]['filter']){_0x50a387['where']=_[_0xa49a('0x48')](_0x50a387['where'],{'$or':_[_0xa49a('0x34')](_0x50a387['attributes'],function(_0x43f311){var _0x403c4d={};_0x403c4d[_0x43f311]={'$like':'%'+_0x1ffcb1[_0xa49a('0x3b')][_0xa49a('0x47')]+'%'};return _0x403c4d;})});}_0x50a387=_['merge']({},_0x50a387,_0x1ffcb1[_0xa49a('0x49')]);return _0x14ecb4[_0xa49a('0x67')](_0x50a387);}})[_0xa49a('0x2c')](function(_0x1c1a24){if(_0x1c1a24){_0x44ef89=_0x1c1a24[_0xa49a('0x41')];if(!_0x1ffcb1[_0xa49a('0x3b')][_0xa49a('0x42')](_0xa49a('0x5c'))){_0x50a387['limit']=qs[_0xa49a('0x23')](_0x1ffcb1[_0xa49a('0x3b')]['limit']);_0x50a387['offset']=qs[_0xa49a('0x25')](_0x1ffcb1['query'][_0xa49a('0x25')]);}return _0x14ecb4['getTeams'](_0x50a387);}})['then'](function(_0x340c6f){if(_0x340c6f){return _0x340c6f?{'count':_0x44ef89,'rows':_0x340c6f}:null;}})['then'](respondWithResult(_0x57d3b0,null))[_0xa49a('0x4e')](handleError(_0x57d3b0,null));};exports[_0xa49a('0x68')]=function(_0x3fc533,_0x12b545,_0x5eceed){var _0x400dd2=_0x3fc533[_0xa49a('0x58')][_0xa49a('0x69')];return db[_0xa49a('0x6a')][_0xa49a('0x4c')]({'where':{'id':_0x400dd2},'attributes':['id'],'include':[{'model':db[_0xa49a('0x5d')],'as':_0xa49a('0x6b'),'attributes':['id',_0xa49a('0x31'),_0xa49a('0x6c'),'voicePause',_0xa49a('0x6d')],'raw':!![]}]})[_0xa49a('0x2c')](function(_0x4f9d44){if(_0x4f9d44){var _0x1903f1=_['flatMap'](_0x4f9d44,function(_0x1a83d0){var _0x59961c=_0x1a83d0[_0xa49a('0x2e')]({'plain':!![]});return _0x59961c[_0xa49a('0x6b')];});return db[_0xa49a('0x35')][_0xa49a('0x51')]({'where':{'id':_0x3fc533['params']['id']}})[_0xa49a('0x2c')](function(_0xea319c){return db['sequelize'][_0xa49a('0x6e')](function(_0x321ff0){return _0xea319c[_0xa49a('0x68')](_0x400dd2,{'transaction':_0x321ff0})[_0xa49a('0x2c')](function(){return BPromise[_0xa49a('0x6f')](_0x1903f1,function(_0x570292){return db[_0xa49a('0x5b')][_0xa49a('0x70')]({'where':{'UserId':_0x570292['id'],'MailQueueId':_0x3fc533[_0xa49a('0x50')]['id']},'transaction':_0x321ff0});});})[_0xa49a('0x2c')](function(){_0x1903f1[_0xa49a('0x71')](function(_0x587340){socket[_0xa49a('0x72')](_0xa49a('0x73'),{'UserId':_0x587340['id'],'MailQueueId':_0xea319c['id']});});});});});}})[_0xa49a('0x2c')](respondWithStatusCode(_0x12b545,null))['catch'](handleError(_0x12b545,null));};exports[_0xa49a('0x74')]=function(_0x534f4e,_0x35eee6,_0x38e708){return db[_0xa49a('0x6a')]['findAll']({'where':{'id':_0x534f4e[_0xa49a('0x3b')][_0xa49a('0x69')]},'attributes':['id'],'include':[{'model':db[_0xa49a('0x5d')],'as':_0xa49a('0x6b'),'attributes':['id'],'raw':!![]}]})[_0xa49a('0x2c')](handleEntityNotFound(_0x35eee6,null))[_0xa49a('0x2c')](function(_0x1eefbd){var _0x27b57f=_[_0xa49a('0x34')](_0x1eefbd,'id');var _0x5c3bb3=[];var _0x258d1a=[];var _0x23274e=squel[_0xa49a('0x75')]();_0x23274e['field'](_0xa49a('0x76'))[_0xa49a('0x77')](_0xa49a('0x78'),'tq')[_0xa49a('0x79')](_0xa49a('0x7a'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xa49a('0x45')]('MailQueueId\x20=\x20?',_0x534f4e[_0xa49a('0x50')]['id']);for(var _0x4b3eca=0x0;_0x4b3eca<_0x1eefbd['length'];_0x4b3eca+=0x1){let _0x97e53f=_0x1eefbd[_0x4b3eca];for(var _0x460b7c=0x0;_0x460b7c<_0x97e53f['Agents'][_0xa49a('0x41')];_0x460b7c+=0x1){let _0x22ba26=_0x97e53f[_0xa49a('0x6b')][_0x460b7c];var _0x434481=_0x23274e[_0xa49a('0x7b')]();_0x434481[_0xa49a('0x45')](_0xa49a('0x7c'),_0x22ba26['id']);_0x258d1a[_0xa49a('0x7d')](db['sequelize'][_0xa49a('0x3b')](_0x434481['toString'](),{'type':db['sequelize'][_0xa49a('0x7e')][_0xa49a('0x7f')]})[_0xa49a('0x2c')](function(_0x2bef10){if(_0x2bef10[_0xa49a('0x41')]===0x1){return _0x22ba26['id'];}else{var _0x32c60c=_[_0xa49a('0x80')](_['map'](_0x2bef10,_0xa49a('0x81')),function(_0x140059){return _['includes'](_0x27b57f,_0x140059);});if(_0x32c60c){return _0x22ba26['id'];}}}));}}return BPromise[_0xa49a('0x82')](_0x258d1a)[_0xa49a('0x2c')](function(_0x2c4fb4){_0x5c3bb3=_(_0x5c3bb3)[_0xa49a('0x83')](_0x2c4fb4)[_0xa49a('0x84')]()[_0xa49a('0x85')]();return db[_0xa49a('0x35')][_0xa49a('0x51')]({'where':{'id':_0x534f4e[_0xa49a('0x50')]['id']}})[_0xa49a('0x2c')](function(_0x1804c4){return db[_0xa49a('0x86')][_0xa49a('0x6e')](function(_0x3b2780){return _0x1804c4['removeTeams'](_0x534f4e[_0xa49a('0x3b')][_0xa49a('0x69')],{'transaction':_0x3b2780})[_0xa49a('0x2c')](function(){if(!_['isEmpty'](_0x5c3bb3)){return _0x1804c4[_0xa49a('0x87')](_0x5c3bb3,{'transaction':_0x3b2780});}})[_0xa49a('0x2c')](function(){_0x5c3bb3[_0xa49a('0x71')](function(_0x43b054){socket['emit'](_0xa49a('0x88'),{'UserId':_0x43b054,'MailQueueId':_0x1804c4['id']});});});});});});})[_0xa49a('0x2c')](respondWithStatusCode(_0x35eee6,null))[_0xa49a('0x4e')](handleError(_0x35eee6,null));};exports[_0xa49a('0x89')]=function(_0x1773c8,_0x27e007,_0x8ea699){return db[_0xa49a('0x35')]['find']({'where':{'id':_0x1773c8[_0xa49a('0x50')]['id']}})[_0xa49a('0x2c')](handleEntityNotFound(_0x27e007,null))[_0xa49a('0x2c')](function(_0x30a1c5){if(_0x30a1c5){return _0x30a1c5['addAgents'](_0x1773c8['body'][_0xa49a('0x69')],_[_0xa49a('0x8a')](_0x1773c8[_0xa49a('0x58')],[_0xa49a('0x69'),'id'])||{})[_0xa49a('0x8b')](function(_0x279f5f){for(var _0x5750ed=0x0;_0x5750ed<_0x1773c8['body'][_0xa49a('0x69')][_0xa49a('0x41')];_0x5750ed+=0x1){socket[_0xa49a('0x72')](_0xa49a('0x73'),{'UserId':_0x1773c8[_0xa49a('0x58')]['ids'][_0x5750ed],'MailQueueId':_0x1773c8[_0xa49a('0x50')]['id']});}return _0x279f5f;});}})[_0xa49a('0x2c')](respondWithResult(_0x27e007,null))[_0xa49a('0x4e')](handleError(_0x27e007,null));};exports[_0xa49a('0x87')]=function(_0x19db5e,_0x2b8f46,_0x1430cb){return db[_0xa49a('0x35')][_0xa49a('0x51')]({'where':{'id':_0x19db5e['params']['id']}})[_0xa49a('0x2c')](handleEntityNotFound(_0x2b8f46,null))['then'](function(_0x7328ba){if(_0x7328ba){return _0x7328ba[_0xa49a('0x87')](_0x19db5e['query'][_0xa49a('0x69')])[_0xa49a('0x2c')](function(){if(_['isArray'](_0x19db5e['query'][_0xa49a('0x69')])){for(var _0x380ea8=0x0;_0x380ea8<_0x19db5e[_0xa49a('0x3b')][_0xa49a('0x69')][_0xa49a('0x41')];_0x380ea8+=0x1){socket[_0xa49a('0x72')](_0xa49a('0x88'),{'UserId':Number(_0x19db5e[_0xa49a('0x3b')]['ids'][_0x380ea8]),'MailQueueId':Number(_0x19db5e[_0xa49a('0x50')]['id'])});}}else{socket[_0xa49a('0x72')]('userMailQueue:remove',{'UserId':Number(_0x19db5e[_0xa49a('0x3b')][_0xa49a('0x69')]),'MailQueueId':Number(_0x19db5e[_0xa49a('0x50')]['id'])});}});}})[_0xa49a('0x2c')](respondWithStatusCode(_0x2b8f46,null))[_0xa49a('0x4e')](handleError(_0x2b8f46,null));};exports[_0xa49a('0x8c')]=function(_0x49c1ac,_0x3ca615,_0x10c3ed){var _0x666c76={};var _0x5a2936={};var _0x58b1f7;var _0x13153e;return db[_0xa49a('0x35')][_0xa49a('0x66')]({'where':{'id':_0x49c1ac['params']['id']}})['then'](handleEntityNotFound(_0x3ca615,null))[_0xa49a('0x2c')](function(_0x40636b){if(_0x40636b){_0x58b1f7=_0x40636b;_0x5a2936[_0xa49a('0x3a')]=_[_0xa49a('0x3c')](db[_0xa49a('0x5d')][_0xa49a('0x36')]);_0x5a2936[_0xa49a('0x3b')]=_['keys'](_0x49c1ac[_0xa49a('0x3b')]);_0x5a2936[_0xa49a('0x3d')]=_['intersection'](_0x5a2936['model'],_0x5a2936[_0xa49a('0x3b')]);_0x666c76[_0xa49a('0x3f')]=_[_0xa49a('0x3e')](_0x5a2936[_0xa49a('0x3a')],qs['fields'](_0x49c1ac[_0xa49a('0x3b')][_0xa49a('0x40')]));_0x666c76[_0xa49a('0x3f')]=_0x666c76[_0xa49a('0x3f')][_0xa49a('0x41')]?_0x666c76[_0xa49a('0x3f')]:_0x5a2936['model'];_0x666c76[_0xa49a('0x43')]=qs[_0xa49a('0x44')](_0x49c1ac[_0xa49a('0x3b')]['sort']);_0x666c76[_0xa49a('0x45')]=qs[_0xa49a('0x3d')](_[_0xa49a('0x46')](_0x49c1ac[_0xa49a('0x3b')],_0x5a2936[_0xa49a('0x3d')]));if(_0x49c1ac[_0xa49a('0x3b')][_0xa49a('0x47')]){_0x666c76['where']=_['merge'](_0x666c76[_0xa49a('0x45')],{'$or':_[_0xa49a('0x34')](_0x666c76[_0xa49a('0x3f')],function(_0x1c430f){var _0x484318={};_0x484318[_0x1c430f]={'$like':'%'+_0x49c1ac['query'][_0xa49a('0x47')]+'%'};return _0x484318;})});}_0x666c76=_['merge']({},_0x666c76,_0x49c1ac[_0xa49a('0x49')]);return _0x58b1f7['getAgents'](_0x666c76);}})[_0xa49a('0x2c')](function(_0x569e27){if(_0x569e27){_0x13153e=_0x569e27['length'];if(!_0x49c1ac['query'][_0xa49a('0x42')](_0xa49a('0x5c'))){_0x666c76[_0xa49a('0x23')]=qs[_0xa49a('0x23')](_0x49c1ac[_0xa49a('0x3b')][_0xa49a('0x23')]);_0x666c76[_0xa49a('0x25')]=qs[_0xa49a('0x25')](_0x49c1ac[_0xa49a('0x3b')]['offset']);}return _0x58b1f7[_0xa49a('0x8c')](_0x666c76);}})['then'](function(_0x435ef2){if(_0x435ef2){return _0x435ef2?{'count':_0x13153e,'rows':_0x435ef2}:null;}})['then'](respondWithResult(_0x3ca615,null))['catch'](handleError(_0x3ca615,null));};