03422be74aa28065d894f9f8832e1f878dc0d6bd
[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 _0x4fdc=['fs-extra','squel','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./mailQueue.socket','register','status','offset','undefined','limit','count','set','apply','reject','save','then','destroy','get','UserProfileResource','end','sendStatus','error','stack','send','index','MailQueue','rawAttributes','fieldName','type','key','map','name','query','keys','filters','intersection','model','fields','attributes','length','nolimit','order','sort','where','merge','VIRTUAL','filter','options','include','findAll','rows','catch','show','params','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','MailQueues','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserMailQueue','hasOwnProperty','pick','MailQueueId','User','findAndCountAll','UserId','agent','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','online','interface','flatMap','sequelize','transaction','emit','removeTeams','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','includes','all','compact','value','isEmpty','removeAgents','userMailQueue:remove','addAgents','spread','userMailQueue:save','isArray','getAgents','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs'];(function(_0x3274ca,_0x4a047e){var _0x586379=function(_0x4368c9){while(--_0x4368c9){_0x3274ca['push'](_0x3274ca['shift']());}};_0x586379(++_0x4a047e);}(_0x4fdc,0x84));var _0xc4fd=function(_0x539f05,_0x2af5c1){_0x539f05=_0x539f05-0x0;var _0x5b4beb=_0x4fdc[_0x539f05];return _0x5b4beb;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xc4fd('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc4fd('0x1'));var rp=require(_0xc4fd('0x2'));var moment=require(_0xc4fd('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xc4fd('0x4'));var util=require(_0xc4fd('0x5'));var path=require(_0xc4fd('0x6'));var sox=require(_0xc4fd('0x7'));var csv=require(_0xc4fd('0x8'));var ejs=require(_0xc4fd('0x9'));var fs=require('fs');var fs_extra=require(_0xc4fd('0xa'));var _=require('lodash');var squel=require(_0xc4fd('0xb'));var crypto=require(_0xc4fd('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xc4fd('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xc4fd('0xe'));var Redis=require(_0xc4fd('0xf'));var authService=require(_0xc4fd('0x10'));var qs=require(_0xc4fd('0x11'));var as=require(_0xc4fd('0x12'));var hardwareService=require(_0xc4fd('0x13'));var logger=require(_0xc4fd('0x14'))(_0xc4fd('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xc4fd('0x16'));var db=require(_0xc4fd('0x17'))['db'];config[_0xc4fd('0x18')]=_['defaults'](config[_0xc4fd('0x18')],{'host':_0xc4fd('0x19'),'port':0x18eb});var socket=require(_0xc4fd('0x1a'))(new Redis(config[_0xc4fd('0x18')]));require(_0xc4fd('0x1b'))[_0xc4fd('0x1c')](socket);function respondWithStatusCode(_0x1d67f0,_0x4078ff){_0x4078ff=_0x4078ff||0xcc;return function(_0x4152d1){if(_0x4152d1){return _0x1d67f0['sendStatus'](_0x4078ff);}return _0x1d67f0[_0xc4fd('0x1d')](_0x4078ff)['end']();};}function respondWithResult(_0x5a248c,_0x41ea8a){_0x41ea8a=_0x41ea8a||0xc8;return function(_0xe1f682){if(_0xe1f682){return _0x5a248c['status'](_0x41ea8a)['json'](_0xe1f682);}};}function respondWithFilteredResult(_0x6c739e,_0x1bbf16){return function(_0x2bc246){if(_0x2bc246){var _0x4137d0=typeof _0x1bbf16[_0xc4fd('0x1e')]===_0xc4fd('0x1f')&&typeof _0x1bbf16[_0xc4fd('0x20')]==='undefined';var _0x1e440f=_0x2bc246[_0xc4fd('0x21')];var _0x374afc=_0x4137d0?0x0:_0x1bbf16['offset'];var _0x5b8dcf=_0x4137d0?_0x2bc246[_0xc4fd('0x21')]:_0x1bbf16[_0xc4fd('0x1e')]+_0x1bbf16[_0xc4fd('0x20')];var _0x3f6fe3;if(_0x5b8dcf>=_0x1e440f){_0x5b8dcf=_0x1e440f;_0x3f6fe3=0xc8;}else{_0x3f6fe3=0xce;}_0x6c739e[_0xc4fd('0x1d')](_0x3f6fe3);return _0x6c739e[_0xc4fd('0x22')]('Content-Range',_0x374afc+'-'+_0x5b8dcf+'/'+_0x1e440f)['json'](_0x2bc246);}return null;};}function patchUpdates(_0x30900b){return function(_0x3274d7){try{jsonpatch[_0xc4fd('0x23')](_0x3274d7,_0x30900b,!![]);}catch(_0x2eba79){return BPromise[_0xc4fd('0x24')](_0x2eba79);}return _0x3274d7[_0xc4fd('0x25')]();};}function saveUpdates(_0x3006ad,_0x3037a9){return function(_0x19be38){if(_0x19be38){return _0x19be38['update'](_0x3006ad)[_0xc4fd('0x26')](function(_0x18b1a8){return _0x18b1a8;});}return null;};}function removeEntity(_0x2ce202,_0x2c8831){return function(_0xd46ae1){if(_0xd46ae1){return _0xd46ae1[_0xc4fd('0x27')]()[_0xc4fd('0x26')](function(){var _0x15022d=_0xd46ae1[_0xc4fd('0x28')]({'plain':!![]});var _0x5bb157='MailQueues';return db[_0xc4fd('0x29')][_0xc4fd('0x27')]({'where':{'type':_0x5bb157,'resourceId':_0x15022d['id']}})[_0xc4fd('0x26')](function(){return _0xd46ae1;});})[_0xc4fd('0x26')](function(){_0x2ce202[_0xc4fd('0x1d')](0xcc)[_0xc4fd('0x2a')]();});}};}function handleEntityNotFound(_0x546a39,_0x15d61b){return function(_0x1b65bd){if(!_0x1b65bd){_0x546a39[_0xc4fd('0x2b')](0x194);}return _0x1b65bd;};}function handleError(_0x12c463,_0x340791){_0x340791=_0x340791||0x1f4;return function(_0x46c3e5){logger[_0xc4fd('0x2c')](_0x46c3e5[_0xc4fd('0x2d')]);if(_0x46c3e5['name']){delete _0x46c3e5['name'];}_0x12c463[_0xc4fd('0x1d')](_0x340791)[_0xc4fd('0x2e')](_0x46c3e5);};}exports[_0xc4fd('0x2f')]=function(_0x1efd84,_0x5e2e62){var _0x364508={},_0x56aeb2={},_0x2ab07c={'count':0x0,'rows':[]};var _0x12bd74=_['map'](db[_0xc4fd('0x30')][_0xc4fd('0x31')],function(_0x3f083b){return{'name':_0x3f083b[_0xc4fd('0x32')],'type':_0x3f083b[_0xc4fd('0x33')][_0xc4fd('0x34')]};});_0x56aeb2['model']=_[_0xc4fd('0x35')](_0x12bd74,_0xc4fd('0x36'));_0x56aeb2[_0xc4fd('0x37')]=_[_0xc4fd('0x38')](_0x1efd84[_0xc4fd('0x37')]);_0x56aeb2[_0xc4fd('0x39')]=_[_0xc4fd('0x3a')](_0x56aeb2['model'],_0x56aeb2[_0xc4fd('0x37')]);_0x364508['attributes']=_['intersection'](_0x56aeb2[_0xc4fd('0x3b')],qs['fields'](_0x1efd84[_0xc4fd('0x37')][_0xc4fd('0x3c')]));_0x364508[_0xc4fd('0x3d')]=_0x364508['attributes'][_0xc4fd('0x3e')]?_0x364508[_0xc4fd('0x3d')]:_0x56aeb2[_0xc4fd('0x3b')];if(!_0x1efd84[_0xc4fd('0x37')]['hasOwnProperty'](_0xc4fd('0x3f'))){_0x364508[_0xc4fd('0x20')]=qs[_0xc4fd('0x20')](_0x1efd84[_0xc4fd('0x37')]['limit']);_0x364508[_0xc4fd('0x1e')]=qs[_0xc4fd('0x1e')](_0x1efd84['query'][_0xc4fd('0x1e')]);}_0x364508[_0xc4fd('0x40')]=qs[_0xc4fd('0x41')](_0x1efd84[_0xc4fd('0x37')]['sort']);_0x364508[_0xc4fd('0x42')]=qs[_0xc4fd('0x39')](_['pick'](_0x1efd84[_0xc4fd('0x37')],_0x56aeb2[_0xc4fd('0x39')]),_0x12bd74);if(_0x1efd84[_0xc4fd('0x37')]['filter']){_0x364508[_0xc4fd('0x42')]=_[_0xc4fd('0x43')](_0x364508[_0xc4fd('0x42')],{'$or':_[_0xc4fd('0x35')](_0x12bd74,function(_0x4fb083){if(_0x4fb083['type']!==_0xc4fd('0x44')){var _0x137a3f={};_0x137a3f[_0x4fb083['name']]={'$like':'%'+_0x1efd84[_0xc4fd('0x37')][_0xc4fd('0x45')]+'%'};return _0x137a3f;}})});}_0x364508=_[_0xc4fd('0x43')]({},_0x364508,_0x1efd84[_0xc4fd('0x46')]);var _0x14518d={'where':_0x364508['where']};return db[_0xc4fd('0x30')]['count'](_0x14518d)['then'](function(_0xee8027){_0x2ab07c[_0xc4fd('0x21')]=_0xee8027;if(_0x1efd84['query']['includeAll']){_0x364508[_0xc4fd('0x47')]=[{'all':!![]}];}return db[_0xc4fd('0x30')][_0xc4fd('0x48')](_0x364508);})['then'](function(_0x52afd3){_0x2ab07c[_0xc4fd('0x49')]=_0x52afd3;return _0x2ab07c;})[_0xc4fd('0x26')](respondWithFilteredResult(_0x5e2e62,_0x364508))[_0xc4fd('0x4a')](handleError(_0x5e2e62,null));};exports[_0xc4fd('0x4b')]=function(_0x15d402,_0xcf54fe){var _0x3d8475={'raw':!![],'where':{'id':_0x15d402[_0xc4fd('0x4c')]['id']}},_0x33dcb0={};_0x33dcb0[_0xc4fd('0x3b')]=_[_0xc4fd('0x38')](db['MailQueue'][_0xc4fd('0x31')]);_0x33dcb0[_0xc4fd('0x37')]=_[_0xc4fd('0x38')](_0x15d402[_0xc4fd('0x37')]);_0x33dcb0['filters']=_[_0xc4fd('0x3a')](_0x33dcb0[_0xc4fd('0x3b')],_0x33dcb0[_0xc4fd('0x37')]);_0x3d8475[_0xc4fd('0x3d')]=_[_0xc4fd('0x3a')](_0x33dcb0[_0xc4fd('0x3b')],qs[_0xc4fd('0x3c')](_0x15d402[_0xc4fd('0x37')][_0xc4fd('0x3c')]));_0x3d8475[_0xc4fd('0x3d')]=_0x3d8475[_0xc4fd('0x3d')]['length']?_0x3d8475[_0xc4fd('0x3d')]:_0x33dcb0[_0xc4fd('0x3b')];if(_0x15d402['query']['includeAll']){_0x3d8475[_0xc4fd('0x47')]=[{'all':!![]}];}_0x3d8475=_[_0xc4fd('0x43')]({},_0x3d8475,_0x15d402[_0xc4fd('0x46')]);return db[_0xc4fd('0x30')][_0xc4fd('0x4d')](_0x3d8475)['then'](handleEntityNotFound(_0xcf54fe,null))[_0xc4fd('0x26')](respondWithResult(_0xcf54fe,null))[_0xc4fd('0x4a')](handleError(_0xcf54fe,null));};exports[_0xc4fd('0x4e')]=function(_0x3bfaac,_0x402d2a){return db[_0xc4fd('0x30')][_0xc4fd('0x4e')](_0x3bfaac['body'],{})[_0xc4fd('0x26')](function(_0x2dad03){var _0x5dc2f8=_0x3bfaac['user'][_0xc4fd('0x28')]({'plain':!![]});if(!_0x5dc2f8)throw new Error(_0xc4fd('0x4f'));if(_0x5dc2f8[_0xc4fd('0x50')]===_0xc4fd('0x51')){var _0x3bd762=_0x2dad03[_0xc4fd('0x28')]({'plain':!![]});var _0x4c5c90=_0xc4fd('0x52');return db[_0xc4fd('0x53')][_0xc4fd('0x4d')]({'where':{'name':_0x4c5c90,'userProfileId':_0x5dc2f8[_0xc4fd('0x54')]},'raw':!![]})[_0xc4fd('0x26')](function(_0x2c462d){if(_0x2c462d&&_0x2c462d[_0xc4fd('0x55')]===0x0){return db['UserProfileResource']['create']({'name':_0x3bd762[_0xc4fd('0x36')],'resourceId':_0x3bd762['id'],'type':_0x2c462d[_0xc4fd('0x36')],'sectionId':_0x2c462d['id']},{})[_0xc4fd('0x26')](function(){return _0x2dad03;});}else{return _0x2dad03;}})[_0xc4fd('0x4a')](function(_0x365979){logger[_0xc4fd('0x2c')](_0xc4fd('0x56'),_0x365979);throw _0x365979;});}return _0x2dad03;})[_0xc4fd('0x26')](respondWithResult(_0x402d2a,0xc9))[_0xc4fd('0x4a')](handleError(_0x402d2a,null));};exports['update']=function(_0x36ab04,_0x4ad367){if(_0x36ab04[_0xc4fd('0x57')]['id']){delete _0x36ab04[_0xc4fd('0x57')]['id'];}return db[_0xc4fd('0x30')][_0xc4fd('0x4d')]({'where':{'id':_0x36ab04['params']['id']}})[_0xc4fd('0x26')](handleEntityNotFound(_0x4ad367,null))['then'](saveUpdates(_0x36ab04[_0xc4fd('0x57')],null))[_0xc4fd('0x26')](respondWithResult(_0x4ad367,null))['catch'](handleError(_0x4ad367,null));};exports['destroy']=function(_0x829c35,_0x4baa25){return db['MailQueue'][_0xc4fd('0x4d')]({'where':{'id':_0x829c35['params']['id']}})[_0xc4fd('0x26')](handleEntityNotFound(_0x4baa25,null))['then'](removeEntity(_0x4baa25,null))[_0xc4fd('0x4a')](handleError(_0x4baa25,null));};exports['describe']=function(_0x3f9a40,_0x4db147){return db[_0xc4fd('0x30')][_0xc4fd('0x58')]()[_0xc4fd('0x26')](respondWithResult(_0x4db147,null))[_0xc4fd('0x4a')](handleError(_0x4db147,null));};exports[_0xc4fd('0x59')]=function(_0x19b2f2,_0x15b337,_0x237fca){var _0x581222={'raw':!![],'where':{}},_0x1461e5={},_0x46206a;return db[_0xc4fd('0x30')][_0xc4fd('0x5a')]({'where':{'id':_0x19b2f2[_0xc4fd('0x4c')]['id']}})[_0xc4fd('0x26')](handleEntityNotFound(_0x15b337,null))[_0xc4fd('0x26')](function(_0x436365){if(_0x436365){_0x46206a=_0x436365['get']({'plain':!![]});_0x1461e5[_0xc4fd('0x3b')]=_['keys'](db[_0xc4fd('0x5b')][_0xc4fd('0x31')]);_0x1461e5[_0xc4fd('0x37')]=_[_0xc4fd('0x38')](_0x19b2f2[_0xc4fd('0x37')]);_0x1461e5[_0xc4fd('0x39')]=_[_0xc4fd('0x3a')](_0x1461e5[_0xc4fd('0x3b')],_0x1461e5[_0xc4fd('0x37')]);_0x581222['attributes']=_[_0xc4fd('0x3a')](_0x1461e5[_0xc4fd('0x3b')],qs['fields'](_0x19b2f2[_0xc4fd('0x37')][_0xc4fd('0x3c')]));_0x581222[_0xc4fd('0x3d')]=_0x581222['attributes']['length']?_0x581222[_0xc4fd('0x3d')]:_0x1461e5[_0xc4fd('0x3b')];if(!_0x19b2f2[_0xc4fd('0x37')][_0xc4fd('0x5c')]('nolimit')){_0x581222[_0xc4fd('0x20')]=qs[_0xc4fd('0x20')](_0x19b2f2[_0xc4fd('0x37')][_0xc4fd('0x20')]);_0x581222[_0xc4fd('0x1e')]=qs['offset'](_0x19b2f2[_0xc4fd('0x37')][_0xc4fd('0x1e')]);}_0x581222[_0xc4fd('0x40')]=qs[_0xc4fd('0x41')](_0x19b2f2[_0xc4fd('0x37')][_0xc4fd('0x41')]);_0x581222[_0xc4fd('0x42')]=qs[_0xc4fd('0x39')](_[_0xc4fd('0x5d')](_0x19b2f2['query'],_0x1461e5['filters']));_0x581222[_0xc4fd('0x42')][_0xc4fd('0x5e')]=_0x436365['id'];if(_0x19b2f2[_0xc4fd('0x37')]['filter']){_0x581222[_0xc4fd('0x42')]=_[_0xc4fd('0x43')](_0x581222[_0xc4fd('0x42')],{'$or':_[_0xc4fd('0x35')](_0x581222[_0xc4fd('0x3d')],function(_0x4b6259){var _0x59ffaa={};_0x59ffaa[_0x4b6259]={'$like':'%'+_0x19b2f2[_0xc4fd('0x37')][_0xc4fd('0x45')]+'%'};return _0x59ffaa;})});}_0x581222=_['merge']({},_0x581222,_0x19b2f2['options']);return db[_0xc4fd('0x5b')][_0xc4fd('0x48')](_0x581222);}})[_0xc4fd('0x26')](function(_0x4d98bf){if(_0x4d98bf){return db[_0xc4fd('0x5f')][_0xc4fd('0x60')]({'where':{'id':_[_0xc4fd('0x35')](_0x4d98bf,_0xc4fd('0x61')),'role':_0xc4fd('0x62')},'attributes':['id','name',_0xc4fd('0x63'),_0xc4fd('0x64'),_0xc4fd('0x65')]});}})[_0xc4fd('0x26')](function(_0x1ad7c0){if(_0x1ad7c0){return{'count':_0x1ad7c0[_0xc4fd('0x21')],'rows':_[_0xc4fd('0x35')](_0x1ad7c0[_0xc4fd('0x49')],function(_0x25301c){return{'membername':_0x25301c[_0xc4fd('0x36')],'UserId':_0x25301c['id'],'queue_name':_0x46206a[_0xc4fd('0x36')],'MailQueueId':_0x46206a['id'],'interface':util[_0xc4fd('0x66')](_0xc4fd('0x67'),_0xc4fd('0x68'),_0x25301c['name']),'penalty':0x0,'paused':_0x25301c['mailPause'],'createdAt':_0x25301c[_0xc4fd('0x65')],'updatedAt':_0x25301c[_0xc4fd('0x64')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x15b337,_0x581222))[_0xc4fd('0x4a')](handleError(_0x15b337,null));};exports[_0xc4fd('0x69')]=function(_0xa2e51b,_0x4be2ff,_0x369fe9){var _0x36c2a2={};var _0x34a101={};var _0x36b9b8;var _0x3ceb3e;return db[_0xc4fd('0x30')][_0xc4fd('0x5a')]({'where':{'id':_0xa2e51b['params']['id']}})[_0xc4fd('0x26')](handleEntityNotFound(_0x4be2ff,null))[_0xc4fd('0x26')](function(_0x23a634){if(_0x23a634){_0x36b9b8=_0x23a634;_0x34a101[_0xc4fd('0x3b')]=_[_0xc4fd('0x38')](db[_0xc4fd('0x6a')][_0xc4fd('0x31')]);_0x34a101['query']=_[_0xc4fd('0x38')](_0xa2e51b[_0xc4fd('0x37')]);_0x34a101['filters']=_[_0xc4fd('0x3a')](_0x34a101['model'],_0x34a101['query']);_0x36c2a2[_0xc4fd('0x3d')]=_['intersection'](_0x34a101[_0xc4fd('0x3b')],qs[_0xc4fd('0x3c')](_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x3c')]));_0x36c2a2[_0xc4fd('0x3d')]=_0x36c2a2[_0xc4fd('0x3d')]['length']?_0x36c2a2[_0xc4fd('0x3d')]:_0x34a101[_0xc4fd('0x3b')];_0x36c2a2[_0xc4fd('0x40')]=qs[_0xc4fd('0x41')](_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x41')]);_0x36c2a2[_0xc4fd('0x42')]=qs['filters'](_[_0xc4fd('0x5d')](_0xa2e51b[_0xc4fd('0x37')],_0x34a101['filters']));if(_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x45')]){_0x36c2a2[_0xc4fd('0x42')]=_[_0xc4fd('0x43')](_0x36c2a2[_0xc4fd('0x42')],{'$or':_[_0xc4fd('0x35')](_0x36c2a2['attributes'],function(_0x8f3e3c){var _0x2595b2={};_0x2595b2[_0x8f3e3c]={'$like':'%'+_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x45')]+'%'};return _0x2595b2;})});}_0x36c2a2=_[_0xc4fd('0x43')]({},_0x36c2a2,_0xa2e51b[_0xc4fd('0x46')]);return _0x36b9b8[_0xc4fd('0x69')](_0x36c2a2);}})['then'](function(_0x143f67){if(_0x143f67){_0x3ceb3e=_0x143f67[_0xc4fd('0x3e')];if(!_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x5c')]('nolimit')){_0x36c2a2[_0xc4fd('0x20')]=qs[_0xc4fd('0x20')](_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x20')]);_0x36c2a2[_0xc4fd('0x1e')]=qs[_0xc4fd('0x1e')](_0xa2e51b[_0xc4fd('0x37')][_0xc4fd('0x1e')]);}return _0x36b9b8['getTeams'](_0x36c2a2);}})[_0xc4fd('0x26')](function(_0x599cc7){if(_0x599cc7){return _0x599cc7?{'count':_0x3ceb3e,'rows':_0x599cc7}:null;}})['then'](respondWithResult(_0x4be2ff,null))[_0xc4fd('0x4a')](handleError(_0x4be2ff,null));};exports[_0xc4fd('0x6b')]=function(_0x5cb5ae,_0x2544e0,_0x2bd88f){var _0x3ca4fc=_0x5cb5ae[_0xc4fd('0x57')][_0xc4fd('0x6c')];return db['Team'][_0xc4fd('0x48')]({'where':{'id':_0x3ca4fc},'attributes':['id'],'include':[{'model':db[_0xc4fd('0x5f')],'as':_0xc4fd('0x6d'),'attributes':['id',_0xc4fd('0x36'),_0xc4fd('0x6e'),'voicePause',_0xc4fd('0x6f')],'raw':!![]}]})['then'](function(_0x15b058){if(_0x15b058){var _0x515092=_[_0xc4fd('0x70')](_0x15b058,function(_0x55a524){var _0x38ee8d=_0x55a524['get']({'plain':!![]});return _0x38ee8d[_0xc4fd('0x6d')];});return db['MailQueue']['find']({'where':{'id':_0x5cb5ae[_0xc4fd('0x4c')]['id']}})[_0xc4fd('0x26')](function(_0x3b4959){return db[_0xc4fd('0x71')][_0xc4fd('0x72')](function(_0x206657){return _0x3b4959[_0xc4fd('0x6b')](_0x3ca4fc,{'transaction':_0x206657})['then'](function(){return BPromise['each'](_0x515092,function(_0x546248){return db[_0xc4fd('0x5b')]['findOrCreate']({'where':{'UserId':_0x546248['id'],'MailQueueId':_0x5cb5ae[_0xc4fd('0x4c')]['id']},'transaction':_0x206657});});})[_0xc4fd('0x26')](function(){_0x515092['forEach'](function(_0x31e44d){socket[_0xc4fd('0x73')]('userMailQueue:save',{'UserId':_0x31e44d['id'],'MailQueueId':_0x3b4959['id']});});});});});}})[_0xc4fd('0x26')](respondWithStatusCode(_0x2544e0,null))[_0xc4fd('0x4a')](handleError(_0x2544e0,null));};exports[_0xc4fd('0x74')]=function(_0x32596a,_0x5a8f11,_0x12a77b){return db['Team'][_0xc4fd('0x48')]({'where':{'id':_0x32596a[_0xc4fd('0x37')]['ids']},'attributes':['id'],'include':[{'model':db[_0xc4fd('0x5f')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xc4fd('0x26')](handleEntityNotFound(_0x5a8f11,null))[_0xc4fd('0x26')](function(_0x10e789){var _0x57dbb0=_[_0xc4fd('0x35')](_0x10e789,'id');var _0x1f5ac7=[];var _0x1ee8b9=[];var _0x205b27=squel['select']();_0x205b27[_0xc4fd('0x75')](_0xc4fd('0x76'))[_0xc4fd('0x77')](_0xc4fd('0x78'),'tq')[_0xc4fd('0x79')](_0xc4fd('0x7a'),'ut',_0xc4fd('0x7b'))['where'](_0xc4fd('0x7c'),_0x32596a['params']['id']);for(var _0x1b624e=0x0;_0x1b624e<_0x10e789[_0xc4fd('0x3e')];_0x1b624e+=0x1){let _0x39e761=_0x10e789[_0x1b624e];for(var _0x22f948=0x0;_0x22f948<_0x39e761[_0xc4fd('0x6d')]['length'];_0x22f948+=0x1){let _0x43e33d=_0x39e761['Agents'][_0x22f948];var _0x49a141=_0x205b27['clone']();_0x49a141[_0xc4fd('0x42')](_0xc4fd('0x7d'),_0x43e33d['id']);_0x1ee8b9[_0xc4fd('0x7e')](db[_0xc4fd('0x71')]['query'](_0x49a141[_0xc4fd('0x7f')](),{'type':db[_0xc4fd('0x71')][_0xc4fd('0x80')][_0xc4fd('0x81')]})[_0xc4fd('0x26')](function(_0x17b13a){if(_0x17b13a[_0xc4fd('0x3e')]===0x1){return _0x43e33d['id'];}else{var _0x18db7c=_['every'](_['map'](_0x17b13a,'TeamId'),function(_0x841965){return _[_0xc4fd('0x82')](_0x57dbb0,_0x841965);});if(_0x18db7c){return _0x43e33d['id'];}}}));}}return BPromise[_0xc4fd('0x83')](_0x1ee8b9)[_0xc4fd('0x26')](function(_0xc88df7){_0x1f5ac7=_(_0x1f5ac7)['union'](_0xc88df7)[_0xc4fd('0x84')]()[_0xc4fd('0x85')]();return db[_0xc4fd('0x30')][_0xc4fd('0x4d')]({'where':{'id':_0x32596a[_0xc4fd('0x4c')]['id']}})[_0xc4fd('0x26')](function(_0x50a8d9){return db[_0xc4fd('0x71')][_0xc4fd('0x72')](function(_0x4f63ed){return _0x50a8d9['removeTeams'](_0x32596a[_0xc4fd('0x37')][_0xc4fd('0x6c')],{'transaction':_0x4f63ed})['then'](function(){if(!_[_0xc4fd('0x86')](_0x1f5ac7)){return _0x50a8d9[_0xc4fd('0x87')](_0x1f5ac7,{'transaction':_0x4f63ed});}})[_0xc4fd('0x26')](function(){_0x1f5ac7['forEach'](function(_0x18b155){socket[_0xc4fd('0x73')](_0xc4fd('0x88'),{'UserId':_0x18b155,'MailQueueId':_0x50a8d9['id']});});});});});});})[_0xc4fd('0x26')](respondWithStatusCode(_0x5a8f11,null))['catch'](handleError(_0x5a8f11,null));};exports['addAgents']=function(_0x2a0545,_0x377dba,_0x5c7e83){return db[_0xc4fd('0x30')][_0xc4fd('0x4d')]({'where':{'id':_0x2a0545['params']['id']}})[_0xc4fd('0x26')](handleEntityNotFound(_0x377dba,null))[_0xc4fd('0x26')](function(_0x187136){if(_0x187136){return _0x187136[_0xc4fd('0x89')](_0x2a0545[_0xc4fd('0x57')]['ids'],_['omit'](_0x2a0545[_0xc4fd('0x57')],[_0xc4fd('0x6c'),'id'])||{})[_0xc4fd('0x8a')](function(_0x55c921){for(var _0x4bc6d9=0x0;_0x4bc6d9<_0x2a0545[_0xc4fd('0x57')][_0xc4fd('0x6c')][_0xc4fd('0x3e')];_0x4bc6d9+=0x1){socket[_0xc4fd('0x73')](_0xc4fd('0x8b'),{'UserId':Number(_0x2a0545['body'][_0xc4fd('0x6c')][_0x4bc6d9]),'MailQueueId':Number(_0x2a0545[_0xc4fd('0x4c')]['id'])});}return _0x55c921;});}})['then'](respondWithResult(_0x377dba,null))[_0xc4fd('0x4a')](handleError(_0x377dba,null));};exports[_0xc4fd('0x87')]=function(_0x33fc9f,_0x43a94f,_0x427d1f){return db[_0xc4fd('0x30')][_0xc4fd('0x4d')]({'where':{'id':_0x33fc9f[_0xc4fd('0x4c')]['id']}})['then'](handleEntityNotFound(_0x43a94f,null))[_0xc4fd('0x26')](function(_0x1033ee){if(_0x1033ee){return _0x1033ee[_0xc4fd('0x87')](_0x33fc9f[_0xc4fd('0x37')][_0xc4fd('0x6c')])[_0xc4fd('0x26')](function(){if(_[_0xc4fd('0x8c')](_0x33fc9f['query'][_0xc4fd('0x6c')])){for(var _0x560400=0x0;_0x560400<_0x33fc9f[_0xc4fd('0x37')][_0xc4fd('0x6c')][_0xc4fd('0x3e')];_0x560400+=0x1){socket[_0xc4fd('0x73')](_0xc4fd('0x88'),{'UserId':Number(_0x33fc9f[_0xc4fd('0x37')]['ids'][_0x560400]),'MailQueueId':Number(_0x33fc9f[_0xc4fd('0x4c')]['id'])});}}else{socket[_0xc4fd('0x73')](_0xc4fd('0x88'),{'UserId':Number(_0x33fc9f[_0xc4fd('0x37')][_0xc4fd('0x6c')]),'MailQueueId':Number(_0x33fc9f[_0xc4fd('0x4c')]['id'])});}});}})[_0xc4fd('0x26')](respondWithStatusCode(_0x43a94f,null))[_0xc4fd('0x4a')](handleError(_0x43a94f,null));};exports[_0xc4fd('0x8d')]=function(_0x1d0cf2,_0x36af57,_0x2884c8){var _0x593c03={};var _0x3a1933={};var _0x24c4aa;var _0x33b4f0;return db[_0xc4fd('0x30')][_0xc4fd('0x5a')]({'where':{'id':_0x1d0cf2['params']['id']}})['then'](handleEntityNotFound(_0x36af57,null))[_0xc4fd('0x26')](function(_0x23dcd1){if(_0x23dcd1){_0x24c4aa=_0x23dcd1;_0x3a1933['model']=_['keys'](db[_0xc4fd('0x5f')][_0xc4fd('0x31')]);_0x3a1933[_0xc4fd('0x37')]=_[_0xc4fd('0x38')](_0x1d0cf2[_0xc4fd('0x37')]);_0x3a1933[_0xc4fd('0x39')]=_[_0xc4fd('0x3a')](_0x3a1933[_0xc4fd('0x3b')],_0x3a1933['query']);_0x593c03['attributes']=_[_0xc4fd('0x3a')](_0x3a1933[_0xc4fd('0x3b')],qs[_0xc4fd('0x3c')](_0x1d0cf2['query']['fields']));_0x593c03[_0xc4fd('0x3d')]=_0x593c03[_0xc4fd('0x3d')][_0xc4fd('0x3e')]?_0x593c03['attributes']:_0x3a1933[_0xc4fd('0x3b')];_0x593c03[_0xc4fd('0x40')]=qs[_0xc4fd('0x41')](_0x1d0cf2[_0xc4fd('0x37')][_0xc4fd('0x41')]);_0x593c03[_0xc4fd('0x42')]=qs[_0xc4fd('0x39')](_[_0xc4fd('0x5d')](_0x1d0cf2[_0xc4fd('0x37')],_0x3a1933[_0xc4fd('0x39')]));if(_0x1d0cf2['query'][_0xc4fd('0x45')]){_0x593c03['where']=_['merge'](_0x593c03['where'],{'$or':_[_0xc4fd('0x35')](_0x593c03[_0xc4fd('0x3d')],function(_0xe609cc){var _0x45db1f={};_0x45db1f[_0xe609cc]={'$like':'%'+_0x1d0cf2[_0xc4fd('0x37')]['filter']+'%'};return _0x45db1f;})});}_0x593c03=_[_0xc4fd('0x43')]({},_0x593c03,_0x1d0cf2[_0xc4fd('0x46')]);return _0x24c4aa['getAgents'](_0x593c03);}})[_0xc4fd('0x26')](function(_0xd7ee51){if(_0xd7ee51){_0x33b4f0=_0xd7ee51[_0xc4fd('0x3e')];if(!_0x1d0cf2[_0xc4fd('0x37')][_0xc4fd('0x5c')](_0xc4fd('0x3f'))){_0x593c03['limit']=qs[_0xc4fd('0x20')](_0x1d0cf2[_0xc4fd('0x37')][_0xc4fd('0x20')]);_0x593c03[_0xc4fd('0x1e')]=qs[_0xc4fd('0x1e')](_0x1d0cf2[_0xc4fd('0x37')]['offset']);}return _0x24c4aa['getAgents'](_0x593c03);}})[_0xc4fd('0x26')](function(_0x2a0c79){if(_0x2a0c79){return _0x2a0c79?{'count':_0x33b4f0,'rows':_0x2a0c79}:null;}})[_0xc4fd('0x26')](respondWithResult(_0x36af57,null))[_0xc4fd('0x4a')](handleError(_0x36af57,null));};