9e387b9cc5fc03c488c25ae25b55c524677e1a8f
[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 _0x6b1c=['save','update','destroy','then','get','MailQueues','UserProfileResource','error','stack','name','send','index','map','MailQueue','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','pick','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','getMembers','findOne','UserMailQueue','MailQueueId','filter','User','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','%s/%s','Team','getTeams','nolimit','addTeams','ids','voicePause','interface','flatMap','Agents','sequelize','transaction','each','findOrCreate','forEach','emit','userMailQueue:save','removeTeams','tq.TeamId','team_has_mail_queues','join','MailQueueId\x20=\x20?','clone','push','toString','SELECT','every','includes','all','union','compact','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','omit','isArray','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','ejs','lodash','squel','crypto','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x6b1c,0xf3));var _0xc6b1=function(_0x2555d0,_0x4150a6){_0x2555d0=_0x2555d0-0x0;var _0x3bb486=_0x6b1c[_0x2555d0];return _0x3bb486;};'use strict';var emlformat=require(_0xc6b1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xc6b1('0x1'));var jsonpatch=require(_0xc6b1('0x2'));var rp=require(_0xc6b1('0x3'));var moment=require(_0xc6b1('0x4'));var BPromise=require(_0xc6b1('0x5'));var Mustache=require(_0xc6b1('0x6'));var util=require('util');var path=require(_0xc6b1('0x7'));var sox=require('sox');var csv=require(_0xc6b1('0x8'));var ejs=require(_0xc6b1('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc6b1('0xa'));var squel=require(_0xc6b1('0xb'));var crypto=require(_0xc6b1('0xc'));var jsforce=require(_0xc6b1('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xc6b1('0x8'));var querystring=require(_0xc6b1('0xe'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xc6b1('0xf'));var qs=require(_0xc6b1('0x10'));var as=require(_0xc6b1('0x11'));var hardwareService=require(_0xc6b1('0x12'));var logger=require(_0xc6b1('0x13'))(_0xc6b1('0x14'));var utils=require('../../config/utils');var config=require(_0xc6b1('0x15'));var licenseUtil=require(_0xc6b1('0x16'));var db=require(_0xc6b1('0x17'))['db'];config[_0xc6b1('0x18')]=_[_0xc6b1('0x19')](config['redis'],{'host':_0xc6b1('0x1a'),'port':0x18eb});var socket=require(_0xc6b1('0x1b'))(new Redis(config[_0xc6b1('0x18')]));require(_0xc6b1('0x1c'))['register'](socket);function respondWithStatusCode(_0x547ef4,_0x4607ee){_0x4607ee=_0x4607ee||0xcc;return function(_0x12079c){if(_0x12079c){return _0x547ef4[_0xc6b1('0x1d')](_0x4607ee);}return _0x547ef4[_0xc6b1('0x1e')](_0x4607ee)[_0xc6b1('0x1f')]();};}function respondWithResult(_0x6885bd,_0x4ba242){_0x4ba242=_0x4ba242||0xc8;return function(_0x4fbf72){if(_0x4fbf72){return _0x6885bd[_0xc6b1('0x1e')](_0x4ba242)[_0xc6b1('0x20')](_0x4fbf72);}};}function respondWithFilteredResult(_0x16ca82,_0x4c1fec){return function(_0x2c4bae){if(_0x2c4bae){var _0x40a267=typeof _0x4c1fec['offset']===_0xc6b1('0x21')&&typeof _0x4c1fec[_0xc6b1('0x22')]===_0xc6b1('0x21');var _0x4bee15=_0x2c4bae[_0xc6b1('0x23')];var _0x3fb9e8=_0x40a267?0x0:_0x4c1fec[_0xc6b1('0x24')];var _0xe1480f=_0x40a267?_0x2c4bae['count']:_0x4c1fec['offset']+_0x4c1fec[_0xc6b1('0x22')];var _0x1582a2;if(_0xe1480f>=_0x4bee15){_0xe1480f=_0x4bee15;_0x1582a2=0xc8;}else{_0x1582a2=0xce;}_0x16ca82[_0xc6b1('0x1e')](_0x1582a2);return _0x16ca82[_0xc6b1('0x25')](_0xc6b1('0x26'),_0x3fb9e8+'-'+_0xe1480f+'/'+_0x4bee15)[_0xc6b1('0x20')](_0x2c4bae);}return null;};}function patchUpdates(_0x2c17c3){return function(_0xda9ac){try{jsonpatch[_0xc6b1('0x27')](_0xda9ac,_0x2c17c3,!![]);}catch(_0x100a03){return BPromise[_0xc6b1('0x28')](_0x100a03);}return _0xda9ac[_0xc6b1('0x29')]();};}function saveUpdates(_0x279fbf,_0x9a919c){return function(_0x311b3f){if(_0x311b3f){return _0x311b3f[_0xc6b1('0x2a')](_0x279fbf)['then'](function(_0x2d2f13){return _0x2d2f13;});}return null;};}function removeEntity(_0x5afcb5,_0x2b657d){return function(_0x2b0a39){if(_0x2b0a39){return _0x2b0a39[_0xc6b1('0x2b')]()[_0xc6b1('0x2c')](function(){var _0x50e052=_0x2b0a39[_0xc6b1('0x2d')]({'plain':!![]});var _0x2942bb=_0xc6b1('0x2e');return db[_0xc6b1('0x2f')][_0xc6b1('0x2b')]({'where':{'type':_0x2942bb,'resourceId':_0x50e052['id']}})[_0xc6b1('0x2c')](function(){return _0x2b0a39;});})[_0xc6b1('0x2c')](function(){_0x5afcb5['status'](0xcc)[_0xc6b1('0x1f')]();});}};}function handleEntityNotFound(_0x16ec61,_0x284f6c){return function(_0x1dbe23){if(!_0x1dbe23){_0x16ec61[_0xc6b1('0x1d')](0x194);}return _0x1dbe23;};}function handleError(_0x10533c,_0x5979cc){_0x5979cc=_0x5979cc||0x1f4;return function(_0x2c85bf){logger[_0xc6b1('0x30')](_0x2c85bf[_0xc6b1('0x31')]);if(_0x2c85bf['name']){delete _0x2c85bf[_0xc6b1('0x32')];}_0x10533c[_0xc6b1('0x1e')](_0x5979cc)[_0xc6b1('0x33')](_0x2c85bf);};}exports[_0xc6b1('0x34')]=function(_0x4e35de,_0x4a4839){var _0x453a9c={},_0x5dc371={},_0xe55de5={'count':0x0,'rows':[]};var _0x352f0d=_[_0xc6b1('0x35')](db[_0xc6b1('0x36')][_0xc6b1('0x37')],function(_0x1bf092){return{'name':_0x1bf092[_0xc6b1('0x38')],'type':_0x1bf092[_0xc6b1('0x39')][_0xc6b1('0x3a')]};});_0x5dc371[_0xc6b1('0x3b')]=_['map'](_0x352f0d,'name');_0x5dc371[_0xc6b1('0x3c')]=_['keys'](_0x4e35de[_0xc6b1('0x3c')]);_0x5dc371[_0xc6b1('0x3d')]=_[_0xc6b1('0x3e')](_0x5dc371[_0xc6b1('0x3b')],_0x5dc371[_0xc6b1('0x3c')]);_0x453a9c[_0xc6b1('0x3f')]=_[_0xc6b1('0x3e')](_0x5dc371[_0xc6b1('0x3b')],qs[_0xc6b1('0x40')](_0x4e35de['query'][_0xc6b1('0x40')]));_0x453a9c[_0xc6b1('0x3f')]=_0x453a9c[_0xc6b1('0x3f')][_0xc6b1('0x41')]?_0x453a9c[_0xc6b1('0x3f')]:_0x5dc371[_0xc6b1('0x3b')];if(!_0x4e35de[_0xc6b1('0x3c')][_0xc6b1('0x42')]('nolimit')){_0x453a9c['limit']=qs['limit'](_0x4e35de['query'][_0xc6b1('0x22')]);_0x453a9c[_0xc6b1('0x24')]=qs[_0xc6b1('0x24')](_0x4e35de[_0xc6b1('0x3c')]['offset']);}_0x453a9c[_0xc6b1('0x43')]=qs[_0xc6b1('0x44')](_0x4e35de[_0xc6b1('0x3c')]['sort']);_0x453a9c[_0xc6b1('0x45')]=qs[_0xc6b1('0x3d')](_[_0xc6b1('0x46')](_0x4e35de[_0xc6b1('0x3c')],_0x5dc371[_0xc6b1('0x3d')]),_0x352f0d);if(_0x4e35de[_0xc6b1('0x3c')]['filter']){_0x453a9c[_0xc6b1('0x45')]=_[_0xc6b1('0x47')](_0x453a9c[_0xc6b1('0x45')],{'$or':_[_0xc6b1('0x35')](_0x352f0d,function(_0x4834a2){if(_0x4834a2[_0xc6b1('0x39')]!==_0xc6b1('0x48')){var _0x1bbb0f={};_0x1bbb0f[_0x4834a2[_0xc6b1('0x32')]]={'$like':'%'+_0x4e35de[_0xc6b1('0x3c')]['filter']+'%'};return _0x1bbb0f;}})});}_0x453a9c=_['merge']({},_0x453a9c,_0x4e35de[_0xc6b1('0x49')]);var _0x5cb75b={'where':_0x453a9c[_0xc6b1('0x45')]};return db['MailQueue'][_0xc6b1('0x23')](_0x5cb75b)[_0xc6b1('0x2c')](function(_0x29641d){_0xe55de5[_0xc6b1('0x23')]=_0x29641d;if(_0x4e35de[_0xc6b1('0x3c')][_0xc6b1('0x4a')]){_0x453a9c[_0xc6b1('0x4b')]=[{'all':!![]}];}return db[_0xc6b1('0x36')][_0xc6b1('0x4c')](_0x453a9c);})[_0xc6b1('0x2c')](function(_0x21d473){_0xe55de5[_0xc6b1('0x4d')]=_0x21d473;return _0xe55de5;})[_0xc6b1('0x2c')](respondWithFilteredResult(_0x4a4839,_0x453a9c))[_0xc6b1('0x4e')](handleError(_0x4a4839,null));};exports[_0xc6b1('0x4f')]=function(_0xefbd79,_0x517d35){var _0x38d8e3={'raw':!![],'where':{'id':_0xefbd79[_0xc6b1('0x50')]['id']}},_0x2b86b8={};_0x2b86b8[_0xc6b1('0x3b')]=_['keys'](db[_0xc6b1('0x36')]['rawAttributes']);_0x2b86b8[_0xc6b1('0x3c')]=_[_0xc6b1('0x51')](_0xefbd79[_0xc6b1('0x3c')]);_0x2b86b8[_0xc6b1('0x3d')]=_[_0xc6b1('0x3e')](_0x2b86b8['model'],_0x2b86b8[_0xc6b1('0x3c')]);_0x38d8e3[_0xc6b1('0x3f')]=_[_0xc6b1('0x3e')](_0x2b86b8[_0xc6b1('0x3b')],qs[_0xc6b1('0x40')](_0xefbd79[_0xc6b1('0x3c')][_0xc6b1('0x40')]));_0x38d8e3['attributes']=_0x38d8e3[_0xc6b1('0x3f')][_0xc6b1('0x41')]?_0x38d8e3[_0xc6b1('0x3f')]:_0x2b86b8[_0xc6b1('0x3b')];if(_0xefbd79['query'][_0xc6b1('0x4a')]){_0x38d8e3[_0xc6b1('0x4b')]=[{'all':!![]}];}_0x38d8e3=_[_0xc6b1('0x47')]({},_0x38d8e3,_0xefbd79['options']);return db['MailQueue'][_0xc6b1('0x52')](_0x38d8e3)[_0xc6b1('0x2c')](handleEntityNotFound(_0x517d35,null))[_0xc6b1('0x2c')](respondWithResult(_0x517d35,null))[_0xc6b1('0x4e')](handleError(_0x517d35,null));};exports[_0xc6b1('0x53')]=function(_0x3fb5de,_0x19037d){return db[_0xc6b1('0x36')][_0xc6b1('0x53')](_0x3fb5de[_0xc6b1('0x54')],{})[_0xc6b1('0x2c')](function(_0x5ba94b){var _0x3c4359=_0x3fb5de[_0xc6b1('0x55')][_0xc6b1('0x2d')]({'plain':!![]});if(!_0x3c4359)throw new Error(_0xc6b1('0x56'));if(_0x3c4359[_0xc6b1('0x57')]===_0xc6b1('0x55')){var _0x26b67b=_0x5ba94b[_0xc6b1('0x2d')]({'plain':!![]});var _0x5d9c88=_0xc6b1('0x2e');return db[_0xc6b1('0x58')][_0xc6b1('0x52')]({'where':{'name':_0x5d9c88,'userProfileId':_0x3c4359[_0xc6b1('0x59')]},'raw':!![]})[_0xc6b1('0x2c')](function(_0x298ccf){if(_0x298ccf&&_0x298ccf[_0xc6b1('0x5a')]===0x0){return db[_0xc6b1('0x2f')][_0xc6b1('0x53')]({'name':_0x26b67b[_0xc6b1('0x32')],'resourceId':_0x26b67b['id'],'type':_0x298ccf['name'],'sectionId':_0x298ccf['id']},{})[_0xc6b1('0x2c')](function(){return _0x5ba94b;});}else{return _0x5ba94b;}})[_0xc6b1('0x4e')](function(_0x2fb48c){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x2fb48c);throw _0x2fb48c;});}return _0x5ba94b;})[_0xc6b1('0x2c')](respondWithResult(_0x19037d,0xc9))['catch'](handleError(_0x19037d,null));};exports[_0xc6b1('0x2a')]=function(_0x5c57ab,_0x490855){if(_0x5c57ab['body']['id']){delete _0x5c57ab['body']['id'];}return db['MailQueue'][_0xc6b1('0x52')]({'where':{'id':_0x5c57ab[_0xc6b1('0x50')]['id']}})[_0xc6b1('0x2c')](handleEntityNotFound(_0x490855,null))[_0xc6b1('0x2c')](saveUpdates(_0x5c57ab[_0xc6b1('0x54')],null))['then'](respondWithResult(_0x490855,null))[_0xc6b1('0x4e')](handleError(_0x490855,null));};exports[_0xc6b1('0x2b')]=function(_0x2d3597,_0x38e1e4){return db[_0xc6b1('0x36')][_0xc6b1('0x52')]({'where':{'id':_0x2d3597[_0xc6b1('0x50')]['id']}})[_0xc6b1('0x2c')](handleEntityNotFound(_0x38e1e4,null))[_0xc6b1('0x2c')](removeEntity(_0x38e1e4,null))['catch'](handleError(_0x38e1e4,null));};exports['describe']=function(_0x1879de,_0x21fc47){return db[_0xc6b1('0x36')]['describe']()[_0xc6b1('0x2c')](respondWithResult(_0x21fc47,null))[_0xc6b1('0x4e')](handleError(_0x21fc47,null));};exports[_0xc6b1('0x5b')]=function(_0x273afa,_0x1a1ae7,_0x2526f9){var _0x2ef2f2={'raw':!![],'where':{}},_0x393201={},_0x5c2db1;return db[_0xc6b1('0x36')][_0xc6b1('0x5c')]({'where':{'id':_0x273afa['params']['id']}})[_0xc6b1('0x2c')](handleEntityNotFound(_0x1a1ae7,null))['then'](function(_0x40bd6c){if(_0x40bd6c){_0x5c2db1=_0x40bd6c[_0xc6b1('0x2d')]({'plain':!![]});_0x393201[_0xc6b1('0x3b')]=_[_0xc6b1('0x51')](db[_0xc6b1('0x5d')][_0xc6b1('0x37')]);_0x393201[_0xc6b1('0x3c')]=_['keys'](_0x273afa[_0xc6b1('0x3c')]);_0x393201[_0xc6b1('0x3d')]=_['intersection'](_0x393201[_0xc6b1('0x3b')],_0x393201[_0xc6b1('0x3c')]);_0x2ef2f2['attributes']=_[_0xc6b1('0x3e')](_0x393201[_0xc6b1('0x3b')],qs[_0xc6b1('0x40')](_0x273afa[_0xc6b1('0x3c')][_0xc6b1('0x40')]));_0x2ef2f2['attributes']=_0x2ef2f2[_0xc6b1('0x3f')][_0xc6b1('0x41')]?_0x2ef2f2[_0xc6b1('0x3f')]:_0x393201[_0xc6b1('0x3b')];if(!_0x273afa[_0xc6b1('0x3c')]['hasOwnProperty']('nolimit')){_0x2ef2f2[_0xc6b1('0x22')]=qs[_0xc6b1('0x22')](_0x273afa['query']['limit']);_0x2ef2f2[_0xc6b1('0x24')]=qs['offset'](_0x273afa[_0xc6b1('0x3c')][_0xc6b1('0x24')]);}_0x2ef2f2[_0xc6b1('0x43')]=qs['sort'](_0x273afa[_0xc6b1('0x3c')][_0xc6b1('0x44')]);_0x2ef2f2[_0xc6b1('0x45')]=qs[_0xc6b1('0x3d')](_[_0xc6b1('0x46')](_0x273afa[_0xc6b1('0x3c')],_0x393201[_0xc6b1('0x3d')]));_0x2ef2f2[_0xc6b1('0x45')][_0xc6b1('0x5e')]=_0x40bd6c['id'];if(_0x273afa[_0xc6b1('0x3c')]['filter']){_0x2ef2f2['where']=_[_0xc6b1('0x47')](_0x2ef2f2[_0xc6b1('0x45')],{'$or':_[_0xc6b1('0x35')](_0x2ef2f2[_0xc6b1('0x3f')],function(_0x3bc5ab){var _0x2499fb={};_0x2499fb[_0x3bc5ab]={'$like':'%'+_0x273afa[_0xc6b1('0x3c')][_0xc6b1('0x5f')]+'%'};return _0x2499fb;})});}_0x2ef2f2=_['merge']({},_0x2ef2f2,_0x273afa[_0xc6b1('0x49')]);return db[_0xc6b1('0x5d')][_0xc6b1('0x4c')](_0x2ef2f2);}})[_0xc6b1('0x2c')](function(_0x53b94e){if(_0x53b94e){return db[_0xc6b1('0x60')][_0xc6b1('0x61')]({'where':{'id':_[_0xc6b1('0x35')](_0x53b94e,_0xc6b1('0x62')),'role':_0xc6b1('0x63')},'attributes':['id',_0xc6b1('0x32'),_0xc6b1('0x64'),_0xc6b1('0x65'),_0xc6b1('0x66')]});}})[_0xc6b1('0x2c')](function(_0x4eb966){if(_0x4eb966){return{'count':_0x4eb966[_0xc6b1('0x23')],'rows':_[_0xc6b1('0x35')](_0x4eb966[_0xc6b1('0x4d')],function(_0x2b0035){return{'membername':_0x2b0035['name'],'UserId':_0x2b0035['id'],'queue_name':_0x5c2db1[_0xc6b1('0x32')],'MailQueueId':_0x5c2db1['id'],'interface':util['format'](_0xc6b1('0x67'),'SIP',_0x2b0035['name']),'penalty':0x0,'paused':_0x2b0035[_0xc6b1('0x64')],'createdAt':_0x2b0035[_0xc6b1('0x66')],'updatedAt':_0x2b0035[_0xc6b1('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xc6b1('0x2c')](respondWithFilteredResult(_0x1a1ae7,_0x2ef2f2))[_0xc6b1('0x4e')](handleError(_0x1a1ae7,null));};exports['getTeams']=function(_0x6d16e5,_0x16137c,_0x305162){var _0x4227a8={};var _0x170259={};var _0x117ca0;var _0x6499db;return db['MailQueue']['findOne']({'where':{'id':_0x6d16e5[_0xc6b1('0x50')]['id']}})['then'](handleEntityNotFound(_0x16137c,null))[_0xc6b1('0x2c')](function(_0x20a31e){if(_0x20a31e){_0x117ca0=_0x20a31e;_0x170259[_0xc6b1('0x3b')]=_[_0xc6b1('0x51')](db[_0xc6b1('0x68')][_0xc6b1('0x37')]);_0x170259[_0xc6b1('0x3c')]=_[_0xc6b1('0x51')](_0x6d16e5[_0xc6b1('0x3c')]);_0x170259[_0xc6b1('0x3d')]=_[_0xc6b1('0x3e')](_0x170259[_0xc6b1('0x3b')],_0x170259[_0xc6b1('0x3c')]);_0x4227a8[_0xc6b1('0x3f')]=_[_0xc6b1('0x3e')](_0x170259[_0xc6b1('0x3b')],qs[_0xc6b1('0x40')](_0x6d16e5[_0xc6b1('0x3c')][_0xc6b1('0x40')]));_0x4227a8['attributes']=_0x4227a8['attributes'][_0xc6b1('0x41')]?_0x4227a8['attributes']:_0x170259[_0xc6b1('0x3b')];_0x4227a8[_0xc6b1('0x43')]=qs[_0xc6b1('0x44')](_0x6d16e5['query'][_0xc6b1('0x44')]);_0x4227a8[_0xc6b1('0x45')]=qs[_0xc6b1('0x3d')](_[_0xc6b1('0x46')](_0x6d16e5[_0xc6b1('0x3c')],_0x170259[_0xc6b1('0x3d')]));if(_0x6d16e5['query'][_0xc6b1('0x5f')]){_0x4227a8[_0xc6b1('0x45')]=_[_0xc6b1('0x47')](_0x4227a8[_0xc6b1('0x45')],{'$or':_['map'](_0x4227a8[_0xc6b1('0x3f')],function(_0x2f9f03){var _0x4f30cf={};_0x4f30cf[_0x2f9f03]={'$like':'%'+_0x6d16e5[_0xc6b1('0x3c')]['filter']+'%'};return _0x4f30cf;})});}_0x4227a8=_[_0xc6b1('0x47')]({},_0x4227a8,_0x6d16e5['options']);return _0x117ca0[_0xc6b1('0x69')](_0x4227a8);}})[_0xc6b1('0x2c')](function(_0x4534f6){if(_0x4534f6){_0x6499db=_0x4534f6['length'];if(!_0x6d16e5['query'][_0xc6b1('0x42')](_0xc6b1('0x6a'))){_0x4227a8[_0xc6b1('0x22')]=qs['limit'](_0x6d16e5['query'][_0xc6b1('0x22')]);_0x4227a8[_0xc6b1('0x24')]=qs[_0xc6b1('0x24')](_0x6d16e5['query'][_0xc6b1('0x24')]);}return _0x117ca0[_0xc6b1('0x69')](_0x4227a8);}})['then'](function(_0x458a7b){if(_0x458a7b){return _0x458a7b?{'count':_0x6499db,'rows':_0x458a7b}:null;}})[_0xc6b1('0x2c')](respondWithResult(_0x16137c,null))[_0xc6b1('0x4e')](handleError(_0x16137c,null));};exports[_0xc6b1('0x6b')]=function(_0x23a447,_0x4b80f2,_0x356de7){var _0x14b2c7=_0x23a447[_0xc6b1('0x54')][_0xc6b1('0x6c')];return db[_0xc6b1('0x68')][_0xc6b1('0x4c')]({'where':{'id':_0x14b2c7},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0xc6b1('0x32'),'online',_0xc6b1('0x6d'),_0xc6b1('0x6e')],'raw':!![]}]})[_0xc6b1('0x2c')](function(_0x117938){if(_0x117938){var _0x3fe772=_[_0xc6b1('0x6f')](_0x117938,function(_0x38a33d){var _0x4594f8=_0x38a33d[_0xc6b1('0x2d')]({'plain':!![]});return _0x4594f8[_0xc6b1('0x70')];});return db[_0xc6b1('0x36')][_0xc6b1('0x52')]({'where':{'id':_0x23a447[_0xc6b1('0x50')]['id']}})[_0xc6b1('0x2c')](function(_0x57e93f){return db[_0xc6b1('0x71')][_0xc6b1('0x72')](function(_0x353ce5){return _0x57e93f[_0xc6b1('0x6b')](_0x14b2c7,{'transaction':_0x353ce5})['then'](function(){return BPromise[_0xc6b1('0x73')](_0x3fe772,function(_0x4324dc){return db['UserMailQueue'][_0xc6b1('0x74')]({'where':{'UserId':_0x4324dc['id'],'MailQueueId':_0x23a447[_0xc6b1('0x50')]['id']},'transaction':_0x353ce5});});})[_0xc6b1('0x2c')](function(){_0x3fe772[_0xc6b1('0x75')](function(_0x4cbd31){socket[_0xc6b1('0x76')](_0xc6b1('0x77'),{'UserId':_0x4cbd31['id'],'MailQueueId':_0x57e93f['id']});});});});});}})[_0xc6b1('0x2c')](respondWithStatusCode(_0x4b80f2,null))['catch'](handleError(_0x4b80f2,null));};exports[_0xc6b1('0x78')]=function(_0x2315aa,_0x847caa,_0x5b8b66){return db[_0xc6b1('0x68')]['findAll']({'where':{'id':_0x2315aa['query'][_0xc6b1('0x6c')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xc6b1('0x70'),'attributes':['id'],'raw':!![]}]})[_0xc6b1('0x2c')](handleEntityNotFound(_0x847caa,null))['then'](function(_0x1696c4){var _0x1a4d82=_[_0xc6b1('0x35')](_0x1696c4,'id');var _0x5c855b=[];var _0xdbefc7=[];var _0x2d625a=squel['select']();_0x2d625a['field'](_0xc6b1('0x79'))['from'](_0xc6b1('0x7a'),'tq')[_0xc6b1('0x7b')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')['where'](_0xc6b1('0x7c'),_0x2315aa[_0xc6b1('0x50')]['id']);for(var _0x5e1247=0x0;_0x5e1247<_0x1696c4[_0xc6b1('0x41')];_0x5e1247+=0x1){let _0x31270f=_0x1696c4[_0x5e1247];for(var _0x3dc660=0x0;_0x3dc660<_0x31270f[_0xc6b1('0x70')][_0xc6b1('0x41')];_0x3dc660+=0x1){let _0x13872b=_0x31270f['Agents'][_0x3dc660];var _0x221435=_0x2d625a[_0xc6b1('0x7d')]();_0x221435[_0xc6b1('0x45')]('ut.UserId\x20=\x20?',_0x13872b['id']);_0xdbefc7[_0xc6b1('0x7e')](db[_0xc6b1('0x71')][_0xc6b1('0x3c')](_0x221435[_0xc6b1('0x7f')](),{'type':db[_0xc6b1('0x71')]['QueryTypes'][_0xc6b1('0x80')]})[_0xc6b1('0x2c')](function(_0x18a196){if(_0x18a196['length']===0x1){return _0x13872b['id'];}else{var _0x267130=_[_0xc6b1('0x81')](_[_0xc6b1('0x35')](_0x18a196,'TeamId'),function(_0x128782){return _[_0xc6b1('0x82')](_0x1a4d82,_0x128782);});if(_0x267130){return _0x13872b['id'];}}}));}}return BPromise[_0xc6b1('0x83')](_0xdbefc7)[_0xc6b1('0x2c')](function(_0x213c08){_0x5c855b=_(_0x5c855b)[_0xc6b1('0x84')](_0x213c08)[_0xc6b1('0x85')]()[_0xc6b1('0x86')]();return db[_0xc6b1('0x36')][_0xc6b1('0x52')]({'where':{'id':_0x2315aa[_0xc6b1('0x50')]['id']}})[_0xc6b1('0x2c')](function(_0x542f35){return db[_0xc6b1('0x71')][_0xc6b1('0x72')](function(_0x54937b){return _0x542f35['removeTeams'](_0x2315aa[_0xc6b1('0x3c')][_0xc6b1('0x6c')],{'transaction':_0x54937b})[_0xc6b1('0x2c')](function(){if(!_[_0xc6b1('0x87')](_0x5c855b)){return _0x542f35[_0xc6b1('0x88')](_0x5c855b,{'transaction':_0x54937b});}})['then'](function(){_0x5c855b[_0xc6b1('0x75')](function(_0x3ea23e){socket['emit'](_0xc6b1('0x89'),{'UserId':_0x3ea23e,'MailQueueId':_0x542f35['id']});});});});});});})['then'](respondWithStatusCode(_0x847caa,null))['catch'](handleError(_0x847caa,null));};exports[_0xc6b1('0x8a')]=function(_0x1a2bbe,_0x1d1f69,_0x32e123){return db[_0xc6b1('0x36')]['find']({'where':{'id':_0x1a2bbe['params']['id']}})[_0xc6b1('0x2c')](handleEntityNotFound(_0x1d1f69,null))[_0xc6b1('0x2c')](function(_0x108433){if(_0x108433){return _0x108433[_0xc6b1('0x8a')](_0x1a2bbe[_0xc6b1('0x54')][_0xc6b1('0x6c')],_[_0xc6b1('0x8b')](_0x1a2bbe[_0xc6b1('0x54')],['ids','id'])||{})['spread'](function(_0x4edc41){for(var _0x38e8f9=0x0;_0x38e8f9<_0x1a2bbe[_0xc6b1('0x54')]['ids'][_0xc6b1('0x41')];_0x38e8f9+=0x1){socket[_0xc6b1('0x76')](_0xc6b1('0x77'),{'UserId':Number(_0x1a2bbe['body'][_0xc6b1('0x6c')][_0x38e8f9]),'MailQueueId':Number(_0x1a2bbe[_0xc6b1('0x50')]['id'])});}return _0x4edc41;});}})['then'](respondWithResult(_0x1d1f69,null))[_0xc6b1('0x4e')](handleError(_0x1d1f69,null));};exports[_0xc6b1('0x88')]=function(_0x25fa01,_0x3423ed,_0x2e9173){return db['MailQueue'][_0xc6b1('0x52')]({'where':{'id':_0x25fa01['params']['id']}})[_0xc6b1('0x2c')](handleEntityNotFound(_0x3423ed,null))[_0xc6b1('0x2c')](function(_0x3a479b){if(_0x3a479b){return _0x3a479b[_0xc6b1('0x88')](_0x25fa01['query'][_0xc6b1('0x6c')])[_0xc6b1('0x2c')](function(){if(_[_0xc6b1('0x8c')](_0x25fa01[_0xc6b1('0x3c')][_0xc6b1('0x6c')])){for(var _0xcd0d00=0x0;_0xcd0d00<_0x25fa01['query'][_0xc6b1('0x6c')][_0xc6b1('0x41')];_0xcd0d00+=0x1){socket[_0xc6b1('0x76')](_0xc6b1('0x89'),{'UserId':Number(_0x25fa01[_0xc6b1('0x3c')][_0xc6b1('0x6c')][_0xcd0d00]),'MailQueueId':Number(_0x25fa01[_0xc6b1('0x50')]['id'])});}}else{socket['emit'](_0xc6b1('0x89'),{'UserId':Number(_0x25fa01[_0xc6b1('0x3c')][_0xc6b1('0x6c')]),'MailQueueId':Number(_0x25fa01[_0xc6b1('0x50')]['id'])});}});}})[_0xc6b1('0x2c')](respondWithStatusCode(_0x3423ed,null))[_0xc6b1('0x4e')](handleError(_0x3423ed,null));};exports[_0xc6b1('0x8d')]=function(_0x19228f,_0xb86a87,_0x3643a7){var _0x2221af={};var _0x155944={};var _0x3fd1e7;var _0x4734d6;return db[_0xc6b1('0x36')][_0xc6b1('0x5c')]({'where':{'id':_0x19228f['params']['id']}})[_0xc6b1('0x2c')](handleEntityNotFound(_0xb86a87,null))[_0xc6b1('0x2c')](function(_0x4d8cd5){if(_0x4d8cd5){_0x3fd1e7=_0x4d8cd5;_0x155944[_0xc6b1('0x3b')]=_[_0xc6b1('0x51')](db['User'][_0xc6b1('0x37')]);_0x155944[_0xc6b1('0x3c')]=_[_0xc6b1('0x51')](_0x19228f[_0xc6b1('0x3c')]);_0x155944[_0xc6b1('0x3d')]=_[_0xc6b1('0x3e')](_0x155944[_0xc6b1('0x3b')],_0x155944[_0xc6b1('0x3c')]);_0x2221af[_0xc6b1('0x3f')]=_['intersection'](_0x155944[_0xc6b1('0x3b')],qs[_0xc6b1('0x40')](_0x19228f[_0xc6b1('0x3c')][_0xc6b1('0x40')]));_0x2221af[_0xc6b1('0x3f')]=_0x2221af[_0xc6b1('0x3f')][_0xc6b1('0x41')]?_0x2221af['attributes']:_0x155944[_0xc6b1('0x3b')];_0x2221af[_0xc6b1('0x43')]=qs[_0xc6b1('0x44')](_0x19228f['query']['sort']);_0x2221af[_0xc6b1('0x45')]=qs[_0xc6b1('0x3d')](_[_0xc6b1('0x46')](_0x19228f['query'],_0x155944[_0xc6b1('0x3d')]));if(_0x19228f[_0xc6b1('0x3c')][_0xc6b1('0x5f')]){_0x2221af[_0xc6b1('0x45')]=_[_0xc6b1('0x47')](_0x2221af['where'],{'$or':_[_0xc6b1('0x35')](_0x2221af[_0xc6b1('0x3f')],function(_0x45afac){var _0x3386b6={};_0x3386b6[_0x45afac]={'$like':'%'+_0x19228f['query']['filter']+'%'};return _0x3386b6;})});}_0x2221af=_['merge']({},_0x2221af,_0x19228f['options']);return _0x3fd1e7[_0xc6b1('0x8d')](_0x2221af);}})[_0xc6b1('0x2c')](function(_0xcfa510){if(_0xcfa510){_0x4734d6=_0xcfa510[_0xc6b1('0x41')];if(!_0x19228f[_0xc6b1('0x3c')]['hasOwnProperty'](_0xc6b1('0x6a'))){_0x2221af[_0xc6b1('0x22')]=qs[_0xc6b1('0x22')](_0x19228f[_0xc6b1('0x3c')][_0xc6b1('0x22')]);_0x2221af['offset']=qs[_0xc6b1('0x24')](_0x19228f['query'][_0xc6b1('0x24')]);}return _0x3fd1e7[_0xc6b1('0x8d')](_0x2221af);}})['then'](function(_0x2c6555){if(_0x2c6555){return _0x2c6555?{'count':_0x4734d6,'rows':_0x2c6555}:null;}})[_0xc6b1('0x2c')](respondWithResult(_0xb86a87,null))['catch'](handleError(_0xb86a87,null));};