7e8da33182594a5dea61b1b89ec17db16eabca2c
[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 _0xfe9d=['rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','to-csv','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','./mailQueue.socket','register','status','json','count','limit','Content-Range','reject','save','update','then','get','MailQueues','end','sendStatus','error','stack','name','send','map','MailQueue','rawAttributes','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','nolimit','offset','sort','where','pick','merge','VIRTUAL','filter','options','includeAll','rows','include','find','catch','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','destroy','findOne','UserMailQueue','MailQueueId','findAll','User','findAndCountAll','agent','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','online','voicePause','sequelize','transaction','each','forEach','userMailQueue:save','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','all','value','isEmpty','removeAgents','emit','userMailQueue:remove','addAgents','spread','isArray','getAgents','hasOwnProperty','html-pdf','eml-format'];(function(_0x409122,_0x1045f0){var _0x272667=function(_0x38f21f){while(--_0x38f21f){_0x409122['push'](_0x409122['shift']());}};_0x272667(++_0x1045f0);}(_0xfe9d,0x10e));var _0xdfe9=function(_0x4a2c38,_0x283cad){_0x4a2c38=_0x4a2c38-0x0;var _0x88485a=_0xfe9d[_0x4a2c38];return _0x88485a;};'use strict';var pdf=require(_0xdfe9('0x0'));var emlformat=require(_0xdfe9('0x1'));var rimraf=require(_0xdfe9('0x2'));var zipdir=require(_0xdfe9('0x3'));var jsonpatch=require(_0xdfe9('0x4'));var rp=require('request-promise');var moment=require(_0xdfe9('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xdfe9('0x6'));var util=require(_0xdfe9('0x7'));var path=require(_0xdfe9('0x8'));var sox=require(_0xdfe9('0x9'));var csv=require(_0xdfe9('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require('lodash');var squel=require(_0xdfe9('0xb'));var crypto=require('crypto');var jsforce=require(_0xdfe9('0xc'));var deskjs=require(_0xdfe9('0xd'));var toCsv=require('to-csv');var querystring=require(_0xdfe9('0xe'));var Papa=require(_0xdfe9('0xf'));var Redis=require(_0xdfe9('0x10'));var authService=require(_0xdfe9('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0xdfe9('0x12'));var hardwareService=require(_0xdfe9('0x13'));var logger=require(_0xdfe9('0x14'))(_0xdfe9('0x15'));var utils=require(_0xdfe9('0x16'));var config=require(_0xdfe9('0x17'));var licenseUtil=require(_0xdfe9('0x18'));var db=require(_0xdfe9('0x19'))['db'];config[_0xdfe9('0x1a')]=_[_0xdfe9('0x1b')](config['redis'],{'host':_0xdfe9('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xdfe9('0x1d'))[_0xdfe9('0x1e')](socket);function respondWithStatusCode(_0x531409,_0x186792){_0x186792=_0x186792||0xcc;return function(_0x3a7ac8){if(_0x3a7ac8){return _0x531409['sendStatus'](_0x186792);}return _0x531409[_0xdfe9('0x1f')](_0x186792)['end']();};}function respondWithResult(_0x2d151b,_0x1bcc94){_0x1bcc94=_0x1bcc94||0xc8;return function(_0x1d3857){if(_0x1d3857){return _0x2d151b[_0xdfe9('0x1f')](_0x1bcc94)[_0xdfe9('0x20')](_0x1d3857);}};}function respondWithFilteredResult(_0x479c63,_0x55ef2a){return function(_0x540fa3){if(_0x540fa3){var _0x3889fa=_0x540fa3[_0xdfe9('0x21')],_0x4fd892=_0x55ef2a['offset'],_0x1d80bf=_0x55ef2a['offset']+_0x55ef2a[_0xdfe9('0x22')],_0x3d27d5;if(_0x1d80bf>=_0x3889fa){_0x1d80bf=_0x3889fa;_0x3d27d5=0xc8;}else{_0x3d27d5=0xce;}_0x479c63['status'](_0x3d27d5);return _0x479c63['set'](_0xdfe9('0x23'),_0x4fd892+'-'+_0x1d80bf+'/'+_0x3889fa)['json'](_0x540fa3);}return null;};}function patchUpdates(_0x51891d){return function(_0x255df4){try{jsonpatch['apply'](_0x255df4,_0x51891d,!![]);}catch(_0x4d986f){return BPromise[_0xdfe9('0x24')](_0x4d986f);}return _0x255df4[_0xdfe9('0x25')]();};}function saveUpdates(_0x2fa679,_0x30eaed){return function(_0x10617d){if(_0x10617d){return _0x10617d[_0xdfe9('0x26')](_0x2fa679)[_0xdfe9('0x27')](function(_0x3a81eb){return _0x3a81eb;});}return null;};}function removeEntity(_0x3a5a98,_0x3ce587){return function(_0x3a27a7){if(_0x3a27a7){return _0x3a27a7['destroy']()['then'](function(){var _0x2c1c83=_0x3a27a7[_0xdfe9('0x28')]({'plain':!![]});var _0x57005b=_0xdfe9('0x29');return db['UserProfileResource']['destroy']({'where':{'type':_0x57005b,'resourceId':_0x2c1c83['id']}})[_0xdfe9('0x27')](function(){return _0x3a27a7;});})[_0xdfe9('0x27')](function(){_0x3a5a98[_0xdfe9('0x1f')](0xcc)[_0xdfe9('0x2a')]();});}};}function handleEntityNotFound(_0x521dd5,_0x50f3ec){return function(_0x4333c2){if(!_0x4333c2){_0x521dd5[_0xdfe9('0x2b')](0x194);}return _0x4333c2;};}function handleError(_0x344d93,_0x216406){_0x216406=_0x216406||0x1f4;return function(_0x49b0be){logger[_0xdfe9('0x2c')](_0x49b0be[_0xdfe9('0x2d')]);if(_0x49b0be['name']){delete _0x49b0be[_0xdfe9('0x2e')];}_0x344d93[_0xdfe9('0x1f')](_0x216406)[_0xdfe9('0x2f')](_0x49b0be);};}exports['index']=function(_0x45edc,_0x24702d){var _0x1d4cfb={},_0x19f94d={},_0x492eab={'count':0x0,'rows':[]};var _0x7af463=_[_0xdfe9('0x30')](db[_0xdfe9('0x31')][_0xdfe9('0x32')],function(_0x4b7178){return{'name':_0x4b7178[_0xdfe9('0x33')],'type':_0x4b7178[_0xdfe9('0x34')]['key']};});_0x19f94d[_0xdfe9('0x35')]=_[_0xdfe9('0x30')](_0x7af463,_0xdfe9('0x2e'));_0x19f94d[_0xdfe9('0x36')]=_[_0xdfe9('0x37')](_0x45edc[_0xdfe9('0x36')]);_0x19f94d[_0xdfe9('0x38')]=_[_0xdfe9('0x39')](_0x19f94d[_0xdfe9('0x35')],_0x19f94d[_0xdfe9('0x36')]);_0x1d4cfb[_0xdfe9('0x3a')]=_[_0xdfe9('0x39')](_0x19f94d['model'],qs['fields'](_0x45edc[_0xdfe9('0x36')][_0xdfe9('0x3b')]));_0x1d4cfb[_0xdfe9('0x3a')]=_0x1d4cfb[_0xdfe9('0x3a')][_0xdfe9('0x3c')]?_0x1d4cfb[_0xdfe9('0x3a')]:_0x19f94d[_0xdfe9('0x35')];if(!_0x45edc[_0xdfe9('0x36')]['hasOwnProperty'](_0xdfe9('0x3d'))){_0x1d4cfb[_0xdfe9('0x22')]=qs[_0xdfe9('0x22')](_0x45edc['query']['limit']);_0x1d4cfb[_0xdfe9('0x3e')]=qs['offset'](_0x45edc[_0xdfe9('0x36')][_0xdfe9('0x3e')]);}_0x1d4cfb['order']=qs[_0xdfe9('0x3f')](_0x45edc[_0xdfe9('0x36')][_0xdfe9('0x3f')]);_0x1d4cfb[_0xdfe9('0x40')]=qs[_0xdfe9('0x38')](_[_0xdfe9('0x41')](_0x45edc['query'],_0x19f94d[_0xdfe9('0x38')]),_0x7af463);if(_0x45edc[_0xdfe9('0x36')]['filter']){_0x1d4cfb[_0xdfe9('0x40')]=_[_0xdfe9('0x42')](_0x1d4cfb[_0xdfe9('0x40')],{'$or':_[_0xdfe9('0x30')](_0x7af463,function(_0x175537){if(_0x175537[_0xdfe9('0x34')]!==_0xdfe9('0x43')){var _0x3d7ded={};_0x3d7ded[_0x175537[_0xdfe9('0x2e')]]={'$like':'%'+_0x45edc[_0xdfe9('0x36')][_0xdfe9('0x44')]+'%'};return _0x3d7ded;}})});}_0x1d4cfb=_[_0xdfe9('0x42')]({},_0x1d4cfb,_0x45edc[_0xdfe9('0x45')]);var _0xbc2672={'where':_0x1d4cfb[_0xdfe9('0x40')]};return db[_0xdfe9('0x31')]['count'](_0xbc2672)[_0xdfe9('0x27')](function(_0x2a7c8f){_0x492eab[_0xdfe9('0x21')]=_0x2a7c8f;if(_0x45edc[_0xdfe9('0x36')][_0xdfe9('0x46')]){_0x1d4cfb['include']=[{'all':!![]}];}return db[_0xdfe9('0x31')]['findAll'](_0x1d4cfb);})[_0xdfe9('0x27')](function(_0x1a7205){_0x492eab[_0xdfe9('0x47')]=_0x1a7205;return _0x492eab;})['then'](respondWithFilteredResult(_0x24702d,_0x1d4cfb))['catch'](handleError(_0x24702d,null));};exports['show']=function(_0x2de998,_0x2034b2){var _0x35ad18={'raw':!![],'where':{'id':_0x2de998['params']['id']}},_0x227d7d={};_0x227d7d[_0xdfe9('0x35')]=_[_0xdfe9('0x37')](db[_0xdfe9('0x31')]['rawAttributes']);_0x227d7d[_0xdfe9('0x36')]=_[_0xdfe9('0x37')](_0x2de998[_0xdfe9('0x36')]);_0x227d7d[_0xdfe9('0x38')]=_[_0xdfe9('0x39')](_0x227d7d[_0xdfe9('0x35')],_0x227d7d[_0xdfe9('0x36')]);_0x35ad18['attributes']=_[_0xdfe9('0x39')](_0x227d7d[_0xdfe9('0x35')],qs[_0xdfe9('0x3b')](_0x2de998[_0xdfe9('0x36')]['fields']));_0x35ad18[_0xdfe9('0x3a')]=_0x35ad18[_0xdfe9('0x3a')]['length']?_0x35ad18[_0xdfe9('0x3a')]:_0x227d7d[_0xdfe9('0x35')];if(_0x2de998['query']['includeAll']){_0x35ad18[_0xdfe9('0x48')]=[{'all':!![]}];}_0x35ad18=_[_0xdfe9('0x42')]({},_0x35ad18,_0x2de998[_0xdfe9('0x45')]);return db[_0xdfe9('0x31')][_0xdfe9('0x49')](_0x35ad18)[_0xdfe9('0x27')](handleEntityNotFound(_0x2034b2,null))['then'](respondWithResult(_0x2034b2,null))[_0xdfe9('0x4a')](handleError(_0x2034b2,null));};exports[_0xdfe9('0x4b')]=function(_0x15f7ac,_0x5c5912){return db[_0xdfe9('0x31')][_0xdfe9('0x4b')](_0x15f7ac[_0xdfe9('0x4c')],{})[_0xdfe9('0x27')](function(_0x1f13a4){var _0x472b59=_0x15f7ac['user']['get']({'plain':!![]});if(!_0x472b59)throw new Error(_0xdfe9('0x4d'));if(_0x472b59[_0xdfe9('0x4e')]===_0xdfe9('0x4f')){var _0x23555f=_0x1f13a4['get']({'plain':!![]});var _0x12e6cb='MailQueues';return db['UserProfileSection'][_0xdfe9('0x49')]({'where':{'name':_0x12e6cb,'userProfileId':_0x472b59[_0xdfe9('0x50')]},'raw':!![]})['then'](function(_0x5b71ba){if(_0x5b71ba&&_0x5b71ba[_0xdfe9('0x51')]===0x0){return db[_0xdfe9('0x52')][_0xdfe9('0x4b')]({'name':_0x23555f['name'],'resourceId':_0x23555f['id'],'type':_0x5b71ba[_0xdfe9('0x2e')],'sectionId':_0x5b71ba['id']},{})['then'](function(){return _0x1f13a4;});}else{return _0x1f13a4;}})[_0xdfe9('0x4a')](function(_0x4d1d9b){logger['error'](_0xdfe9('0x53'),_0x4d1d9b);throw _0x4d1d9b;});}return _0x1f13a4;})['then'](respondWithResult(_0x5c5912,0xc9))[_0xdfe9('0x4a')](handleError(_0x5c5912,null));};exports[_0xdfe9('0x26')]=function(_0x39fb11,_0x4321e1){if(_0x39fb11[_0xdfe9('0x4c')]['id']){delete _0x39fb11[_0xdfe9('0x4c')]['id'];}return db[_0xdfe9('0x31')][_0xdfe9('0x49')]({'where':{'id':_0x39fb11[_0xdfe9('0x54')]['id']}})['then'](handleEntityNotFound(_0x4321e1,null))[_0xdfe9('0x27')](saveUpdates(_0x39fb11[_0xdfe9('0x4c')],null))[_0xdfe9('0x27')](respondWithResult(_0x4321e1,null))[_0xdfe9('0x4a')](handleError(_0x4321e1,null));};exports[_0xdfe9('0x55')]=function(_0x4c69e0,_0x5c8f63){return db[_0xdfe9('0x31')][_0xdfe9('0x49')]({'where':{'id':_0x4c69e0[_0xdfe9('0x54')]['id']}})[_0xdfe9('0x27')](handleEntityNotFound(_0x5c8f63,null))[_0xdfe9('0x27')](removeEntity(_0x5c8f63,null))[_0xdfe9('0x4a')](handleError(_0x5c8f63,null));};exports['describe']=function(_0x11a6cf,_0x14aa28){return db[_0xdfe9('0x31')]['describe']()['then'](respondWithResult(_0x14aa28,null))[_0xdfe9('0x4a')](handleError(_0x14aa28,null));};exports['getMembers']=function(_0x4ba199,_0xfaa19b,_0x53c47d){var _0x15ae63={'raw':!![],'where':{}},_0x2bb5d5={},_0x5c6705;return db[_0xdfe9('0x31')][_0xdfe9('0x56')]({'where':{'id':_0x4ba199[_0xdfe9('0x54')]['id']}})[_0xdfe9('0x27')](handleEntityNotFound(_0xfaa19b,null))[_0xdfe9('0x27')](function(_0x5a04f5){if(_0x5a04f5){_0x5c6705=_0x5a04f5[_0xdfe9('0x28')]({'plain':!![]});_0x2bb5d5['model']=_[_0xdfe9('0x37')](db[_0xdfe9('0x57')][_0xdfe9('0x32')]);_0x2bb5d5[_0xdfe9('0x36')]=_[_0xdfe9('0x37')](_0x4ba199['query']);_0x2bb5d5[_0xdfe9('0x38')]=_[_0xdfe9('0x39')](_0x2bb5d5['model'],_0x2bb5d5[_0xdfe9('0x36')]);_0x15ae63[_0xdfe9('0x3a')]=_[_0xdfe9('0x39')](_0x2bb5d5[_0xdfe9('0x35')],qs[_0xdfe9('0x3b')](_0x4ba199[_0xdfe9('0x36')][_0xdfe9('0x3b')]));_0x15ae63[_0xdfe9('0x3a')]=_0x15ae63[_0xdfe9('0x3a')][_0xdfe9('0x3c')]?_0x15ae63[_0xdfe9('0x3a')]:_0x2bb5d5[_0xdfe9('0x35')];if(!_0x4ba199[_0xdfe9('0x36')]['hasOwnProperty'](_0xdfe9('0x3d'))){_0x15ae63[_0xdfe9('0x22')]=qs[_0xdfe9('0x22')](_0x4ba199[_0xdfe9('0x36')][_0xdfe9('0x22')]);_0x15ae63[_0xdfe9('0x3e')]=qs[_0xdfe9('0x3e')](_0x4ba199[_0xdfe9('0x36')][_0xdfe9('0x3e')]);}_0x15ae63['order']=qs[_0xdfe9('0x3f')](_0x4ba199[_0xdfe9('0x36')][_0xdfe9('0x3f')]);_0x15ae63[_0xdfe9('0x40')]=qs[_0xdfe9('0x38')](_[_0xdfe9('0x41')](_0x4ba199[_0xdfe9('0x36')],_0x2bb5d5['filters']));_0x15ae63['where'][_0xdfe9('0x58')]=_0x5a04f5['id'];if(_0x4ba199[_0xdfe9('0x36')][_0xdfe9('0x44')]){_0x15ae63[_0xdfe9('0x40')]=_[_0xdfe9('0x42')](_0x15ae63[_0xdfe9('0x40')],{'$or':_[_0xdfe9('0x30')](_0x15ae63[_0xdfe9('0x3a')],function(_0x2ed9e4){var _0x542ba6={};_0x542ba6[_0x2ed9e4]={'$like':'%'+_0x4ba199[_0xdfe9('0x36')]['filter']+'%'};return _0x542ba6;})});}_0x15ae63=_[_0xdfe9('0x42')]({},_0x15ae63,_0x4ba199['options']);return db[_0xdfe9('0x57')][_0xdfe9('0x59')](_0x15ae63);}})[_0xdfe9('0x27')](function(_0xdf75fe){if(_0xdf75fe){return db[_0xdfe9('0x5a')][_0xdfe9('0x5b')]({'where':{'id':_[_0xdfe9('0x30')](_0xdf75fe,'UserId'),'role':_0xdfe9('0x5c')},'attributes':['id','name','mailPause',_0xdfe9('0x5d'),_0xdfe9('0x5e')]});}})[_0xdfe9('0x27')](function(_0x343a14){if(_0x343a14){return{'count':_0x343a14[_0xdfe9('0x21')],'rows':_['map'](_0x343a14['rows'],function(_0x371fbe){return{'membername':_0x371fbe['name'],'UserId':_0x371fbe['id'],'queue_name':_0x5c6705[_0xdfe9('0x2e')],'MailQueueId':_0x5c6705['id'],'interface':util[_0xdfe9('0x5f')](_0xdfe9('0x60'),_0xdfe9('0x61'),_0x371fbe[_0xdfe9('0x2e')]),'penalty':0x0,'paused':_0x371fbe['mailPause'],'createdAt':_0x371fbe['createdAt'],'updatedAt':_0x371fbe['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0xfaa19b,_0x15ae63))['catch'](handleError(_0xfaa19b,null));};exports[_0xdfe9('0x62')]=function(_0x6cb624,_0x156bf7,_0x54b3b9){var _0x508ca2={};var _0x4266f9={};var _0x2dc5ba;var _0xc0a4b9;return db['MailQueue'][_0xdfe9('0x56')]({'where':{'id':_0x6cb624[_0xdfe9('0x54')]['id']}})['then'](handleEntityNotFound(_0x156bf7,null))[_0xdfe9('0x27')](function(_0x1c401d){if(_0x1c401d){_0x2dc5ba=_0x1c401d;_0x4266f9[_0xdfe9('0x35')]=_[_0xdfe9('0x37')](db[_0xdfe9('0x63')][_0xdfe9('0x32')]);_0x4266f9['query']=_[_0xdfe9('0x37')](_0x6cb624['query']);_0x4266f9[_0xdfe9('0x38')]=_[_0xdfe9('0x39')](_0x4266f9[_0xdfe9('0x35')],_0x4266f9['query']);_0x508ca2[_0xdfe9('0x3a')]=_[_0xdfe9('0x39')](_0x4266f9['model'],qs['fields'](_0x6cb624['query'][_0xdfe9('0x3b')]));_0x508ca2[_0xdfe9('0x3a')]=_0x508ca2[_0xdfe9('0x3a')][_0xdfe9('0x3c')]?_0x508ca2[_0xdfe9('0x3a')]:_0x4266f9[_0xdfe9('0x35')];_0x508ca2['order']=qs[_0xdfe9('0x3f')](_0x6cb624[_0xdfe9('0x36')][_0xdfe9('0x3f')]);_0x508ca2[_0xdfe9('0x40')]=qs[_0xdfe9('0x38')](_[_0xdfe9('0x41')](_0x6cb624[_0xdfe9('0x36')],_0x4266f9[_0xdfe9('0x38')]));if(_0x6cb624[_0xdfe9('0x36')][_0xdfe9('0x44')]){_0x508ca2[_0xdfe9('0x40')]=_[_0xdfe9('0x42')](_0x508ca2['where'],{'$or':_[_0xdfe9('0x30')](_0x508ca2[_0xdfe9('0x3a')],function(_0x331f46){var _0x6867cc={};_0x6867cc[_0x331f46]={'$like':'%'+_0x6cb624[_0xdfe9('0x36')]['filter']+'%'};return _0x6867cc;})});}_0x508ca2=_['merge']({},_0x508ca2,_0x6cb624[_0xdfe9('0x45')]);return _0x2dc5ba[_0xdfe9('0x62')](_0x508ca2);}})[_0xdfe9('0x27')](function(_0x3b31f8){if(_0x3b31f8){_0xc0a4b9=_0x3b31f8[_0xdfe9('0x3c')];if(!_0x6cb624[_0xdfe9('0x36')]['hasOwnProperty']('nolimit')){_0x508ca2[_0xdfe9('0x22')]=qs[_0xdfe9('0x22')](_0x6cb624[_0xdfe9('0x36')][_0xdfe9('0x22')]);_0x508ca2['offset']=qs[_0xdfe9('0x3e')](_0x6cb624['query']['offset']);}return _0x2dc5ba[_0xdfe9('0x62')](_0x508ca2);}})['then'](function(_0x497246){if(_0x497246){return _0x497246?{'count':_0xc0a4b9,'rows':_0x497246}:null;}})[_0xdfe9('0x27')](respondWithResult(_0x156bf7,null))[_0xdfe9('0x4a')](handleError(_0x156bf7,null));};exports[_0xdfe9('0x64')]=function(_0x3e56f9,_0x2f9f3e,_0x120f1c){var _0x301291=_0x3e56f9['body'][_0xdfe9('0x65')];return db['Team'][_0xdfe9('0x59')]({'where':{'id':_0x301291},'attributes':['id'],'include':[{'model':db[_0xdfe9('0x5a')],'as':_0xdfe9('0x66'),'attributes':['id',_0xdfe9('0x2e'),_0xdfe9('0x67'),_0xdfe9('0x68'),'interface'],'raw':!![]}]})[_0xdfe9('0x27')](function(_0x3fbe56){if(_0x3fbe56){var _0x4c09b5=_['flatMap'](_0x3fbe56,function(_0x3486f1){var _0x322c14=_0x3486f1['get']({'plain':!![]});return _0x322c14[_0xdfe9('0x66')];});return db[_0xdfe9('0x31')][_0xdfe9('0x49')]({'where':{'id':_0x3e56f9[_0xdfe9('0x54')]['id']}})[_0xdfe9('0x27')](function(_0x332c06){return db[_0xdfe9('0x69')][_0xdfe9('0x6a')](function(_0x5d1eb5){return _0x332c06[_0xdfe9('0x64')](_0x301291,{'transaction':_0x5d1eb5})['then'](function(){return BPromise[_0xdfe9('0x6b')](_0x4c09b5,function(_0x544a4b){return db[_0xdfe9('0x57')]['findOrCreate']({'where':{'UserId':_0x544a4b['id'],'MailQueueId':_0x3e56f9[_0xdfe9('0x54')]['id']},'transaction':_0x5d1eb5});});})['then'](function(){_0x4c09b5[_0xdfe9('0x6c')](function(_0x56c7f6){socket['emit'](_0xdfe9('0x6d'),{'UserId':_0x56c7f6['id'],'MailQueueId':_0x332c06['id']});});});});});}})[_0xdfe9('0x27')](respondWithStatusCode(_0x2f9f3e,null))[_0xdfe9('0x4a')](handleError(_0x2f9f3e,null));};exports[_0xdfe9('0x6e')]=function(_0x51ff32,_0x4d0353,_0x5b6612){return db[_0xdfe9('0x63')]['findAll']({'where':{'id':_0x51ff32['query'][_0xdfe9('0x65')]},'attributes':['id'],'include':[{'model':db[_0xdfe9('0x5a')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xdfe9('0x27')](handleEntityNotFound(_0x4d0353,null))[_0xdfe9('0x27')](function(_0x33e509){var _0x3102da=_[_0xdfe9('0x30')](_0x33e509,'id');var _0x4afe09=[];var _0x3a5455=[];var _0x333322=squel[_0xdfe9('0x6f')]();_0x333322[_0xdfe9('0x70')](_0xdfe9('0x71'))[_0xdfe9('0x72')]('team_has_mail_queues','tq')[_0xdfe9('0x73')](_0xdfe9('0x74'),'ut',_0xdfe9('0x75'))[_0xdfe9('0x40')]('MailQueueId\x20=\x20?',_0x51ff32['params']['id']);for(var _0x7889ac=0x0;_0x7889ac<_0x33e509['length'];_0x7889ac+=0x1){let _0xd7d02a=_0x33e509[_0x7889ac];for(var _0x4943df=0x0;_0x4943df<_0xd7d02a['Agents']['length'];_0x4943df+=0x1){let _0x5efd7c=_0xd7d02a[_0xdfe9('0x66')][_0x4943df];var _0x5e14d5=_0x333322[_0xdfe9('0x76')]();_0x5e14d5[_0xdfe9('0x40')](_0xdfe9('0x77'),_0x5efd7c['id']);_0x3a5455[_0xdfe9('0x78')](db[_0xdfe9('0x69')][_0xdfe9('0x36')](_0x5e14d5[_0xdfe9('0x79')](),{'type':db[_0xdfe9('0x69')][_0xdfe9('0x7a')][_0xdfe9('0x7b')]})[_0xdfe9('0x27')](function(_0x5d205d){if(_0x5d205d[_0xdfe9('0x3c')]===0x1){return _0x5efd7c['id'];}else{var _0x442476=_[_0xdfe9('0x7c')](_[_0xdfe9('0x30')](_0x5d205d,'TeamId'),function(_0x2f9498){return _['includes'](_0x3102da,_0x2f9498);});if(_0x442476){return _0x5efd7c['id'];}}}));}}return BPromise[_0xdfe9('0x7d')](_0x3a5455)['then'](function(_0x581971){_0x4afe09=_(_0x4afe09)['union'](_0x581971)['compact']()[_0xdfe9('0x7e')]();return db[_0xdfe9('0x31')][_0xdfe9('0x49')]({'where':{'id':_0x51ff32[_0xdfe9('0x54')]['id']}})[_0xdfe9('0x27')](function(_0x47c293){return db['sequelize'][_0xdfe9('0x6a')](function(_0x159b94){return _0x47c293[_0xdfe9('0x6e')](_0x51ff32['query']['ids'],{'transaction':_0x159b94})[_0xdfe9('0x27')](function(){if(!_[_0xdfe9('0x7f')](_0x4afe09)){return _0x47c293[_0xdfe9('0x80')](_0x4afe09,{'transaction':_0x159b94});}})[_0xdfe9('0x27')](function(){_0x4afe09[_0xdfe9('0x6c')](function(_0x52369f){socket[_0xdfe9('0x81')](_0xdfe9('0x82'),{'UserId':_0x52369f,'MailQueueId':_0x47c293['id']});});});});});});})[_0xdfe9('0x27')](respondWithStatusCode(_0x4d0353,null))[_0xdfe9('0x4a')](handleError(_0x4d0353,null));};exports[_0xdfe9('0x83')]=function(_0x52d892,_0x2a02f0,_0x5f20e2){return db[_0xdfe9('0x31')][_0xdfe9('0x49')]({'where':{'id':_0x52d892[_0xdfe9('0x54')]['id']}})[_0xdfe9('0x27')](handleEntityNotFound(_0x2a02f0,null))[_0xdfe9('0x27')](function(_0x1f44b9){if(_0x1f44b9){return _0x1f44b9[_0xdfe9('0x83')](_0x52d892[_0xdfe9('0x4c')][_0xdfe9('0x65')],_['omit'](_0x52d892[_0xdfe9('0x4c')],[_0xdfe9('0x65'),'id'])||{})[_0xdfe9('0x84')](function(_0x687993){for(var _0x2222a1=0x0;_0x2222a1<_0x52d892['body'][_0xdfe9('0x65')][_0xdfe9('0x3c')];_0x2222a1+=0x1){socket[_0xdfe9('0x81')](_0xdfe9('0x6d'),{'UserId':_0x52d892[_0xdfe9('0x4c')]['ids'][_0x2222a1],'MailQueueId':_0x52d892[_0xdfe9('0x54')]['id']});}return _0x687993;});}})[_0xdfe9('0x27')](respondWithResult(_0x2a02f0,null))[_0xdfe9('0x4a')](handleError(_0x2a02f0,null));};exports[_0xdfe9('0x80')]=function(_0x3c37c8,_0x5390ad,_0x1d57c1){return db['MailQueue']['find']({'where':{'id':_0x3c37c8['params']['id']}})['then'](handleEntityNotFound(_0x5390ad,null))['then'](function(_0x2f01d5){if(_0x2f01d5){return _0x2f01d5[_0xdfe9('0x80')](_0x3c37c8[_0xdfe9('0x36')][_0xdfe9('0x65')])['then'](function(){if(_[_0xdfe9('0x85')](_0x3c37c8[_0xdfe9('0x36')][_0xdfe9('0x65')])){for(var _0x4b0718=0x0;_0x4b0718<_0x3c37c8[_0xdfe9('0x36')][_0xdfe9('0x65')][_0xdfe9('0x3c')];_0x4b0718+=0x1){socket[_0xdfe9('0x81')](_0xdfe9('0x82'),{'UserId':Number(_0x3c37c8[_0xdfe9('0x36')][_0xdfe9('0x65')][_0x4b0718]),'MailQueueId':Number(_0x3c37c8[_0xdfe9('0x54')]['id'])});}}else{socket[_0xdfe9('0x81')](_0xdfe9('0x82'),{'UserId':Number(_0x3c37c8[_0xdfe9('0x36')][_0xdfe9('0x65')]),'MailQueueId':Number(_0x3c37c8[_0xdfe9('0x54')]['id'])});}});}})[_0xdfe9('0x27')](respondWithStatusCode(_0x5390ad,null))['catch'](handleError(_0x5390ad,null));};exports[_0xdfe9('0x86')]=function(_0x48c5a5,_0x191217,_0x217937){var _0x288495={};var _0x737713={};var _0x3dbb2d;var _0x371ce2;return db[_0xdfe9('0x31')][_0xdfe9('0x56')]({'where':{'id':_0x48c5a5['params']['id']}})[_0xdfe9('0x27')](handleEntityNotFound(_0x191217,null))['then'](function(_0xb9677){if(_0xb9677){_0x3dbb2d=_0xb9677;_0x737713[_0xdfe9('0x35')]=_[_0xdfe9('0x37')](db[_0xdfe9('0x5a')][_0xdfe9('0x32')]);_0x737713[_0xdfe9('0x36')]=_[_0xdfe9('0x37')](_0x48c5a5[_0xdfe9('0x36')]);_0x737713[_0xdfe9('0x38')]=_['intersection'](_0x737713[_0xdfe9('0x35')],_0x737713[_0xdfe9('0x36')]);_0x288495[_0xdfe9('0x3a')]=_[_0xdfe9('0x39')](_0x737713[_0xdfe9('0x35')],qs[_0xdfe9('0x3b')](_0x48c5a5[_0xdfe9('0x36')]['fields']));_0x288495[_0xdfe9('0x3a')]=_0x288495['attributes'][_0xdfe9('0x3c')]?_0x288495[_0xdfe9('0x3a')]:_0x737713[_0xdfe9('0x35')];_0x288495['order']=qs['sort'](_0x48c5a5[_0xdfe9('0x36')][_0xdfe9('0x3f')]);_0x288495[_0xdfe9('0x40')]=qs[_0xdfe9('0x38')](_[_0xdfe9('0x41')](_0x48c5a5[_0xdfe9('0x36')],_0x737713[_0xdfe9('0x38')]));if(_0x48c5a5[_0xdfe9('0x36')][_0xdfe9('0x44')]){_0x288495[_0xdfe9('0x40')]=_[_0xdfe9('0x42')](_0x288495[_0xdfe9('0x40')],{'$or':_[_0xdfe9('0x30')](_0x288495[_0xdfe9('0x3a')],function(_0xc2f61a){var _0x1181f3={};_0x1181f3[_0xc2f61a]={'$like':'%'+_0x48c5a5[_0xdfe9('0x36')][_0xdfe9('0x44')]+'%'};return _0x1181f3;})});}_0x288495=_[_0xdfe9('0x42')]({},_0x288495,_0x48c5a5[_0xdfe9('0x45')]);return _0x3dbb2d[_0xdfe9('0x86')](_0x288495);}})[_0xdfe9('0x27')](function(_0x550183){if(_0x550183){_0x371ce2=_0x550183[_0xdfe9('0x3c')];if(!_0x48c5a5[_0xdfe9('0x36')][_0xdfe9('0x87')](_0xdfe9('0x3d'))){_0x288495[_0xdfe9('0x22')]=qs['limit'](_0x48c5a5[_0xdfe9('0x36')]['limit']);_0x288495[_0xdfe9('0x3e')]=qs['offset'](_0x48c5a5[_0xdfe9('0x36')]['offset']);}return _0x3dbb2d[_0xdfe9('0x86')](_0x288495);}})[_0xdfe9('0x27')](function(_0x492b16){if(_0x492b16){return _0x492b16?{'count':_0x371ce2,'rows':_0x492b16}:null;}})[_0xdfe9('0x27')](respondWithResult(_0x191217,null))[_0xdfe9('0x4a')](handleError(_0x191217,null));};