a39447a981d03313403cbbeaab298b8efcdb360d
[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 _0xb74e=['model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','include','findAll','catch','show','params','length','includeAll','options','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','findOne','UserMailQueue','MailQueueId','User','findAndCountAll','UserId','agent','mailPause','rows','format','SIP','updatedAt','getTeams','Team','addTeams','ids','Agents','voicePause','interface','flatMap','each','findOrCreate','emit','userMailQueue:save','removeTeams','select','field','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','TeamId','all','union','compact','transaction','isEmpty','removeAgents','forEach','addAgents','omit','spread','userMailQueue:remove','getAgents','rimraf','zip-dir','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','get','MailQueues','UserProfileResource','destroy','end','sendStatus','stack','name','send','index','map','MailQueue','rawAttributes','fieldName'];(function(_0x2511c6,_0x5859ca){var _0x10a803=function(_0x3fb3a2){while(--_0x3fb3a2){_0x2511c6['push'](_0x2511c6['shift']());}};_0x10a803(++_0x5859ca);}(_0xb74e,0xe9));var _0xeb74=function(_0x507983,_0x2b5796){_0x507983=_0x507983-0x0;var _0x18b440=_0xb74e[_0x507983];return _0x18b440;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xeb74('0x0'));var zipdir=require(_0xeb74('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xeb74('0x2'));var Mustache=require(_0xeb74('0x3'));var util=require(_0xeb74('0x4'));var path=require('path');var sox=require(_0xeb74('0x5'));var csv=require(_0xeb74('0x6'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xeb74('0x7'));var _=require(_0xeb74('0x8'));var squel=require(_0xeb74('0x9'));var crypto=require(_0xeb74('0xa'));var jsforce=require(_0xeb74('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xeb74('0x6'));var querystring=require(_0xeb74('0xc'));var Papa=require(_0xeb74('0xd'));var Redis=require(_0xeb74('0xe'));var authService=require(_0xeb74('0xf'));var qs=require(_0xeb74('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xeb74('0x11'));var logger=require('../../config/logger')('api');var utils=require(_0xeb74('0x12'));var config=require(_0xeb74('0x13'));var licenseUtil=require(_0xeb74('0x14'));var db=require('../../mysqldb')['db'];config[_0xeb74('0x15')]=_[_0xeb74('0x16')](config[_0xeb74('0x15')],{'host':_0xeb74('0x17'),'port':0x18eb});var socket=require(_0xeb74('0x18'))(new Redis(config[_0xeb74('0x15')]));require(_0xeb74('0x19'))['register'](socket);function respondWithStatusCode(_0x44cda0,_0x16a894){_0x16a894=_0x16a894||0xcc;return function(_0x2be65f){if(_0x2be65f){return _0x44cda0['sendStatus'](_0x16a894);}return _0x44cda0[_0xeb74('0x1a')](_0x16a894)['end']();};}function respondWithResult(_0x30d5c1,_0x3431ef){_0x3431ef=_0x3431ef||0xc8;return function(_0x48d84d){if(_0x48d84d){return _0x30d5c1[_0xeb74('0x1a')](_0x3431ef)[_0xeb74('0x1b')](_0x48d84d);}};}function respondWithFilteredResult(_0x30cf30,_0xb6581b){return function(_0x34b468){if(_0x34b468){var _0x350029=typeof _0xb6581b[_0xeb74('0x1c')]===_0xeb74('0x1d')&&typeof _0xb6581b[_0xeb74('0x1e')]==='undefined';var _0x48e505=_0x34b468['count'];var _0x53b194=_0x350029?0x0:_0xb6581b[_0xeb74('0x1c')];var _0x1b9ff7=_0x350029?_0x34b468[_0xeb74('0x1f')]:_0xb6581b[_0xeb74('0x1c')]+_0xb6581b[_0xeb74('0x1e')];var _0x21cab1;if(_0x1b9ff7>=_0x48e505){_0x1b9ff7=_0x48e505;_0x21cab1=0xc8;}else{_0x21cab1=0xce;}_0x30cf30['status'](_0x21cab1);return _0x30cf30[_0xeb74('0x20')](_0xeb74('0x21'),_0x53b194+'-'+_0x1b9ff7+'/'+_0x48e505)[_0xeb74('0x1b')](_0x34b468);}return null;};}function patchUpdates(_0x53aa27){return function(_0x42b72e){try{jsonpatch[_0xeb74('0x22')](_0x42b72e,_0x53aa27,!![]);}catch(_0x2399ea){return BPromise[_0xeb74('0x23')](_0x2399ea);}return _0x42b72e[_0xeb74('0x24')]();};}function saveUpdates(_0x3d4e1e,_0x2d51ef){return function(_0x19bd6c){if(_0x19bd6c){return _0x19bd6c[_0xeb74('0x25')](_0x3d4e1e)[_0xeb74('0x26')](function(_0x14ee82){return _0x14ee82;});}return null;};}function removeEntity(_0x21ff21,_0x95855a){return function(_0x1d3e45){if(_0x1d3e45){return _0x1d3e45['destroy']()[_0xeb74('0x26')](function(){var _0x5baa7b=_0x1d3e45[_0xeb74('0x27')]({'plain':!![]});var _0x18e8b8=_0xeb74('0x28');return db[_0xeb74('0x29')][_0xeb74('0x2a')]({'where':{'type':_0x18e8b8,'resourceId':_0x5baa7b['id']}})[_0xeb74('0x26')](function(){return _0x1d3e45;});})[_0xeb74('0x26')](function(){_0x21ff21[_0xeb74('0x1a')](0xcc)[_0xeb74('0x2b')]();});}};}function handleEntityNotFound(_0x2c912e,_0x2b1857){return function(_0x4cbb41){if(!_0x4cbb41){_0x2c912e[_0xeb74('0x2c')](0x194);}return _0x4cbb41;};}function handleError(_0x1a91c1,_0x5ba981){_0x5ba981=_0x5ba981||0x1f4;return function(_0x2084e6){logger['error'](_0x2084e6[_0xeb74('0x2d')]);if(_0x2084e6[_0xeb74('0x2e')]){delete _0x2084e6[_0xeb74('0x2e')];}_0x1a91c1['status'](_0x5ba981)[_0xeb74('0x2f')](_0x2084e6);};}exports[_0xeb74('0x30')]=function(_0x5209b8,_0x237d75){var _0x4877a8={},_0x570c63={},_0x2ae215={'count':0x0,'rows':[]};var _0xbc71e9=_[_0xeb74('0x31')](db[_0xeb74('0x32')][_0xeb74('0x33')],function(_0x4a3699){return{'name':_0x4a3699[_0xeb74('0x34')],'type':_0x4a3699['type']['key']};});_0x570c63[_0xeb74('0x35')]=_[_0xeb74('0x31')](_0xbc71e9,'name');_0x570c63[_0xeb74('0x36')]=_[_0xeb74('0x37')](_0x5209b8['query']);_0x570c63[_0xeb74('0x38')]=_[_0xeb74('0x39')](_0x570c63[_0xeb74('0x35')],_0x570c63[_0xeb74('0x36')]);_0x4877a8[_0xeb74('0x3a')]=_['intersection'](_0x570c63[_0xeb74('0x35')],qs[_0xeb74('0x3b')](_0x5209b8['query'][_0xeb74('0x3b')]));_0x4877a8[_0xeb74('0x3a')]=_0x4877a8[_0xeb74('0x3a')]['length']?_0x4877a8[_0xeb74('0x3a')]:_0x570c63[_0xeb74('0x35')];if(!_0x5209b8[_0xeb74('0x36')][_0xeb74('0x3c')](_0xeb74('0x3d'))){_0x4877a8[_0xeb74('0x1e')]=qs[_0xeb74('0x1e')](_0x5209b8[_0xeb74('0x36')][_0xeb74('0x1e')]);_0x4877a8['offset']=qs[_0xeb74('0x1c')](_0x5209b8[_0xeb74('0x36')][_0xeb74('0x1c')]);}_0x4877a8[_0xeb74('0x3e')]=qs[_0xeb74('0x3f')](_0x5209b8[_0xeb74('0x36')]['sort']);_0x4877a8[_0xeb74('0x40')]=qs[_0xeb74('0x38')](_[_0xeb74('0x41')](_0x5209b8[_0xeb74('0x36')],_0x570c63[_0xeb74('0x38')]),_0xbc71e9);if(_0x5209b8[_0xeb74('0x36')][_0xeb74('0x42')]){_0x4877a8[_0xeb74('0x40')]=_[_0xeb74('0x43')](_0x4877a8[_0xeb74('0x40')],{'$or':_[_0xeb74('0x31')](_0xbc71e9,function(_0x493185){if(_0x493185[_0xeb74('0x44')]!==_0xeb74('0x45')){var _0x3e3f53={};_0x3e3f53[_0x493185[_0xeb74('0x2e')]]={'$like':'%'+_0x5209b8[_0xeb74('0x36')][_0xeb74('0x42')]+'%'};return _0x3e3f53;}})});}_0x4877a8=_['merge']({},_0x4877a8,_0x5209b8['options']);var _0x2f25e5={'where':_0x4877a8['where']};return db[_0xeb74('0x32')][_0xeb74('0x1f')](_0x2f25e5)['then'](function(_0x53eb75){_0x2ae215['count']=_0x53eb75;if(_0x5209b8[_0xeb74('0x36')]['includeAll']){_0x4877a8[_0xeb74('0x46')]=[{'all':!![]}];}return db['MailQueue'][_0xeb74('0x47')](_0x4877a8);})[_0xeb74('0x26')](function(_0x45e7ce){_0x2ae215['rows']=_0x45e7ce;return _0x2ae215;})[_0xeb74('0x26')](respondWithFilteredResult(_0x237d75,_0x4877a8))[_0xeb74('0x48')](handleError(_0x237d75,null));};exports[_0xeb74('0x49')]=function(_0x139d2c,_0xee2a7){var _0x1bbd4d={'raw':!![],'where':{'id':_0x139d2c[_0xeb74('0x4a')]['id']}},_0x159161={};_0x159161[_0xeb74('0x35')]=_[_0xeb74('0x37')](db[_0xeb74('0x32')][_0xeb74('0x33')]);_0x159161[_0xeb74('0x36')]=_[_0xeb74('0x37')](_0x139d2c[_0xeb74('0x36')]);_0x159161[_0xeb74('0x38')]=_[_0xeb74('0x39')](_0x159161[_0xeb74('0x35')],_0x159161[_0xeb74('0x36')]);_0x1bbd4d['attributes']=_[_0xeb74('0x39')](_0x159161[_0xeb74('0x35')],qs[_0xeb74('0x3b')](_0x139d2c[_0xeb74('0x36')][_0xeb74('0x3b')]));_0x1bbd4d['attributes']=_0x1bbd4d[_0xeb74('0x3a')][_0xeb74('0x4b')]?_0x1bbd4d[_0xeb74('0x3a')]:_0x159161[_0xeb74('0x35')];if(_0x139d2c['query'][_0xeb74('0x4c')]){_0x1bbd4d[_0xeb74('0x46')]=[{'all':!![]}];}_0x1bbd4d=_[_0xeb74('0x43')]({},_0x1bbd4d,_0x139d2c[_0xeb74('0x4d')]);return db[_0xeb74('0x32')]['find'](_0x1bbd4d)[_0xeb74('0x26')](handleEntityNotFound(_0xee2a7,null))[_0xeb74('0x26')](respondWithResult(_0xee2a7,null))[_0xeb74('0x48')](handleError(_0xee2a7,null));};exports[_0xeb74('0x4e')]=function(_0x55934e,_0xc4980a){return db[_0xeb74('0x32')]['create'](_0x55934e[_0xeb74('0x4f')],{})['then'](function(_0xb0d949){var _0x2053d1=_0x55934e[_0xeb74('0x50')]['get']({'plain':!![]});if(!_0x2053d1)throw new Error(_0xeb74('0x51'));if(_0x2053d1[_0xeb74('0x52')]===_0xeb74('0x50')){var _0x1e2e25=_0xb0d949[_0xeb74('0x27')]({'plain':!![]});var _0x4b592d=_0xeb74('0x28');return db[_0xeb74('0x53')][_0xeb74('0x54')]({'where':{'name':_0x4b592d,'userProfileId':_0x2053d1[_0xeb74('0x55')]},'raw':!![]})['then'](function(_0x1e8e76){if(_0x1e8e76&&_0x1e8e76[_0xeb74('0x56')]===0x0){return db[_0xeb74('0x29')][_0xeb74('0x4e')]({'name':_0x1e2e25[_0xeb74('0x2e')],'resourceId':_0x1e2e25['id'],'type':_0x1e8e76['name'],'sectionId':_0x1e8e76['id']},{})[_0xeb74('0x26')](function(){return _0xb0d949;});}else{return _0xb0d949;}})['catch'](function(_0x230ca6){logger[_0xeb74('0x57')](_0xeb74('0x58'),_0x230ca6);throw _0x230ca6;});}return _0xb0d949;})[_0xeb74('0x26')](respondWithResult(_0xc4980a,0xc9))[_0xeb74('0x48')](handleError(_0xc4980a,null));};exports[_0xeb74('0x25')]=function(_0x43bc17,_0x3a3416){if(_0x43bc17[_0xeb74('0x4f')]['id']){delete _0x43bc17[_0xeb74('0x4f')]['id'];}return db[_0xeb74('0x32')]['find']({'where':{'id':_0x43bc17['params']['id']}})[_0xeb74('0x26')](handleEntityNotFound(_0x3a3416,null))[_0xeb74('0x26')](saveUpdates(_0x43bc17[_0xeb74('0x4f')],null))[_0xeb74('0x26')](respondWithResult(_0x3a3416,null))[_0xeb74('0x48')](handleError(_0x3a3416,null));};exports[_0xeb74('0x2a')]=function(_0x42133c,_0x413374){return db['MailQueue']['find']({'where':{'id':_0x42133c[_0xeb74('0x4a')]['id']}})['then'](handleEntityNotFound(_0x413374,null))['then'](removeEntity(_0x413374,null))['catch'](handleError(_0x413374,null));};exports['describe']=function(_0x5a753c,_0x558b8a){return db[_0xeb74('0x32')]['describe']()[_0xeb74('0x26')](respondWithResult(_0x558b8a,null))[_0xeb74('0x48')](handleError(_0x558b8a,null));};exports[_0xeb74('0x59')]=function(_0x4a7ad2,_0x2ca329,_0x5e2d3c){var _0x422fa3={'raw':!![],'where':{}},_0x4530af={},_0x45d013;return db[_0xeb74('0x32')][_0xeb74('0x5a')]({'where':{'id':_0x4a7ad2['params']['id']}})[_0xeb74('0x26')](handleEntityNotFound(_0x2ca329,null))[_0xeb74('0x26')](function(_0x3f987b){if(_0x3f987b){_0x45d013=_0x3f987b[_0xeb74('0x27')]({'plain':!![]});_0x4530af[_0xeb74('0x35')]=_[_0xeb74('0x37')](db[_0xeb74('0x5b')][_0xeb74('0x33')]);_0x4530af[_0xeb74('0x36')]=_[_0xeb74('0x37')](_0x4a7ad2[_0xeb74('0x36')]);_0x4530af[_0xeb74('0x38')]=_[_0xeb74('0x39')](_0x4530af['model'],_0x4530af['query']);_0x422fa3[_0xeb74('0x3a')]=_['intersection'](_0x4530af[_0xeb74('0x35')],qs[_0xeb74('0x3b')](_0x4a7ad2['query'][_0xeb74('0x3b')]));_0x422fa3[_0xeb74('0x3a')]=_0x422fa3[_0xeb74('0x3a')]['length']?_0x422fa3[_0xeb74('0x3a')]:_0x4530af[_0xeb74('0x35')];if(!_0x4a7ad2[_0xeb74('0x36')]['hasOwnProperty'](_0xeb74('0x3d'))){_0x422fa3[_0xeb74('0x1e')]=qs[_0xeb74('0x1e')](_0x4a7ad2[_0xeb74('0x36')][_0xeb74('0x1e')]);_0x422fa3[_0xeb74('0x1c')]=qs[_0xeb74('0x1c')](_0x4a7ad2['query'][_0xeb74('0x1c')]);}_0x422fa3[_0xeb74('0x3e')]=qs['sort'](_0x4a7ad2[_0xeb74('0x36')][_0xeb74('0x3f')]);_0x422fa3['where']=qs[_0xeb74('0x38')](_[_0xeb74('0x41')](_0x4a7ad2[_0xeb74('0x36')],_0x4530af[_0xeb74('0x38')]));_0x422fa3['where'][_0xeb74('0x5c')]=_0x3f987b['id'];if(_0x4a7ad2[_0xeb74('0x36')][_0xeb74('0x42')]){_0x422fa3['where']=_[_0xeb74('0x43')](_0x422fa3[_0xeb74('0x40')],{'$or':_[_0xeb74('0x31')](_0x422fa3['attributes'],function(_0x2bc4e4){var _0x2db6a5={};_0x2db6a5[_0x2bc4e4]={'$like':'%'+_0x4a7ad2[_0xeb74('0x36')][_0xeb74('0x42')]+'%'};return _0x2db6a5;})});}_0x422fa3=_[_0xeb74('0x43')]({},_0x422fa3,_0x4a7ad2['options']);return db[_0xeb74('0x5b')][_0xeb74('0x47')](_0x422fa3);}})['then'](function(_0x397a57){if(_0x397a57){return db[_0xeb74('0x5d')][_0xeb74('0x5e')]({'where':{'id':_[_0xeb74('0x31')](_0x397a57,_0xeb74('0x5f')),'role':_0xeb74('0x60')},'attributes':['id',_0xeb74('0x2e'),_0xeb74('0x61'),'updatedAt','createdAt']});}})[_0xeb74('0x26')](function(_0x25b252){if(_0x25b252){return{'count':_0x25b252[_0xeb74('0x1f')],'rows':_['map'](_0x25b252[_0xeb74('0x62')],function(_0x2ee9e4){return{'membername':_0x2ee9e4[_0xeb74('0x2e')],'UserId':_0x2ee9e4['id'],'queue_name':_0x45d013[_0xeb74('0x2e')],'MailQueueId':_0x45d013['id'],'interface':util[_0xeb74('0x63')]('%s/%s',_0xeb74('0x64'),_0x2ee9e4[_0xeb74('0x2e')]),'penalty':0x0,'paused':_0x2ee9e4[_0xeb74('0x61')],'createdAt':_0x2ee9e4['createdAt'],'updatedAt':_0x2ee9e4[_0xeb74('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xeb74('0x26')](respondWithFilteredResult(_0x2ca329,_0x422fa3))[_0xeb74('0x48')](handleError(_0x2ca329,null));};exports[_0xeb74('0x66')]=function(_0xa038de,_0x319e20,_0x34fc3d){var _0x520197={};var _0x5b0514={};var _0x4baee7;var _0x39894e;return db[_0xeb74('0x32')][_0xeb74('0x5a')]({'where':{'id':_0xa038de['params']['id']}})[_0xeb74('0x26')](handleEntityNotFound(_0x319e20,null))[_0xeb74('0x26')](function(_0x39524b){if(_0x39524b){_0x4baee7=_0x39524b;_0x5b0514[_0xeb74('0x35')]=_[_0xeb74('0x37')](db[_0xeb74('0x67')][_0xeb74('0x33')]);_0x5b0514[_0xeb74('0x36')]=_['keys'](_0xa038de[_0xeb74('0x36')]);_0x5b0514['filters']=_['intersection'](_0x5b0514['model'],_0x5b0514[_0xeb74('0x36')]);_0x520197[_0xeb74('0x3a')]=_['intersection'](_0x5b0514[_0xeb74('0x35')],qs[_0xeb74('0x3b')](_0xa038de[_0xeb74('0x36')][_0xeb74('0x3b')]));_0x520197[_0xeb74('0x3a')]=_0x520197['attributes'][_0xeb74('0x4b')]?_0x520197[_0xeb74('0x3a')]:_0x5b0514[_0xeb74('0x35')];_0x520197['order']=qs[_0xeb74('0x3f')](_0xa038de['query'][_0xeb74('0x3f')]);_0x520197[_0xeb74('0x40')]=qs[_0xeb74('0x38')](_[_0xeb74('0x41')](_0xa038de[_0xeb74('0x36')],_0x5b0514[_0xeb74('0x38')]));if(_0xa038de[_0xeb74('0x36')][_0xeb74('0x42')]){_0x520197[_0xeb74('0x40')]=_['merge'](_0x520197[_0xeb74('0x40')],{'$or':_[_0xeb74('0x31')](_0x520197['attributes'],function(_0x356d8a){var _0x177303={};_0x177303[_0x356d8a]={'$like':'%'+_0xa038de[_0xeb74('0x36')][_0xeb74('0x42')]+'%'};return _0x177303;})});}_0x520197=_[_0xeb74('0x43')]({},_0x520197,_0xa038de[_0xeb74('0x4d')]);return _0x4baee7['getTeams'](_0x520197);}})['then'](function(_0x55671d){if(_0x55671d){_0x39894e=_0x55671d[_0xeb74('0x4b')];if(!_0xa038de[_0xeb74('0x36')][_0xeb74('0x3c')](_0xeb74('0x3d'))){_0x520197['limit']=qs[_0xeb74('0x1e')](_0xa038de['query']['limit']);_0x520197[_0xeb74('0x1c')]=qs[_0xeb74('0x1c')](_0xa038de[_0xeb74('0x36')][_0xeb74('0x1c')]);}return _0x4baee7[_0xeb74('0x66')](_0x520197);}})[_0xeb74('0x26')](function(_0x4aa437){if(_0x4aa437){return _0x4aa437?{'count':_0x39894e,'rows':_0x4aa437}:null;}})[_0xeb74('0x26')](respondWithResult(_0x319e20,null))[_0xeb74('0x48')](handleError(_0x319e20,null));};exports[_0xeb74('0x68')]=function(_0x2707e0,_0x162443,_0xfd6b9c){var _0xc3080d=_0x2707e0[_0xeb74('0x4f')][_0xeb74('0x69')];return db[_0xeb74('0x67')]['findAll']({'where':{'id':_0xc3080d},'attributes':['id'],'include':[{'model':db[_0xeb74('0x5d')],'as':_0xeb74('0x6a'),'attributes':['id',_0xeb74('0x2e'),'online',_0xeb74('0x6b'),_0xeb74('0x6c')],'raw':!![]}]})['then'](function(_0x347b5d){if(_0x347b5d){var _0x20f23f=_[_0xeb74('0x6d')](_0x347b5d,function(_0xab385){var _0x9b58e8=_0xab385[_0xeb74('0x27')]({'plain':!![]});return _0x9b58e8[_0xeb74('0x6a')];});return db[_0xeb74('0x32')][_0xeb74('0x54')]({'where':{'id':_0x2707e0[_0xeb74('0x4a')]['id']}})['then'](function(_0x27ec13){return db['sequelize']['transaction'](function(_0x540973){return _0x27ec13[_0xeb74('0x68')](_0xc3080d,{'transaction':_0x540973})[_0xeb74('0x26')](function(){return BPromise[_0xeb74('0x6e')](_0x20f23f,function(_0x2d712a){return db[_0xeb74('0x5b')][_0xeb74('0x6f')]({'where':{'UserId':_0x2d712a['id'],'MailQueueId':_0x2707e0[_0xeb74('0x4a')]['id']},'transaction':_0x540973});});})[_0xeb74('0x26')](function(){_0x20f23f['forEach'](function(_0x17f93e){socket[_0xeb74('0x70')](_0xeb74('0x71'),{'UserId':_0x17f93e['id'],'MailQueueId':_0x27ec13['id']});});});});});}})[_0xeb74('0x26')](respondWithStatusCode(_0x162443,null))[_0xeb74('0x48')](handleError(_0x162443,null));};exports[_0xeb74('0x72')]=function(_0x51e158,_0x404614,_0x191d19){return db[_0xeb74('0x67')]['findAll']({'where':{'id':_0x51e158[_0xeb74('0x36')][_0xeb74('0x69')]},'attributes':['id'],'include':[{'model':db[_0xeb74('0x5d')],'as':_0xeb74('0x6a'),'attributes':['id'],'raw':!![]}]})[_0xeb74('0x26')](handleEntityNotFound(_0x404614,null))[_0xeb74('0x26')](function(_0x1adab8){var _0x105929=_[_0xeb74('0x31')](_0x1adab8,'id');var _0x11476b=[];var _0x259522=[];var _0x22ba37=squel[_0xeb74('0x73')]();_0x22ba37[_0xeb74('0x74')]('tq.TeamId')[_0xeb74('0x75')](_0xeb74('0x76'),'tq')[_0xeb74('0x77')](_0xeb74('0x78'),'ut',_0xeb74('0x79'))[_0xeb74('0x40')](_0xeb74('0x7a'),_0x51e158[_0xeb74('0x4a')]['id']);for(var _0x2897be=0x0;_0x2897be<_0x1adab8['length'];_0x2897be+=0x1){let _0x56a3be=_0x1adab8[_0x2897be];for(var _0xd182bb=0x0;_0xd182bb<_0x56a3be['Agents']['length'];_0xd182bb+=0x1){let _0x41c8fb=_0x56a3be[_0xeb74('0x6a')][_0xd182bb];var _0x135db3=_0x22ba37[_0xeb74('0x7b')]();_0x135db3[_0xeb74('0x40')](_0xeb74('0x7c'),_0x41c8fb['id']);_0x259522[_0xeb74('0x7d')](db[_0xeb74('0x7e')][_0xeb74('0x36')](_0x135db3[_0xeb74('0x7f')](),{'type':db[_0xeb74('0x7e')][_0xeb74('0x80')][_0xeb74('0x81')]})[_0xeb74('0x26')](function(_0x13bcc9){if(_0x13bcc9[_0xeb74('0x4b')]===0x1){return _0x41c8fb['id'];}else{var _0xb0fd14=_['every'](_[_0xeb74('0x31')](_0x13bcc9,_0xeb74('0x82')),function(_0x1890c6){return _['includes'](_0x105929,_0x1890c6);});if(_0xb0fd14){return _0x41c8fb['id'];}}}));}}return BPromise[_0xeb74('0x83')](_0x259522)[_0xeb74('0x26')](function(_0x42dc71){_0x11476b=_(_0x11476b)[_0xeb74('0x84')](_0x42dc71)[_0xeb74('0x85')]()['value']();return db[_0xeb74('0x32')][_0xeb74('0x54')]({'where':{'id':_0x51e158[_0xeb74('0x4a')]['id']}})[_0xeb74('0x26')](function(_0x5f552a){return db[_0xeb74('0x7e')][_0xeb74('0x86')](function(_0x2db91e){return _0x5f552a[_0xeb74('0x72')](_0x51e158['query'][_0xeb74('0x69')],{'transaction':_0x2db91e})[_0xeb74('0x26')](function(){if(!_[_0xeb74('0x87')](_0x11476b)){return _0x5f552a[_0xeb74('0x88')](_0x11476b,{'transaction':_0x2db91e});}})[_0xeb74('0x26')](function(){_0x11476b[_0xeb74('0x89')](function(_0x58bf1){socket[_0xeb74('0x70')]('userMailQueue:remove',{'UserId':_0x58bf1,'MailQueueId':_0x5f552a['id']});});});});});});})[_0xeb74('0x26')](respondWithStatusCode(_0x404614,null))[_0xeb74('0x48')](handleError(_0x404614,null));};exports[_0xeb74('0x8a')]=function(_0x11f8df,_0x286af3,_0x206555){return db['MailQueue']['find']({'where':{'id':_0x11f8df[_0xeb74('0x4a')]['id']}})[_0xeb74('0x26')](handleEntityNotFound(_0x286af3,null))[_0xeb74('0x26')](function(_0x28f113){if(_0x28f113){return _0x28f113['addAgents'](_0x11f8df['body'][_0xeb74('0x69')],_[_0xeb74('0x8b')](_0x11f8df[_0xeb74('0x4f')],['ids','id'])||{})[_0xeb74('0x8c')](function(_0x404722){for(var _0x3f1aab=0x0;_0x3f1aab<_0x11f8df['body'][_0xeb74('0x69')][_0xeb74('0x4b')];_0x3f1aab+=0x1){socket[_0xeb74('0x70')](_0xeb74('0x71'),{'UserId':Number(_0x11f8df[_0xeb74('0x4f')][_0xeb74('0x69')][_0x3f1aab]),'MailQueueId':Number(_0x11f8df[_0xeb74('0x4a')]['id'])});}return _0x404722;});}})['then'](respondWithResult(_0x286af3,null))[_0xeb74('0x48')](handleError(_0x286af3,null));};exports[_0xeb74('0x88')]=function(_0x1e3b64,_0x3f73b9,_0x4f9a8b){return db['MailQueue'][_0xeb74('0x54')]({'where':{'id':_0x1e3b64[_0xeb74('0x4a')]['id']}})['then'](handleEntityNotFound(_0x3f73b9,null))[_0xeb74('0x26')](function(_0x219aaa){if(_0x219aaa){return _0x219aaa[_0xeb74('0x88')](_0x1e3b64['query']['ids'])[_0xeb74('0x26')](function(){if(_['isArray'](_0x1e3b64['query'][_0xeb74('0x69')])){for(var _0x3ced77=0x0;_0x3ced77<_0x1e3b64[_0xeb74('0x36')]['ids'][_0xeb74('0x4b')];_0x3ced77+=0x1){socket[_0xeb74('0x70')]('userMailQueue:remove',{'UserId':Number(_0x1e3b64[_0xeb74('0x36')][_0xeb74('0x69')][_0x3ced77]),'MailQueueId':Number(_0x1e3b64['params']['id'])});}}else{socket[_0xeb74('0x70')](_0xeb74('0x8d'),{'UserId':Number(_0x1e3b64['query']['ids']),'MailQueueId':Number(_0x1e3b64[_0xeb74('0x4a')]['id'])});}});}})[_0xeb74('0x26')](respondWithStatusCode(_0x3f73b9,null))[_0xeb74('0x48')](handleError(_0x3f73b9,null));};exports[_0xeb74('0x8e')]=function(_0x15f5c7,_0x218107,_0xb06452){var _0x14a7ca={};var _0x30c708={};var _0x113bfd;var _0x348641;return db[_0xeb74('0x32')]['findOne']({'where':{'id':_0x15f5c7[_0xeb74('0x4a')]['id']}})[_0xeb74('0x26')](handleEntityNotFound(_0x218107,null))[_0xeb74('0x26')](function(_0x2c6d07){if(_0x2c6d07){_0x113bfd=_0x2c6d07;_0x30c708['model']=_[_0xeb74('0x37')](db[_0xeb74('0x5d')]['rawAttributes']);_0x30c708[_0xeb74('0x36')]=_['keys'](_0x15f5c7[_0xeb74('0x36')]);_0x30c708['filters']=_[_0xeb74('0x39')](_0x30c708[_0xeb74('0x35')],_0x30c708['query']);_0x14a7ca[_0xeb74('0x3a')]=_[_0xeb74('0x39')](_0x30c708['model'],qs['fields'](_0x15f5c7[_0xeb74('0x36')]['fields']));_0x14a7ca['attributes']=_0x14a7ca['attributes'][_0xeb74('0x4b')]?_0x14a7ca[_0xeb74('0x3a')]:_0x30c708[_0xeb74('0x35')];_0x14a7ca[_0xeb74('0x3e')]=qs[_0xeb74('0x3f')](_0x15f5c7[_0xeb74('0x36')]['sort']);_0x14a7ca[_0xeb74('0x40')]=qs[_0xeb74('0x38')](_[_0xeb74('0x41')](_0x15f5c7[_0xeb74('0x36')],_0x30c708['filters']));if(_0x15f5c7[_0xeb74('0x36')][_0xeb74('0x42')]){_0x14a7ca[_0xeb74('0x40')]=_[_0xeb74('0x43')](_0x14a7ca[_0xeb74('0x40')],{'$or':_[_0xeb74('0x31')](_0x14a7ca['attributes'],function(_0x4f6dc9){var _0x458cae={};_0x458cae[_0x4f6dc9]={'$like':'%'+_0x15f5c7['query'][_0xeb74('0x42')]+'%'};return _0x458cae;})});}_0x14a7ca=_[_0xeb74('0x43')]({},_0x14a7ca,_0x15f5c7['options']);return _0x113bfd[_0xeb74('0x8e')](_0x14a7ca);}})[_0xeb74('0x26')](function(_0x7de00e){if(_0x7de00e){_0x348641=_0x7de00e[_0xeb74('0x4b')];if(!_0x15f5c7['query'][_0xeb74('0x3c')](_0xeb74('0x3d'))){_0x14a7ca[_0xeb74('0x1e')]=qs[_0xeb74('0x1e')](_0x15f5c7['query'][_0xeb74('0x1e')]);_0x14a7ca['offset']=qs['offset'](_0x15f5c7[_0xeb74('0x36')][_0xeb74('0x1c')]);}return _0x113bfd['getAgents'](_0x14a7ca);}})['then'](function(_0x3a1c7e){if(_0x3a1c7e){return _0x3a1c7e?{'count':_0x348641,'rows':_0x3a1c7e}:null;}})[_0xeb74('0x26')](respondWithResult(_0x218107,null))['catch'](handleError(_0x218107,null));};