2da53365938d00285b082d02d2692a771ebc99ec
[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 _0x0ffc=['join','clone','ut.UserId\x20=\x20?','toString','QueryTypes','SELECT','every','TeamId','includes','union','compact','isEmpty','removeAgents','userMailQueue:remove','addAgents','omit','emit','isArray','getAgents','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','register','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','name','send','index','map','MailQueue','rawAttributes','fieldName','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','where','pick','type','VIRTUAL','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserMailQueue','sort','MailQueueId','User','findAndCountAll','UserId','mailPause','createdAt','format','%s/%s','SIP','Team','getTeams','ids','Agents','online','interface','flatMap','sequelize','transaction','addTeams','each','forEach','userMailQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_mail_queues'];(function(_0x21f8a8,_0x1d7071){var _0x21d3d5=function(_0x4ee4b4){while(--_0x4ee4b4){_0x21f8a8['push'](_0x21f8a8['shift']());}};_0x21d3d5(++_0x1d7071);}(_0x0ffc,0x9e));var _0xc0ff=function(_0x277849,_0xf2d670){_0x277849=_0x277849-0x0;var _0x33c834=_0x0ffc[_0x277849];return _0x33c834;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xc0ff('0x0'));var rimraf=require(_0xc0ff('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc0ff('0x2'));var rp=require('request-promise');var moment=require(_0xc0ff('0x3'));var BPromise=require(_0xc0ff('0x4'));var Mustache=require(_0xc0ff('0x5'));var util=require(_0xc0ff('0x6'));var path=require(_0xc0ff('0x7'));var sox=require(_0xc0ff('0x8'));var csv=require(_0xc0ff('0x9'));var ejs=require(_0xc0ff('0xa'));var fs=require('fs');var _=require(_0xc0ff('0xb'));var squel=require('squel');var crypto=require(_0xc0ff('0xc'));var jsforce=require(_0xc0ff('0xd'));var deskjs=require(_0xc0ff('0xe'));var toCsv=require(_0xc0ff('0x9'));var querystring=require(_0xc0ff('0xf'));var Papa=require(_0xc0ff('0x10'));var Redis=require(_0xc0ff('0x11'));var authService=require(_0xc0ff('0x12'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc0ff('0x13'));var logger=require('../../config/logger')(_0xc0ff('0x14'));var utils=require(_0xc0ff('0x15'));var config=require(_0xc0ff('0x16'));var licenseUtil=require(_0xc0ff('0x17'));var db=require('../../mysqldb')['db'];config[_0xc0ff('0x18')]=_[_0xc0ff('0x19')](config['redis'],{'host':_0xc0ff('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require('./mailQueue.socket')[_0xc0ff('0x1b')](socket);function respondWithStatusCode(_0xa91369,_0x22c91d){_0x22c91d=_0x22c91d||0xcc;return function(_0x4badd1){if(_0x4badd1){return _0xa91369[_0xc0ff('0x1c')](_0x22c91d);}return _0xa91369[_0xc0ff('0x1d')](_0x22c91d)[_0xc0ff('0x1e')]();};}function respondWithResult(_0x3ab92b,_0x2752f1){_0x2752f1=_0x2752f1||0xc8;return function(_0x1363b3){if(_0x1363b3){return _0x3ab92b[_0xc0ff('0x1d')](_0x2752f1)[_0xc0ff('0x1f')](_0x1363b3);}};}function respondWithFilteredResult(_0x136b31,_0x11014a){return function(_0x265a63){if(_0x265a63){var _0x4e8a36=_0x265a63[_0xc0ff('0x20')],_0x21b852=_0x11014a[_0xc0ff('0x21')],_0x5939e9=_0x11014a['offset']+_0x11014a[_0xc0ff('0x22')],_0x13b3f3;if(_0x5939e9>=_0x4e8a36){_0x5939e9=_0x4e8a36;_0x13b3f3=0xc8;}else{_0x13b3f3=0xce;}_0x136b31[_0xc0ff('0x1d')](_0x13b3f3);return _0x136b31[_0xc0ff('0x23')](_0xc0ff('0x24'),_0x21b852+'-'+_0x5939e9+'/'+_0x4e8a36)[_0xc0ff('0x1f')](_0x265a63);}return null;};}function patchUpdates(_0x1fd7ad){return function(_0x19c320){try{jsonpatch[_0xc0ff('0x25')](_0x19c320,_0x1fd7ad,!![]);}catch(_0x1c3398){return BPromise[_0xc0ff('0x26')](_0x1c3398);}return _0x19c320[_0xc0ff('0x27')]();};}function saveUpdates(_0x219be9,_0xee982d){return function(_0x359df0){if(_0x359df0){return _0x359df0[_0xc0ff('0x28')](_0x219be9)[_0xc0ff('0x29')](function(_0x5ce43e){return _0x5ce43e;});}return null;};}function removeEntity(_0x4200d4,_0x5ba2c3){return function(_0x6d4cd5){if(_0x6d4cd5){return _0x6d4cd5[_0xc0ff('0x2a')]()[_0xc0ff('0x29')](function(){var _0x3fc9c3=_0x6d4cd5[_0xc0ff('0x2b')]({'plain':!![]});var _0x3b4609='MailQueues';return db[_0xc0ff('0x2c')][_0xc0ff('0x2a')]({'where':{'type':_0x3b4609,'resourceId':_0x3fc9c3['id']}})['then'](function(){return _0x6d4cd5;});})['then'](function(){_0x4200d4[_0xc0ff('0x1d')](0xcc)[_0xc0ff('0x1e')]();});}};}function handleEntityNotFound(_0x2509ce,_0x1b0fe2){return function(_0x2f590f){if(!_0x2f590f){_0x2509ce[_0xc0ff('0x1c')](0x194);}return _0x2f590f;};}function handleError(_0x3d5699,_0xed7156){_0xed7156=_0xed7156||0x1f4;return function(_0x91ab27){logger['error'](_0x91ab27['stack']);if(_0x91ab27['name']){delete _0x91ab27[_0xc0ff('0x2d')];}_0x3d5699[_0xc0ff('0x1d')](_0xed7156)[_0xc0ff('0x2e')](_0x91ab27);};}exports[_0xc0ff('0x2f')]=function(_0x5c17ff,_0x773814){var _0x1cd2d4={},_0x327822={},_0x22c943={'count':0x0,'rows':[]};var _0x3bfef3=_[_0xc0ff('0x30')](db[_0xc0ff('0x31')][_0xc0ff('0x32')],function(_0x5f5dbf){return{'name':_0x5f5dbf[_0xc0ff('0x33')],'type':_0x5f5dbf['type']['key']};});_0x327822[_0xc0ff('0x34')]=_[_0xc0ff('0x30')](_0x3bfef3,'name');_0x327822[_0xc0ff('0x35')]=_[_0xc0ff('0x36')](_0x5c17ff[_0xc0ff('0x35')]);_0x327822[_0xc0ff('0x37')]=_[_0xc0ff('0x38')](_0x327822[_0xc0ff('0x34')],_0x327822[_0xc0ff('0x35')]);_0x1cd2d4['attributes']=_[_0xc0ff('0x38')](_0x327822[_0xc0ff('0x34')],qs['fields'](_0x5c17ff[_0xc0ff('0x35')][_0xc0ff('0x39')]));_0x1cd2d4[_0xc0ff('0x3a')]=_0x1cd2d4[_0xc0ff('0x3a')][_0xc0ff('0x3b')]?_0x1cd2d4['attributes']:_0x327822['model'];if(!_0x5c17ff['query'][_0xc0ff('0x3c')](_0xc0ff('0x3d'))){_0x1cd2d4[_0xc0ff('0x22')]=qs[_0xc0ff('0x22')](_0x5c17ff[_0xc0ff('0x35')]['limit']);_0x1cd2d4[_0xc0ff('0x21')]=qs['offset'](_0x5c17ff['query'][_0xc0ff('0x21')]);}_0x1cd2d4[_0xc0ff('0x3e')]=qs['sort'](_0x5c17ff[_0xc0ff('0x35')]['sort']);_0x1cd2d4[_0xc0ff('0x3f')]=qs[_0xc0ff('0x37')](_[_0xc0ff('0x40')](_0x5c17ff[_0xc0ff('0x35')],_0x327822[_0xc0ff('0x37')]),_0x3bfef3);if(_0x5c17ff[_0xc0ff('0x35')]['filter']){_0x1cd2d4['where']=_['merge'](_0x1cd2d4[_0xc0ff('0x3f')],{'$or':_[_0xc0ff('0x30')](_0x3bfef3,function(_0x5006fb){if(_0x5006fb[_0xc0ff('0x41')]!==_0xc0ff('0x42')){var _0x4ce3c5={};_0x4ce3c5[_0x5006fb[_0xc0ff('0x2d')]]={'$like':'%'+_0x5c17ff[_0xc0ff('0x35')][_0xc0ff('0x43')]+'%'};return _0x4ce3c5;}})});}_0x1cd2d4=_[_0xc0ff('0x44')]({},_0x1cd2d4,_0x5c17ff[_0xc0ff('0x45')]);var _0x7b6020={'where':_0x1cd2d4[_0xc0ff('0x3f')]};return db[_0xc0ff('0x31')][_0xc0ff('0x20')](_0x7b6020)[_0xc0ff('0x29')](function(_0x178112){_0x22c943[_0xc0ff('0x20')]=_0x178112;if(_0x5c17ff[_0xc0ff('0x35')][_0xc0ff('0x46')]){_0x1cd2d4[_0xc0ff('0x47')]=[{'all':!![]}];}return db['MailQueue'][_0xc0ff('0x48')](_0x1cd2d4);})[_0xc0ff('0x29')](function(_0x54a143){_0x22c943[_0xc0ff('0x49')]=_0x54a143;return _0x22c943;})[_0xc0ff('0x29')](respondWithFilteredResult(_0x773814,_0x1cd2d4))[_0xc0ff('0x4a')](handleError(_0x773814,null));};exports[_0xc0ff('0x4b')]=function(_0x3bc88d,_0x125335){var _0x31e6cb={'raw':!![],'where':{'id':_0x3bc88d[_0xc0ff('0x4c')]['id']}},_0x480c46={};_0x480c46[_0xc0ff('0x34')]=_[_0xc0ff('0x36')](db[_0xc0ff('0x31')][_0xc0ff('0x32')]);_0x480c46[_0xc0ff('0x35')]=_['keys'](_0x3bc88d[_0xc0ff('0x35')]);_0x480c46[_0xc0ff('0x37')]=_[_0xc0ff('0x38')](_0x480c46[_0xc0ff('0x34')],_0x480c46[_0xc0ff('0x35')]);_0x31e6cb[_0xc0ff('0x3a')]=_[_0xc0ff('0x38')](_0x480c46[_0xc0ff('0x34')],qs[_0xc0ff('0x39')](_0x3bc88d[_0xc0ff('0x35')][_0xc0ff('0x39')]));_0x31e6cb[_0xc0ff('0x3a')]=_0x31e6cb[_0xc0ff('0x3a')][_0xc0ff('0x3b')]?_0x31e6cb[_0xc0ff('0x3a')]:_0x480c46['model'];if(_0x3bc88d[_0xc0ff('0x35')][_0xc0ff('0x46')]){_0x31e6cb['include']=[{'all':!![]}];}_0x31e6cb=_[_0xc0ff('0x44')]({},_0x31e6cb,_0x3bc88d[_0xc0ff('0x45')]);return db[_0xc0ff('0x31')][_0xc0ff('0x4d')](_0x31e6cb)[_0xc0ff('0x29')](handleEntityNotFound(_0x125335,null))['then'](respondWithResult(_0x125335,null))[_0xc0ff('0x4a')](handleError(_0x125335,null));};exports[_0xc0ff('0x4e')]=function(_0x4cf99e,_0x15bd12){return db['MailQueue'][_0xc0ff('0x4e')](_0x4cf99e['body'],{})[_0xc0ff('0x29')](function(_0x3d9159){var _0x4e7768=_0x4cf99e[_0xc0ff('0x4f')][_0xc0ff('0x2b')]({'plain':!![]});if(!_0x4e7768)throw new Error(_0xc0ff('0x50'));if(_0x4e7768[_0xc0ff('0x51')]===_0xc0ff('0x4f')){var _0x579eac=_0x3d9159[_0xc0ff('0x2b')]({'plain':!![]});var _0x206242='MailQueues';return db[_0xc0ff('0x52')][_0xc0ff('0x4d')]({'where':{'name':_0x206242,'userProfileId':_0x4e7768[_0xc0ff('0x53')]},'raw':!![]})['then'](function(_0x1e99ea){if(_0x1e99ea&&_0x1e99ea['autoAssociation']===0x0){return db[_0xc0ff('0x2c')][_0xc0ff('0x4e')]({'name':_0x579eac[_0xc0ff('0x2d')],'resourceId':_0x579eac['id'],'type':_0x1e99ea[_0xc0ff('0x2d')],'sectionId':_0x1e99ea['id']},{})[_0xc0ff('0x29')](function(){return _0x3d9159;});}else{return _0x3d9159;}})[_0xc0ff('0x4a')](function(_0x3ee23c){logger[_0xc0ff('0x54')](_0xc0ff('0x55'),_0x3ee23c);throw _0x3ee23c;});}return _0x3d9159;})[_0xc0ff('0x29')](respondWithResult(_0x15bd12,0xc9))[_0xc0ff('0x4a')](handleError(_0x15bd12,null));};exports[_0xc0ff('0x28')]=function(_0x210ffb,_0x85cc70){if(_0x210ffb['body']['id']){delete _0x210ffb[_0xc0ff('0x56')]['id'];}return db[_0xc0ff('0x31')][_0xc0ff('0x4d')]({'where':{'id':_0x210ffb[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](handleEntityNotFound(_0x85cc70,null))['then'](saveUpdates(_0x210ffb[_0xc0ff('0x56')],null))[_0xc0ff('0x29')](respondWithResult(_0x85cc70,null))[_0xc0ff('0x4a')](handleError(_0x85cc70,null));};exports[_0xc0ff('0x2a')]=function(_0x350665,_0x53fcef){return db['MailQueue']['find']({'where':{'id':_0x350665[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](handleEntityNotFound(_0x53fcef,null))[_0xc0ff('0x29')](removeEntity(_0x53fcef,null))[_0xc0ff('0x4a')](handleError(_0x53fcef,null));};exports['describe']=function(_0x27a18d,_0x501c79){return db[_0xc0ff('0x31')][_0xc0ff('0x57')]()[_0xc0ff('0x29')](respondWithResult(_0x501c79,null))[_0xc0ff('0x4a')](handleError(_0x501c79,null));};exports[_0xc0ff('0x58')]=function(_0x568de9,_0x16cfa6,_0x43c2f7){var _0x2f8122={'raw':!![],'where':{}},_0x2ab795={},_0x243316;return db['MailQueue'][_0xc0ff('0x59')]({'where':{'id':_0x568de9[_0xc0ff('0x4c')]['id']}})['then'](handleEntityNotFound(_0x16cfa6,null))[_0xc0ff('0x29')](function(_0x52ec67){if(_0x52ec67){_0x243316=_0x52ec67[_0xc0ff('0x2b')]({'plain':!![]});_0x2ab795[_0xc0ff('0x34')]=_[_0xc0ff('0x36')](db[_0xc0ff('0x5a')][_0xc0ff('0x32')]);_0x2ab795[_0xc0ff('0x35')]=_[_0xc0ff('0x36')](_0x568de9[_0xc0ff('0x35')]);_0x2ab795[_0xc0ff('0x37')]=_[_0xc0ff('0x38')](_0x2ab795['model'],_0x2ab795['query']);_0x2f8122[_0xc0ff('0x3a')]=_['intersection'](_0x2ab795[_0xc0ff('0x34')],qs[_0xc0ff('0x39')](_0x568de9[_0xc0ff('0x35')][_0xc0ff('0x39')]));_0x2f8122[_0xc0ff('0x3a')]=_0x2f8122[_0xc0ff('0x3a')][_0xc0ff('0x3b')]?_0x2f8122['attributes']:_0x2ab795['model'];if(!_0x568de9[_0xc0ff('0x35')]['hasOwnProperty'](_0xc0ff('0x3d'))){_0x2f8122[_0xc0ff('0x22')]=qs['limit'](_0x568de9[_0xc0ff('0x35')][_0xc0ff('0x22')]);_0x2f8122['offset']=qs[_0xc0ff('0x21')](_0x568de9[_0xc0ff('0x35')][_0xc0ff('0x21')]);}_0x2f8122[_0xc0ff('0x3e')]=qs[_0xc0ff('0x5b')](_0x568de9['query']['sort']);_0x2f8122[_0xc0ff('0x3f')]=qs[_0xc0ff('0x37')](_[_0xc0ff('0x40')](_0x568de9[_0xc0ff('0x35')],_0x2ab795[_0xc0ff('0x37')]));_0x2f8122[_0xc0ff('0x3f')][_0xc0ff('0x5c')]=_0x52ec67['id'];if(_0x568de9[_0xc0ff('0x35')][_0xc0ff('0x43')]){_0x2f8122[_0xc0ff('0x3f')]=_[_0xc0ff('0x44')](_0x2f8122[_0xc0ff('0x3f')],{'$or':_['map'](_0x2f8122['attributes'],function(_0x1ecb4b){var _0x8238fb={};_0x8238fb[_0x1ecb4b]={'$like':'%'+_0x568de9['query']['filter']+'%'};return _0x8238fb;})});}_0x2f8122=_[_0xc0ff('0x44')]({},_0x2f8122,_0x568de9[_0xc0ff('0x45')]);return db[_0xc0ff('0x5a')][_0xc0ff('0x48')](_0x2f8122);}})[_0xc0ff('0x29')](function(_0x1cbeff){if(_0x1cbeff){return db[_0xc0ff('0x5d')][_0xc0ff('0x5e')]({'where':{'id':_[_0xc0ff('0x30')](_0x1cbeff,_0xc0ff('0x5f')),'role':'agent'},'attributes':['id',_0xc0ff('0x2d'),_0xc0ff('0x60'),'updatedAt',_0xc0ff('0x61')]});}})[_0xc0ff('0x29')](function(_0xc6e870){if(_0xc6e870){return{'count':_0xc6e870[_0xc0ff('0x20')],'rows':_[_0xc0ff('0x30')](_0xc6e870['rows'],function(_0x56784c){return{'membername':_0x56784c[_0xc0ff('0x2d')],'UserId':_0x56784c['id'],'queue_name':_0x243316['name'],'MailQueueId':_0x243316['id'],'interface':util[_0xc0ff('0x62')](_0xc0ff('0x63'),_0xc0ff('0x64'),_0x56784c[_0xc0ff('0x2d')]),'penalty':0x0,'paused':_0x56784c[_0xc0ff('0x60')],'createdAt':_0x56784c['createdAt'],'updatedAt':_0x56784c['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xc0ff('0x29')](respondWithFilteredResult(_0x16cfa6,_0x2f8122))[_0xc0ff('0x4a')](handleError(_0x16cfa6,null));};exports['getTeams']=function(_0x48df87,_0x344a23,_0x39bd8f){var _0xfa4855={};var _0x428d01={};var _0x25a162;var _0x3e70d7;return db[_0xc0ff('0x31')][_0xc0ff('0x59')]({'where':{'id':_0x48df87[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](handleEntityNotFound(_0x344a23,null))[_0xc0ff('0x29')](function(_0x463814){if(_0x463814){_0x25a162=_0x463814;_0x428d01[_0xc0ff('0x34')]=_['keys'](db[_0xc0ff('0x65')][_0xc0ff('0x32')]);_0x428d01[_0xc0ff('0x35')]=_['keys'](_0x48df87[_0xc0ff('0x35')]);_0x428d01['filters']=_[_0xc0ff('0x38')](_0x428d01['model'],_0x428d01[_0xc0ff('0x35')]);_0xfa4855[_0xc0ff('0x3a')]=_[_0xc0ff('0x38')](_0x428d01['model'],qs[_0xc0ff('0x39')](_0x48df87[_0xc0ff('0x35')]['fields']));_0xfa4855[_0xc0ff('0x3a')]=_0xfa4855['attributes'][_0xc0ff('0x3b')]?_0xfa4855['attributes']:_0x428d01['model'];_0xfa4855[_0xc0ff('0x3e')]=qs[_0xc0ff('0x5b')](_0x48df87['query'][_0xc0ff('0x5b')]);_0xfa4855[_0xc0ff('0x3f')]=qs['filters'](_[_0xc0ff('0x40')](_0x48df87['query'],_0x428d01[_0xc0ff('0x37')]));if(_0x48df87[_0xc0ff('0x35')]['filter']){_0xfa4855[_0xc0ff('0x3f')]=_['merge'](_0xfa4855[_0xc0ff('0x3f')],{'$or':_['map'](_0xfa4855[_0xc0ff('0x3a')],function(_0x20da33){var _0x14e6cc={};_0x14e6cc[_0x20da33]={'$like':'%'+_0x48df87[_0xc0ff('0x35')][_0xc0ff('0x43')]+'%'};return _0x14e6cc;})});}_0xfa4855=_['merge']({},_0xfa4855,_0x48df87[_0xc0ff('0x45')]);return _0x25a162['getTeams'](_0xfa4855);}})[_0xc0ff('0x29')](function(_0x5a8f96){if(_0x5a8f96){_0x3e70d7=_0x5a8f96[_0xc0ff('0x3b')];if(!_0x48df87[_0xc0ff('0x35')][_0xc0ff('0x3c')](_0xc0ff('0x3d'))){_0xfa4855[_0xc0ff('0x22')]=qs[_0xc0ff('0x22')](_0x48df87[_0xc0ff('0x35')][_0xc0ff('0x22')]);_0xfa4855[_0xc0ff('0x21')]=qs[_0xc0ff('0x21')](_0x48df87[_0xc0ff('0x35')][_0xc0ff('0x21')]);}return _0x25a162[_0xc0ff('0x66')](_0xfa4855);}})[_0xc0ff('0x29')](function(_0x50c272){if(_0x50c272){return _0x50c272?{'count':_0x3e70d7,'rows':_0x50c272}:null;}})[_0xc0ff('0x29')](respondWithResult(_0x344a23,null))[_0xc0ff('0x4a')](handleError(_0x344a23,null));};exports['addTeams']=function(_0x2bd936,_0x3804eb,_0x3f78d6){var _0x3b51c2=_0x2bd936[_0xc0ff('0x56')][_0xc0ff('0x67')];return db['Team'][_0xc0ff('0x48')]({'where':{'id':_0x3b51c2},'attributes':['id'],'include':[{'model':db[_0xc0ff('0x5d')],'as':_0xc0ff('0x68'),'attributes':['id','name',_0xc0ff('0x69'),'voicePause',_0xc0ff('0x6a')],'raw':!![]}]})['then'](function(_0x2ca0cc){if(_0x2ca0cc){var _0x5ccc19=_[_0xc0ff('0x6b')](_0x2ca0cc,function(_0x4031d9){var _0x4efffa=_0x4031d9[_0xc0ff('0x2b')]({'plain':!![]});return _0x4efffa[_0xc0ff('0x68')];});return db[_0xc0ff('0x31')][_0xc0ff('0x4d')]({'where':{'id':_0x2bd936[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](function(_0x4ba15c){return db[_0xc0ff('0x6c')][_0xc0ff('0x6d')](function(_0x1e3705){return _0x4ba15c[_0xc0ff('0x6e')](_0x3b51c2,{'transaction':_0x1e3705})[_0xc0ff('0x29')](function(){return BPromise[_0xc0ff('0x6f')](_0x5ccc19,function(_0x264c95){return db[_0xc0ff('0x5a')]['findOrCreate']({'where':{'UserId':_0x264c95['id'],'MailQueueId':_0x2bd936[_0xc0ff('0x4c')]['id']},'transaction':_0x1e3705});});})[_0xc0ff('0x29')](function(){_0x5ccc19[_0xc0ff('0x70')](function(_0x5a2096){socket['emit'](_0xc0ff('0x71'),{'UserId':_0x5a2096['id'],'MailQueueId':_0x4ba15c['id']});});});});});}})[_0xc0ff('0x29')](respondWithStatusCode(_0x3804eb,null))[_0xc0ff('0x4a')](handleError(_0x3804eb,null));};exports[_0xc0ff('0x72')]=function(_0x4e3543,_0x41dfe6,_0x2fca3d){return db[_0xc0ff('0x65')][_0xc0ff('0x48')]({'where':{'id':_0x4e3543[_0xc0ff('0x35')][_0xc0ff('0x67')]},'attributes':['id'],'include':[{'model':db[_0xc0ff('0x5d')],'as':_0xc0ff('0x68'),'attributes':['id'],'raw':!![]}]})[_0xc0ff('0x29')](handleEntityNotFound(_0x41dfe6,null))[_0xc0ff('0x29')](function(_0x556546){var _0x48405e=_['map'](_0x556546,'id');var _0x85ddb7=[];var _0x59d9da=[];var _0x9b2f03=squel[_0xc0ff('0x73')]();_0x9b2f03[_0xc0ff('0x74')](_0xc0ff('0x75'))[_0xc0ff('0x76')](_0xc0ff('0x77'),'tq')[_0xc0ff('0x78')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0xc0ff('0x3f')]('MailQueueId\x20=\x20?',_0x4e3543[_0xc0ff('0x4c')]['id']);for(var _0x4fa714=0x0;_0x4fa714<_0x556546[_0xc0ff('0x3b')];_0x4fa714+=0x1){let _0x341871=_0x556546[_0x4fa714];for(var _0x6296b1=0x0;_0x6296b1<_0x341871[_0xc0ff('0x68')][_0xc0ff('0x3b')];_0x6296b1+=0x1){let _0x27cb5e=_0x341871[_0xc0ff('0x68')][_0x6296b1];var _0x128543=_0x9b2f03[_0xc0ff('0x79')]();_0x128543[_0xc0ff('0x3f')](_0xc0ff('0x7a'),_0x27cb5e['id']);_0x59d9da['push'](db[_0xc0ff('0x6c')][_0xc0ff('0x35')](_0x128543[_0xc0ff('0x7b')](),{'type':db['sequelize'][_0xc0ff('0x7c')][_0xc0ff('0x7d')]})[_0xc0ff('0x29')](function(_0x27f389){if(_0x27f389[_0xc0ff('0x3b')]===0x1){return _0x27cb5e['id'];}else{var _0xe8c5bc=_[_0xc0ff('0x7e')](_[_0xc0ff('0x30')](_0x27f389,_0xc0ff('0x7f')),function(_0x1862c3){return _[_0xc0ff('0x80')](_0x48405e,_0x1862c3);});if(_0xe8c5bc){return _0x27cb5e['id'];}}}));}}return BPromise['all'](_0x59d9da)[_0xc0ff('0x29')](function(_0xfc0251){_0x85ddb7=_(_0x85ddb7)[_0xc0ff('0x81')](_0xfc0251)[_0xc0ff('0x82')]()['value']();return db[_0xc0ff('0x31')]['find']({'where':{'id':_0x4e3543['params']['id']}})[_0xc0ff('0x29')](function(_0xc0e99f){return db[_0xc0ff('0x6c')][_0xc0ff('0x6d')](function(_0x4aa5d4){return _0xc0e99f[_0xc0ff('0x72')](_0x4e3543['query'][_0xc0ff('0x67')],{'transaction':_0x4aa5d4})[_0xc0ff('0x29')](function(){if(!_[_0xc0ff('0x83')](_0x85ddb7)){return _0xc0e99f[_0xc0ff('0x84')](_0x85ddb7,{'transaction':_0x4aa5d4});}})['then'](function(){_0x85ddb7['forEach'](function(_0x1f2734){socket['emit'](_0xc0ff('0x85'),{'UserId':_0x1f2734,'MailQueueId':_0xc0e99f['id']});});});});});});})[_0xc0ff('0x29')](respondWithStatusCode(_0x41dfe6,null))[_0xc0ff('0x4a')](handleError(_0x41dfe6,null));};exports[_0xc0ff('0x86')]=function(_0x2e357c,_0x3c3e43,_0xdc4da4){return db[_0xc0ff('0x31')][_0xc0ff('0x4d')]({'where':{'id':_0x2e357c[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](handleEntityNotFound(_0x3c3e43,null))[_0xc0ff('0x29')](function(_0x485de3){if(_0x485de3){return _0x485de3[_0xc0ff('0x86')](_0x2e357c[_0xc0ff('0x56')]['ids'],_[_0xc0ff('0x87')](_0x2e357c[_0xc0ff('0x56')],[_0xc0ff('0x67'),'id'])||{})['spread'](function(_0x1aaed4){for(var _0xc23deb=0x0;_0xc23deb<_0x2e357c[_0xc0ff('0x56')]['ids'][_0xc0ff('0x3b')];_0xc23deb+=0x1){socket[_0xc0ff('0x88')](_0xc0ff('0x71'),{'UserId':_0x2e357c[_0xc0ff('0x56')]['ids'][_0xc23deb],'MailQueueId':_0x2e357c[_0xc0ff('0x4c')]['id']});}return _0x1aaed4;});}})[_0xc0ff('0x29')](respondWithResult(_0x3c3e43,null))[_0xc0ff('0x4a')](handleError(_0x3c3e43,null));};exports[_0xc0ff('0x84')]=function(_0x2b36dd,_0x408a51,_0x3c6d0c){return db[_0xc0ff('0x31')][_0xc0ff('0x4d')]({'where':{'id':_0x2b36dd[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](handleEntityNotFound(_0x408a51,null))[_0xc0ff('0x29')](function(_0x295ed6){if(_0x295ed6){return _0x295ed6[_0xc0ff('0x84')](_0x2b36dd[_0xc0ff('0x35')][_0xc0ff('0x67')])['then'](function(){if(_[_0xc0ff('0x89')](_0x2b36dd['query']['ids'])){for(var _0xe452bc=0x0;_0xe452bc<_0x2b36dd[_0xc0ff('0x35')][_0xc0ff('0x67')][_0xc0ff('0x3b')];_0xe452bc+=0x1){socket['emit'](_0xc0ff('0x85'),{'UserId':Number(_0x2b36dd[_0xc0ff('0x35')][_0xc0ff('0x67')][_0xe452bc]),'MailQueueId':Number(_0x2b36dd[_0xc0ff('0x4c')]['id'])});}}else{socket[_0xc0ff('0x88')](_0xc0ff('0x85'),{'UserId':Number(_0x2b36dd[_0xc0ff('0x35')]['ids']),'MailQueueId':Number(_0x2b36dd[_0xc0ff('0x4c')]['id'])});}});}})[_0xc0ff('0x29')](respondWithStatusCode(_0x408a51,null))[_0xc0ff('0x4a')](handleError(_0x408a51,null));};exports[_0xc0ff('0x8a')]=function(_0x2d3332,_0x28dc94,_0x45bb15){var _0x4723ac={};var _0x448a6e={};var _0x336ab9;var _0x8cac17;return db[_0xc0ff('0x31')][_0xc0ff('0x59')]({'where':{'id':_0x2d3332[_0xc0ff('0x4c')]['id']}})[_0xc0ff('0x29')](handleEntityNotFound(_0x28dc94,null))[_0xc0ff('0x29')](function(_0x5ed5f8){if(_0x5ed5f8){_0x336ab9=_0x5ed5f8;_0x448a6e['model']=_['keys'](db[_0xc0ff('0x5d')][_0xc0ff('0x32')]);_0x448a6e[_0xc0ff('0x35')]=_[_0xc0ff('0x36')](_0x2d3332[_0xc0ff('0x35')]);_0x448a6e[_0xc0ff('0x37')]=_[_0xc0ff('0x38')](_0x448a6e['model'],_0x448a6e[_0xc0ff('0x35')]);_0x4723ac['attributes']=_['intersection'](_0x448a6e[_0xc0ff('0x34')],qs[_0xc0ff('0x39')](_0x2d3332['query']['fields']));_0x4723ac['attributes']=_0x4723ac[_0xc0ff('0x3a')][_0xc0ff('0x3b')]?_0x4723ac[_0xc0ff('0x3a')]:_0x448a6e['model'];_0x4723ac[_0xc0ff('0x3e')]=qs[_0xc0ff('0x5b')](_0x2d3332[_0xc0ff('0x35')][_0xc0ff('0x5b')]);_0x4723ac[_0xc0ff('0x3f')]=qs[_0xc0ff('0x37')](_[_0xc0ff('0x40')](_0x2d3332[_0xc0ff('0x35')],_0x448a6e['filters']));if(_0x2d3332[_0xc0ff('0x35')]['filter']){_0x4723ac['where']=_[_0xc0ff('0x44')](_0x4723ac['where'],{'$or':_[_0xc0ff('0x30')](_0x4723ac[_0xc0ff('0x3a')],function(_0x31874a){var _0x42cc01={};_0x42cc01[_0x31874a]={'$like':'%'+_0x2d3332[_0xc0ff('0x35')][_0xc0ff('0x43')]+'%'};return _0x42cc01;})});}_0x4723ac=_[_0xc0ff('0x44')]({},_0x4723ac,_0x2d3332['options']);return _0x336ab9[_0xc0ff('0x8a')](_0x4723ac);}})[_0xc0ff('0x29')](function(_0x3d9dba){if(_0x3d9dba){_0x8cac17=_0x3d9dba['length'];if(!_0x2d3332['query'][_0xc0ff('0x3c')](_0xc0ff('0x3d'))){_0x4723ac[_0xc0ff('0x22')]=qs[_0xc0ff('0x22')](_0x2d3332['query'][_0xc0ff('0x22')]);_0x4723ac[_0xc0ff('0x21')]=qs[_0xc0ff('0x21')](_0x2d3332[_0xc0ff('0x35')][_0xc0ff('0x21')]);}return _0x336ab9[_0xc0ff('0x8a')](_0x4723ac);}})[_0xc0ff('0x29')](function(_0x410af9){if(_0x410af9){return _0x410af9?{'count':_0x8cac17,'rows':_0x410af9}:null;}})[_0xc0ff('0x29')](respondWithResult(_0x28dc94,null))[_0xc0ff('0x4a')](handleError(_0x28dc94,null));};