9e7e4be656e8d6f55f868ffd0f3e9288b69f3d2c
[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 _0xf0a3=['fields','hasOwnProperty','nolimit','sort','pick','merge','VIRTUAL','options','where','count','includeAll','include','findAll','catch','show','params','find','create','body','user','MailQueues','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','findOne','UserMailQueue','order','MailQueueId','filter','User','findAndCountAll','agent','mailPause','updatedAt','createdAt','rows','format','%s/%s','getTeams','Team','length','addTeams','online','interface','Agents','sequelize','transaction','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_mail_queues','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','removeAgents','userMailQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','fs-extra','lodash','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','json','offset','undefined','limit','Content-Range','apply','reject','save','then','destroy','get','end','error','name','send','index','MailQueue','rawAttributes','fieldName','type','model','map','query','keys','filters','intersection','attributes'];(function(_0x4efdd4,_0x1a6670){var _0x47a25b=function(_0x1a1be4){while(--_0x1a1be4){_0x4efdd4['push'](_0x4efdd4['shift']());}};_0x47a25b(++_0x1a6670);}(_0xf0a3,0xe1));var _0x3f0a=function(_0x127902,_0x169f94){_0x127902=_0x127902-0x0;var _0x45407e=_0xf0a3[_0x127902];return _0x45407e;};'use strict';var emlformat=require(_0x3f0a('0x0'));var rimraf=require(_0x3f0a('0x1'));var zipdir=require(_0x3f0a('0x2'));var jsonpatch=require(_0x3f0a('0x3'));var rp=require(_0x3f0a('0x4'));var moment=require(_0x3f0a('0x5'));var BPromise=require(_0x3f0a('0x6'));var Mustache=require(_0x3f0a('0x7'));var util=require(_0x3f0a('0x8'));var path=require(_0x3f0a('0x9'));var sox=require(_0x3f0a('0xa'));var csv=require('to-csv');var ejs=require(_0x3f0a('0xb'));var fs=require('fs');var fs_extra=require(_0x3f0a('0xc'));var _=require(_0x3f0a('0xd'));var squel=require('squel');var crypto=require(_0x3f0a('0xe'));var jsforce=require(_0x3f0a('0xf'));var deskjs=require(_0x3f0a('0x10'));var toCsv=require(_0x3f0a('0x11'));var querystring=require(_0x3f0a('0x12'));var Papa=require(_0x3f0a('0x13'));var Redis=require(_0x3f0a('0x14'));var authService=require('../../components/auth/service');var qs=require(_0x3f0a('0x15'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3f0a('0x16'));var logger=require('../../config/logger')(_0x3f0a('0x17'));var utils=require('../../config/utils');var config=require(_0x3f0a('0x18'));var licenseUtil=require(_0x3f0a('0x19'));var db=require(_0x3f0a('0x1a'))['db'];config[_0x3f0a('0x1b')]=_[_0x3f0a('0x1c')](config[_0x3f0a('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0x3f0a('0x1d'))(new Redis(config[_0x3f0a('0x1b')]));require(_0x3f0a('0x1e'))[_0x3f0a('0x1f')](socket);function respondWithStatusCode(_0x1ec80d,_0x2ed046){_0x2ed046=_0x2ed046||0xcc;return function(_0x3b9820){if(_0x3b9820){return _0x1ec80d[_0x3f0a('0x20')](_0x2ed046);}return _0x1ec80d[_0x3f0a('0x21')](_0x2ed046)['end']();};}function respondWithResult(_0xc33f21,_0x36ef5e){_0x36ef5e=_0x36ef5e||0xc8;return function(_0xcc706a){if(_0xcc706a){return _0xc33f21[_0x3f0a('0x21')](_0x36ef5e)[_0x3f0a('0x22')](_0xcc706a);}};}function respondWithFilteredResult(_0x1b19cd,_0x4deb89){return function(_0x449c70){if(_0x449c70){var _0x2de44c=typeof _0x4deb89[_0x3f0a('0x23')]===_0x3f0a('0x24')&&typeof _0x4deb89[_0x3f0a('0x25')]===_0x3f0a('0x24');var _0x1ea1ab=_0x449c70['count'];var _0x268b41=_0x2de44c?0x0:_0x4deb89[_0x3f0a('0x23')];var _0x8325e6=_0x2de44c?_0x449c70['count']:_0x4deb89[_0x3f0a('0x23')]+_0x4deb89['limit'];var _0x5021a7;if(_0x8325e6>=_0x1ea1ab){_0x8325e6=_0x1ea1ab;_0x5021a7=0xc8;}else{_0x5021a7=0xce;}_0x1b19cd['status'](_0x5021a7);return _0x1b19cd['set'](_0x3f0a('0x26'),_0x268b41+'-'+_0x8325e6+'/'+_0x1ea1ab)[_0x3f0a('0x22')](_0x449c70);}return null;};}function patchUpdates(_0x4e1316){return function(_0x4bb7fe){try{jsonpatch[_0x3f0a('0x27')](_0x4bb7fe,_0x4e1316,!![]);}catch(_0x4f0cad){return BPromise[_0x3f0a('0x28')](_0x4f0cad);}return _0x4bb7fe[_0x3f0a('0x29')]();};}function saveUpdates(_0x1ac99f,_0x5366ee){return function(_0x2db3ed){if(_0x2db3ed){return _0x2db3ed['update'](_0x1ac99f)[_0x3f0a('0x2a')](function(_0x11e113){return _0x11e113;});}return null;};}function removeEntity(_0x5b4227,_0x4281c5){return function(_0x5a8f6e){if(_0x5a8f6e){return _0x5a8f6e[_0x3f0a('0x2b')]()[_0x3f0a('0x2a')](function(){var _0x2c2d4e=_0x5a8f6e[_0x3f0a('0x2c')]({'plain':!![]});var _0x4a1873='MailQueues';return db['UserProfileResource'][_0x3f0a('0x2b')]({'where':{'type':_0x4a1873,'resourceId':_0x2c2d4e['id']}})[_0x3f0a('0x2a')](function(){return _0x5a8f6e;});})[_0x3f0a('0x2a')](function(){_0x5b4227[_0x3f0a('0x21')](0xcc)[_0x3f0a('0x2d')]();});}};}function handleEntityNotFound(_0x2bb426,_0x107986){return function(_0x3303fc){if(!_0x3303fc){_0x2bb426[_0x3f0a('0x20')](0x194);}return _0x3303fc;};}function handleError(_0x47e2b9,_0x515b41){_0x515b41=_0x515b41||0x1f4;return function(_0x16afda){logger[_0x3f0a('0x2e')](_0x16afda['stack']);if(_0x16afda[_0x3f0a('0x2f')]){delete _0x16afda[_0x3f0a('0x2f')];}_0x47e2b9[_0x3f0a('0x21')](_0x515b41)[_0x3f0a('0x30')](_0x16afda);};}exports[_0x3f0a('0x31')]=function(_0x21e0e0,_0x22cb95){var _0x348082={},_0x2a32d3={},_0x24fe7d={'count':0x0,'rows':[]};var _0x550485=_['map'](db[_0x3f0a('0x32')][_0x3f0a('0x33')],function(_0x47cee5){return{'name':_0x47cee5[_0x3f0a('0x34')],'type':_0x47cee5[_0x3f0a('0x35')]['key']};});_0x2a32d3[_0x3f0a('0x36')]=_[_0x3f0a('0x37')](_0x550485,_0x3f0a('0x2f'));_0x2a32d3[_0x3f0a('0x38')]=_[_0x3f0a('0x39')](_0x21e0e0[_0x3f0a('0x38')]);_0x2a32d3[_0x3f0a('0x3a')]=_[_0x3f0a('0x3b')](_0x2a32d3['model'],_0x2a32d3[_0x3f0a('0x38')]);_0x348082[_0x3f0a('0x3c')]=_['intersection'](_0x2a32d3['model'],qs[_0x3f0a('0x3d')](_0x21e0e0['query']['fields']));_0x348082['attributes']=_0x348082[_0x3f0a('0x3c')]['length']?_0x348082[_0x3f0a('0x3c')]:_0x2a32d3[_0x3f0a('0x36')];if(!_0x21e0e0['query'][_0x3f0a('0x3e')](_0x3f0a('0x3f'))){_0x348082['limit']=qs[_0x3f0a('0x25')](_0x21e0e0['query'][_0x3f0a('0x25')]);_0x348082['offset']=qs['offset'](_0x21e0e0[_0x3f0a('0x38')][_0x3f0a('0x23')]);}_0x348082['order']=qs[_0x3f0a('0x40')](_0x21e0e0[_0x3f0a('0x38')][_0x3f0a('0x40')]);_0x348082['where']=qs[_0x3f0a('0x3a')](_[_0x3f0a('0x41')](_0x21e0e0[_0x3f0a('0x38')],_0x2a32d3['filters']),_0x550485);if(_0x21e0e0['query']['filter']){_0x348082['where']=_[_0x3f0a('0x42')](_0x348082['where'],{'$or':_[_0x3f0a('0x37')](_0x550485,function(_0x5d759a){if(_0x5d759a['type']!==_0x3f0a('0x43')){var _0xf8da42={};_0xf8da42[_0x5d759a[_0x3f0a('0x2f')]]={'$like':'%'+_0x21e0e0[_0x3f0a('0x38')]['filter']+'%'};return _0xf8da42;}})});}_0x348082=_[_0x3f0a('0x42')]({},_0x348082,_0x21e0e0[_0x3f0a('0x44')]);var _0x409492={'where':_0x348082[_0x3f0a('0x45')]};return db[_0x3f0a('0x32')][_0x3f0a('0x46')](_0x409492)[_0x3f0a('0x2a')](function(_0x1a7f08){_0x24fe7d['count']=_0x1a7f08;if(_0x21e0e0[_0x3f0a('0x38')][_0x3f0a('0x47')]){_0x348082[_0x3f0a('0x48')]=[{'all':!![]}];}return db[_0x3f0a('0x32')][_0x3f0a('0x49')](_0x348082);})[_0x3f0a('0x2a')](function(_0x483a6c){_0x24fe7d['rows']=_0x483a6c;return _0x24fe7d;})[_0x3f0a('0x2a')](respondWithFilteredResult(_0x22cb95,_0x348082))[_0x3f0a('0x4a')](handleError(_0x22cb95,null));};exports[_0x3f0a('0x4b')]=function(_0x33dcf1,_0x438c61){var _0x3a4b63={'raw':!![],'where':{'id':_0x33dcf1[_0x3f0a('0x4c')]['id']}},_0x1f5f49={};_0x1f5f49['model']=_[_0x3f0a('0x39')](db['MailQueue'][_0x3f0a('0x33')]);_0x1f5f49[_0x3f0a('0x38')]=_[_0x3f0a('0x39')](_0x33dcf1[_0x3f0a('0x38')]);_0x1f5f49[_0x3f0a('0x3a')]=_[_0x3f0a('0x3b')](_0x1f5f49['model'],_0x1f5f49[_0x3f0a('0x38')]);_0x3a4b63[_0x3f0a('0x3c')]=_[_0x3f0a('0x3b')](_0x1f5f49[_0x3f0a('0x36')],qs[_0x3f0a('0x3d')](_0x33dcf1['query'][_0x3f0a('0x3d')]));_0x3a4b63[_0x3f0a('0x3c')]=_0x3a4b63['attributes']['length']?_0x3a4b63[_0x3f0a('0x3c')]:_0x1f5f49['model'];if(_0x33dcf1[_0x3f0a('0x38')][_0x3f0a('0x47')]){_0x3a4b63[_0x3f0a('0x48')]=[{'all':!![]}];}_0x3a4b63=_[_0x3f0a('0x42')]({},_0x3a4b63,_0x33dcf1['options']);return db[_0x3f0a('0x32')][_0x3f0a('0x4d')](_0x3a4b63)[_0x3f0a('0x2a')](handleEntityNotFound(_0x438c61,null))['then'](respondWithResult(_0x438c61,null))[_0x3f0a('0x4a')](handleError(_0x438c61,null));};exports[_0x3f0a('0x4e')]=function(_0x1a3279,_0x4585df){return db['MailQueue'][_0x3f0a('0x4e')](_0x1a3279[_0x3f0a('0x4f')],{})['then'](function(_0x5831f5){var _0x2d741c=_0x1a3279['user']['get']({'plain':!![]});if(!_0x2d741c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2d741c['role']===_0x3f0a('0x50')){var _0x285d54=_0x5831f5[_0x3f0a('0x2c')]({'plain':!![]});var _0x1998a7=_0x3f0a('0x51');return db['UserProfileSection']['find']({'where':{'name':_0x1998a7,'userProfileId':_0x2d741c[_0x3f0a('0x52')]},'raw':!![]})['then'](function(_0x8fac43){if(_0x8fac43&&_0x8fac43['autoAssociation']===0x0){return db[_0x3f0a('0x53')][_0x3f0a('0x4e')]({'name':_0x285d54[_0x3f0a('0x2f')],'resourceId':_0x285d54['id'],'type':_0x8fac43[_0x3f0a('0x2f')],'sectionId':_0x8fac43['id']},{})['then'](function(){return _0x5831f5;});}else{return _0x5831f5;}})[_0x3f0a('0x4a')](function(_0x2839ee){logger[_0x3f0a('0x2e')](_0x3f0a('0x54'),_0x2839ee);throw _0x2839ee;});}return _0x5831f5;})[_0x3f0a('0x2a')](respondWithResult(_0x4585df,0xc9))[_0x3f0a('0x4a')](handleError(_0x4585df,null));};exports[_0x3f0a('0x55')]=function(_0x5e3aba,_0x22e810){if(_0x5e3aba[_0x3f0a('0x4f')]['id']){delete _0x5e3aba[_0x3f0a('0x4f')]['id'];}return db[_0x3f0a('0x32')]['find']({'where':{'id':_0x5e3aba['params']['id']}})[_0x3f0a('0x2a')](handleEntityNotFound(_0x22e810,null))[_0x3f0a('0x2a')](saveUpdates(_0x5e3aba[_0x3f0a('0x4f')],null))[_0x3f0a('0x2a')](respondWithResult(_0x22e810,null))[_0x3f0a('0x4a')](handleError(_0x22e810,null));};exports[_0x3f0a('0x2b')]=function(_0x34388,_0x4ebfe2){return db['MailQueue'][_0x3f0a('0x4d')]({'where':{'id':_0x34388[_0x3f0a('0x4c')]['id']}})[_0x3f0a('0x2a')](handleEntityNotFound(_0x4ebfe2,null))[_0x3f0a('0x2a')](removeEntity(_0x4ebfe2,null))[_0x3f0a('0x4a')](handleError(_0x4ebfe2,null));};exports[_0x3f0a('0x56')]=function(_0x2dc92e,_0x4cdc07){return db['MailQueue'][_0x3f0a('0x56')]()['then'](respondWithResult(_0x4cdc07,null))['catch'](handleError(_0x4cdc07,null));};exports['getMembers']=function(_0x322a6f,_0x5ea38e,_0x51e30e){var _0x4a6a44={'raw':!![],'where':{}},_0x4dc226={},_0x532263;return db[_0x3f0a('0x32')][_0x3f0a('0x57')]({'where':{'id':_0x322a6f[_0x3f0a('0x4c')]['id']}})[_0x3f0a('0x2a')](handleEntityNotFound(_0x5ea38e,null))[_0x3f0a('0x2a')](function(_0x1a78e5){if(_0x1a78e5){_0x532263=_0x1a78e5[_0x3f0a('0x2c')]({'plain':!![]});_0x4dc226[_0x3f0a('0x36')]=_[_0x3f0a('0x39')](db[_0x3f0a('0x58')][_0x3f0a('0x33')]);_0x4dc226[_0x3f0a('0x38')]=_['keys'](_0x322a6f[_0x3f0a('0x38')]);_0x4dc226[_0x3f0a('0x3a')]=_['intersection'](_0x4dc226['model'],_0x4dc226[_0x3f0a('0x38')]);_0x4a6a44['attributes']=_[_0x3f0a('0x3b')](_0x4dc226[_0x3f0a('0x36')],qs['fields'](_0x322a6f[_0x3f0a('0x38')][_0x3f0a('0x3d')]));_0x4a6a44[_0x3f0a('0x3c')]=_0x4a6a44[_0x3f0a('0x3c')]['length']?_0x4a6a44[_0x3f0a('0x3c')]:_0x4dc226['model'];if(!_0x322a6f[_0x3f0a('0x38')][_0x3f0a('0x3e')](_0x3f0a('0x3f'))){_0x4a6a44[_0x3f0a('0x25')]=qs[_0x3f0a('0x25')](_0x322a6f[_0x3f0a('0x38')][_0x3f0a('0x25')]);_0x4a6a44['offset']=qs[_0x3f0a('0x23')](_0x322a6f[_0x3f0a('0x38')][_0x3f0a('0x23')]);}_0x4a6a44[_0x3f0a('0x59')]=qs[_0x3f0a('0x40')](_0x322a6f['query'][_0x3f0a('0x40')]);_0x4a6a44[_0x3f0a('0x45')]=qs[_0x3f0a('0x3a')](_[_0x3f0a('0x41')](_0x322a6f['query'],_0x4dc226[_0x3f0a('0x3a')]));_0x4a6a44['where'][_0x3f0a('0x5a')]=_0x1a78e5['id'];if(_0x322a6f[_0x3f0a('0x38')][_0x3f0a('0x5b')]){_0x4a6a44['where']=_[_0x3f0a('0x42')](_0x4a6a44['where'],{'$or':_[_0x3f0a('0x37')](_0x4a6a44[_0x3f0a('0x3c')],function(_0x34784b){var _0x5e30ba={};_0x5e30ba[_0x34784b]={'$like':'%'+_0x322a6f[_0x3f0a('0x38')][_0x3f0a('0x5b')]+'%'};return _0x5e30ba;})});}_0x4a6a44=_[_0x3f0a('0x42')]({},_0x4a6a44,_0x322a6f[_0x3f0a('0x44')]);return db[_0x3f0a('0x58')][_0x3f0a('0x49')](_0x4a6a44);}})['then'](function(_0x14af66){if(_0x14af66){return db[_0x3f0a('0x5c')][_0x3f0a('0x5d')]({'where':{'id':_[_0x3f0a('0x37')](_0x14af66,'UserId'),'role':_0x3f0a('0x5e')},'attributes':['id','name',_0x3f0a('0x5f'),_0x3f0a('0x60'),_0x3f0a('0x61')]});}})['then'](function(_0x141c21){if(_0x141c21){return{'count':_0x141c21[_0x3f0a('0x46')],'rows':_[_0x3f0a('0x37')](_0x141c21[_0x3f0a('0x62')],function(_0x4551dc){return{'membername':_0x4551dc[_0x3f0a('0x2f')],'UserId':_0x4551dc['id'],'queue_name':_0x532263[_0x3f0a('0x2f')],'MailQueueId':_0x532263['id'],'interface':util[_0x3f0a('0x63')](_0x3f0a('0x64'),'SIP',_0x4551dc[_0x3f0a('0x2f')]),'penalty':0x0,'paused':_0x4551dc[_0x3f0a('0x5f')],'createdAt':_0x4551dc[_0x3f0a('0x61')],'updatedAt':_0x4551dc[_0x3f0a('0x60')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x3f0a('0x2a')](respondWithFilteredResult(_0x5ea38e,_0x4a6a44))[_0x3f0a('0x4a')](handleError(_0x5ea38e,null));};exports[_0x3f0a('0x65')]=function(_0x3136af,_0x243a7c,_0x45707e){var _0x28fe69={};var _0x2620b9={};var _0x5127e1;var _0x1130ab;return db[_0x3f0a('0x32')][_0x3f0a('0x57')]({'where':{'id':_0x3136af[_0x3f0a('0x4c')]['id']}})['then'](handleEntityNotFound(_0x243a7c,null))['then'](function(_0x57bcef){if(_0x57bcef){_0x5127e1=_0x57bcef;_0x2620b9['model']=_[_0x3f0a('0x39')](db[_0x3f0a('0x66')][_0x3f0a('0x33')]);_0x2620b9['query']=_[_0x3f0a('0x39')](_0x3136af['query']);_0x2620b9[_0x3f0a('0x3a')]=_[_0x3f0a('0x3b')](_0x2620b9[_0x3f0a('0x36')],_0x2620b9[_0x3f0a('0x38')]);_0x28fe69[_0x3f0a('0x3c')]=_[_0x3f0a('0x3b')](_0x2620b9[_0x3f0a('0x36')],qs[_0x3f0a('0x3d')](_0x3136af[_0x3f0a('0x38')][_0x3f0a('0x3d')]));_0x28fe69['attributes']=_0x28fe69[_0x3f0a('0x3c')][_0x3f0a('0x67')]?_0x28fe69[_0x3f0a('0x3c')]:_0x2620b9[_0x3f0a('0x36')];_0x28fe69[_0x3f0a('0x59')]=qs['sort'](_0x3136af[_0x3f0a('0x38')][_0x3f0a('0x40')]);_0x28fe69[_0x3f0a('0x45')]=qs['filters'](_[_0x3f0a('0x41')](_0x3136af[_0x3f0a('0x38')],_0x2620b9[_0x3f0a('0x3a')]));if(_0x3136af[_0x3f0a('0x38')][_0x3f0a('0x5b')]){_0x28fe69['where']=_[_0x3f0a('0x42')](_0x28fe69[_0x3f0a('0x45')],{'$or':_[_0x3f0a('0x37')](_0x28fe69['attributes'],function(_0xdd1ec){var _0x4bd27b={};_0x4bd27b[_0xdd1ec]={'$like':'%'+_0x3136af['query'][_0x3f0a('0x5b')]+'%'};return _0x4bd27b;})});}_0x28fe69=_[_0x3f0a('0x42')]({},_0x28fe69,_0x3136af[_0x3f0a('0x44')]);return _0x5127e1['getTeams'](_0x28fe69);}})[_0x3f0a('0x2a')](function(_0x1bb1fd){if(_0x1bb1fd){_0x1130ab=_0x1bb1fd[_0x3f0a('0x67')];if(!_0x3136af[_0x3f0a('0x38')][_0x3f0a('0x3e')](_0x3f0a('0x3f'))){_0x28fe69[_0x3f0a('0x25')]=qs[_0x3f0a('0x25')](_0x3136af[_0x3f0a('0x38')][_0x3f0a('0x25')]);_0x28fe69[_0x3f0a('0x23')]=qs[_0x3f0a('0x23')](_0x3136af[_0x3f0a('0x38')][_0x3f0a('0x23')]);}return _0x5127e1['getTeams'](_0x28fe69);}})['then'](function(_0x14565c){if(_0x14565c){return _0x14565c?{'count':_0x1130ab,'rows':_0x14565c}:null;}})[_0x3f0a('0x2a')](respondWithResult(_0x243a7c,null))[_0x3f0a('0x4a')](handleError(_0x243a7c,null));};exports[_0x3f0a('0x68')]=function(_0x45de3d,_0x1a7f55,_0x24b198){var _0x2c38e3=_0x45de3d[_0x3f0a('0x4f')]['ids'];return db[_0x3f0a('0x66')][_0x3f0a('0x49')]({'where':{'id':_0x2c38e3},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0x3f0a('0x2f'),_0x3f0a('0x69'),'voicePause',_0x3f0a('0x6a')],'raw':!![]}]})[_0x3f0a('0x2a')](function(_0x37c8e5){if(_0x37c8e5){var _0x36b5c5=_['flatMap'](_0x37c8e5,function(_0x113525){var _0x5a23b3=_0x113525[_0x3f0a('0x2c')]({'plain':!![]});return _0x5a23b3[_0x3f0a('0x6b')];});return db[_0x3f0a('0x32')]['find']({'where':{'id':_0x45de3d[_0x3f0a('0x4c')]['id']}})['then'](function(_0x24f9d9){return db[_0x3f0a('0x6c')][_0x3f0a('0x6d')](function(_0x4d846e){return _0x24f9d9[_0x3f0a('0x68')](_0x2c38e3,{'transaction':_0x4d846e})['then'](function(){return BPromise[_0x3f0a('0x6e')](_0x36b5c5,function(_0x38f1fb){return db['UserMailQueue'][_0x3f0a('0x6f')]({'where':{'UserId':_0x38f1fb['id'],'MailQueueId':_0x45de3d[_0x3f0a('0x4c')]['id']},'transaction':_0x4d846e});});})[_0x3f0a('0x2a')](function(){_0x36b5c5[_0x3f0a('0x70')](function(_0x34c20c){socket[_0x3f0a('0x71')](_0x3f0a('0x72'),{'UserId':_0x34c20c['id'],'MailQueueId':_0x24f9d9['id']});});});});});}})[_0x3f0a('0x2a')](respondWithStatusCode(_0x1a7f55,null))['catch'](handleError(_0x1a7f55,null));};exports[_0x3f0a('0x73')]=function(_0x40a612,_0x4a14e7,_0x1fea16){return db[_0x3f0a('0x66')][_0x3f0a('0x49')]({'where':{'id':_0x40a612[_0x3f0a('0x38')][_0x3f0a('0x74')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x3f0a('0x6b'),'attributes':['id'],'raw':!![]}]})[_0x3f0a('0x2a')](handleEntityNotFound(_0x4a14e7,null))[_0x3f0a('0x2a')](function(_0x26d695){var _0x24f9b0=_[_0x3f0a('0x37')](_0x26d695,'id');var _0x5b88f1=[];var _0x4e12b8=[];var _0x14cb9e=squel[_0x3f0a('0x75')]();_0x14cb9e[_0x3f0a('0x76')](_0x3f0a('0x77'))[_0x3f0a('0x78')](_0x3f0a('0x79'),'tq')['join']('user_has_teams','ut',_0x3f0a('0x7a'))['where']('MailQueueId\x20=\x20?',_0x40a612[_0x3f0a('0x4c')]['id']);for(var _0xa60c8f=0x0;_0xa60c8f<_0x26d695[_0x3f0a('0x67')];_0xa60c8f+=0x1){let _0x53ed91=_0x26d695[_0xa60c8f];for(var _0x44ca66=0x0;_0x44ca66<_0x53ed91[_0x3f0a('0x6b')][_0x3f0a('0x67')];_0x44ca66+=0x1){let _0x40853e=_0x53ed91[_0x3f0a('0x6b')][_0x44ca66];var _0xa3a4f0=_0x14cb9e[_0x3f0a('0x7b')]();_0xa3a4f0[_0x3f0a('0x45')](_0x3f0a('0x7c'),_0x40853e['id']);_0x4e12b8[_0x3f0a('0x7d')](db['sequelize'][_0x3f0a('0x38')](_0xa3a4f0[_0x3f0a('0x7e')](),{'type':db['sequelize'][_0x3f0a('0x7f')][_0x3f0a('0x80')]})['then'](function(_0x2a39b7){if(_0x2a39b7[_0x3f0a('0x67')]===0x1){return _0x40853e['id'];}else{var _0x523d12=_[_0x3f0a('0x81')](_[_0x3f0a('0x37')](_0x2a39b7,_0x3f0a('0x82')),function(_0x172c0a){return _[_0x3f0a('0x83')](_0x24f9b0,_0x172c0a);});if(_0x523d12){return _0x40853e['id'];}}}));}}return BPromise[_0x3f0a('0x84')](_0x4e12b8)['then'](function(_0x480045){_0x5b88f1=_(_0x5b88f1)[_0x3f0a('0x85')](_0x480045)[_0x3f0a('0x86')]()[_0x3f0a('0x87')]();return db[_0x3f0a('0x32')][_0x3f0a('0x4d')]({'where':{'id':_0x40a612['params']['id']}})[_0x3f0a('0x2a')](function(_0x3afc66){return db[_0x3f0a('0x6c')][_0x3f0a('0x6d')](function(_0x410c4e){return _0x3afc66['removeTeams'](_0x40a612[_0x3f0a('0x38')][_0x3f0a('0x74')],{'transaction':_0x410c4e})[_0x3f0a('0x2a')](function(){if(!_['isEmpty'](_0x5b88f1)){return _0x3afc66[_0x3f0a('0x88')](_0x5b88f1,{'transaction':_0x410c4e});}})[_0x3f0a('0x2a')](function(){_0x5b88f1[_0x3f0a('0x70')](function(_0x219ee3){socket['emit'](_0x3f0a('0x89'),{'UserId':_0x219ee3,'MailQueueId':_0x3afc66['id']});});});});});});})[_0x3f0a('0x2a')](respondWithStatusCode(_0x4a14e7,null))[_0x3f0a('0x4a')](handleError(_0x4a14e7,null));};exports[_0x3f0a('0x8a')]=function(_0x2029e5,_0x58fdb8,_0x278d53){return db[_0x3f0a('0x32')][_0x3f0a('0x4d')]({'where':{'id':_0x2029e5[_0x3f0a('0x4c')]['id']}})['then'](handleEntityNotFound(_0x58fdb8,null))[_0x3f0a('0x2a')](function(_0x4e6260){if(_0x4e6260){return _0x4e6260[_0x3f0a('0x8a')](_0x2029e5[_0x3f0a('0x4f')][_0x3f0a('0x74')],_[_0x3f0a('0x8b')](_0x2029e5['body'],[_0x3f0a('0x74'),'id'])||{})[_0x3f0a('0x8c')](function(_0x3ac9e1){for(var _0x156295=0x0;_0x156295<_0x2029e5[_0x3f0a('0x4f')]['ids'][_0x3f0a('0x67')];_0x156295+=0x1){socket[_0x3f0a('0x71')](_0x3f0a('0x72'),{'UserId':Number(_0x2029e5['body']['ids'][_0x156295]),'MailQueueId':Number(_0x2029e5[_0x3f0a('0x4c')]['id'])});}return _0x3ac9e1;});}})[_0x3f0a('0x2a')](respondWithResult(_0x58fdb8,null))['catch'](handleError(_0x58fdb8,null));};exports['removeAgents']=function(_0x1c0d2a,_0x8cee91,_0x47df4e){return db[_0x3f0a('0x32')][_0x3f0a('0x4d')]({'where':{'id':_0x1c0d2a[_0x3f0a('0x4c')]['id']}})[_0x3f0a('0x2a')](handleEntityNotFound(_0x8cee91,null))[_0x3f0a('0x2a')](function(_0x304315){if(_0x304315){return _0x304315[_0x3f0a('0x88')](_0x1c0d2a[_0x3f0a('0x38')][_0x3f0a('0x74')])[_0x3f0a('0x2a')](function(){if(_[_0x3f0a('0x8d')](_0x1c0d2a[_0x3f0a('0x38')][_0x3f0a('0x74')])){for(var _0x1085d3=0x0;_0x1085d3<_0x1c0d2a['query']['ids'][_0x3f0a('0x67')];_0x1085d3+=0x1){socket[_0x3f0a('0x71')](_0x3f0a('0x89'),{'UserId':Number(_0x1c0d2a[_0x3f0a('0x38')][_0x3f0a('0x74')][_0x1085d3]),'MailQueueId':Number(_0x1c0d2a['params']['id'])});}}else{socket['emit'](_0x3f0a('0x89'),{'UserId':Number(_0x1c0d2a['query'][_0x3f0a('0x74')]),'MailQueueId':Number(_0x1c0d2a[_0x3f0a('0x4c')]['id'])});}});}})['then'](respondWithStatusCode(_0x8cee91,null))['catch'](handleError(_0x8cee91,null));};exports[_0x3f0a('0x8e')]=function(_0x1dd367,_0x3f2199,_0x575107){var _0xef1e21={};var _0x1bb06d={};var _0x2e76e0;var _0x7a1855;return db[_0x3f0a('0x32')][_0x3f0a('0x57')]({'where':{'id':_0x1dd367['params']['id']}})['then'](handleEntityNotFound(_0x3f2199,null))[_0x3f0a('0x2a')](function(_0x145c03){if(_0x145c03){_0x2e76e0=_0x145c03;_0x1bb06d[_0x3f0a('0x36')]=_[_0x3f0a('0x39')](db[_0x3f0a('0x5c')]['rawAttributes']);_0x1bb06d[_0x3f0a('0x38')]=_[_0x3f0a('0x39')](_0x1dd367[_0x3f0a('0x38')]);_0x1bb06d[_0x3f0a('0x3a')]=_['intersection'](_0x1bb06d[_0x3f0a('0x36')],_0x1bb06d[_0x3f0a('0x38')]);_0xef1e21[_0x3f0a('0x3c')]=_[_0x3f0a('0x3b')](_0x1bb06d['model'],qs['fields'](_0x1dd367['query'][_0x3f0a('0x3d')]));_0xef1e21[_0x3f0a('0x3c')]=_0xef1e21[_0x3f0a('0x3c')][_0x3f0a('0x67')]?_0xef1e21[_0x3f0a('0x3c')]:_0x1bb06d['model'];_0xef1e21[_0x3f0a('0x59')]=qs[_0x3f0a('0x40')](_0x1dd367[_0x3f0a('0x38')][_0x3f0a('0x40')]);_0xef1e21[_0x3f0a('0x45')]=qs[_0x3f0a('0x3a')](_['pick'](_0x1dd367['query'],_0x1bb06d[_0x3f0a('0x3a')]));if(_0x1dd367[_0x3f0a('0x38')][_0x3f0a('0x5b')]){_0xef1e21[_0x3f0a('0x45')]=_['merge'](_0xef1e21[_0x3f0a('0x45')],{'$or':_[_0x3f0a('0x37')](_0xef1e21[_0x3f0a('0x3c')],function(_0x2dde90){var _0x50d9e8={};_0x50d9e8[_0x2dde90]={'$like':'%'+_0x1dd367[_0x3f0a('0x38')][_0x3f0a('0x5b')]+'%'};return _0x50d9e8;})});}_0xef1e21=_[_0x3f0a('0x42')]({},_0xef1e21,_0x1dd367[_0x3f0a('0x44')]);return _0x2e76e0[_0x3f0a('0x8e')](_0xef1e21);}})[_0x3f0a('0x2a')](function(_0x48a1bf){if(_0x48a1bf){_0x7a1855=_0x48a1bf[_0x3f0a('0x67')];if(!_0x1dd367[_0x3f0a('0x38')][_0x3f0a('0x3e')]('nolimit')){_0xef1e21[_0x3f0a('0x25')]=qs[_0x3f0a('0x25')](_0x1dd367['query'][_0x3f0a('0x25')]);_0xef1e21[_0x3f0a('0x23')]=qs[_0x3f0a('0x23')](_0x1dd367['query'][_0x3f0a('0x23')]);}return _0x2e76e0[_0x3f0a('0x8e')](_0xef1e21);}})[_0x3f0a('0x2a')](function(_0x37398a){if(_0x37398a){return _0x37398a?{'count':_0x7a1855,'rows':_0x37398a}:null;}})[_0x3f0a('0x2a')](respondWithResult(_0x3f2199,null))[_0x3f0a('0x4a')](handleError(_0x3f2199,null));};