1c419a598622270488cca8c9ea7ebec898eac9db
[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 _0xd1d7=['mailPause','createdAt','format','%s/%s','SIP','updatedAt','getTeams','findOne','Team','Agents','voicePause','interface','sequelize','addTeams','each','forEach','userMailQueue:save','removeTeams','ids','field','from','team_has_mail_queues','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','SELECT','TeamId','includes','transaction','isEmpty','userMailQueue:remove','addAgents','omit','spread','removeAgents','isArray','emit','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','./mailQueue.socket','register','sendStatus','status','end','json','offset','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','get','MailQueues','UserProfileResource','stack','name','send','index','map','MailQueue','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','pick','filter','VIRTUAL','merge','options','include','findAll','rows','catch','show','params','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','UserMailQueue','rawAttributes','MailQueueId','User','findAndCountAll','UserId','agent'];(function(_0x26d3e6,_0x57a2db){var _0x402704=function(_0x5afe22){while(--_0x5afe22){_0x26d3e6['push'](_0x26d3e6['shift']());}};_0x402704(++_0x57a2db);}(_0xd1d7,0x144));var _0x7d1d=function(_0x5f3598,_0x3c58cf){_0x5f3598=_0x5f3598-0x0;var _0x3dd441=_0xd1d7[_0x5f3598];return _0x3dd441;};'use strict';var emlformat=require(_0x7d1d('0x0'));var rimraf=require(_0x7d1d('0x1'));var zipdir=require(_0x7d1d('0x2'));var jsonpatch=require(_0x7d1d('0x3'));var rp=require(_0x7d1d('0x4'));var moment=require(_0x7d1d('0x5'));var BPromise=require(_0x7d1d('0x6'));var Mustache=require('mustache');var util=require(_0x7d1d('0x7'));var path=require(_0x7d1d('0x8'));var sox=require(_0x7d1d('0x9'));var csv=require('to-csv');var ejs=require(_0x7d1d('0xa'));var fs=require('fs');var fs_extra=require(_0x7d1d('0xb'));var _=require(_0x7d1d('0xc'));var squel=require(_0x7d1d('0xd'));var crypto=require(_0x7d1d('0xe'));var jsforce=require(_0x7d1d('0xf'));var deskjs=require(_0x7d1d('0x10'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x7d1d('0x11'));var Redis=require(_0x7d1d('0x12'));var authService=require(_0x7d1d('0x13'));var qs=require(_0x7d1d('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x7d1d('0x15'));var logger=require(_0x7d1d('0x16'))(_0x7d1d('0x17'));var utils=require(_0x7d1d('0x18'));var config=require(_0x7d1d('0x19'));var licenseUtil=require(_0x7d1d('0x1a'));var db=require(_0x7d1d('0x1b'))['db'];config[_0x7d1d('0x1c')]=_[_0x7d1d('0x1d')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0x7d1d('0x1e'))[_0x7d1d('0x1f')](socket);function respondWithStatusCode(_0x23e394,_0x560df6){_0x560df6=_0x560df6||0xcc;return function(_0x48ee8b){if(_0x48ee8b){return _0x23e394[_0x7d1d('0x20')](_0x560df6);}return _0x23e394[_0x7d1d('0x21')](_0x560df6)[_0x7d1d('0x22')]();};}function respondWithResult(_0x4776f3,_0xc6f9c6){_0xc6f9c6=_0xc6f9c6||0xc8;return function(_0x24c033){if(_0x24c033){return _0x4776f3[_0x7d1d('0x21')](_0xc6f9c6)[_0x7d1d('0x23')](_0x24c033);}};}function respondWithFilteredResult(_0x332ceb,_0x18315d){return function(_0x103e4a){if(_0x103e4a){var _0x4ad117=typeof _0x18315d[_0x7d1d('0x24')]==='undefined'&&typeof _0x18315d['limit']===_0x7d1d('0x25');var _0x5ac8d7=_0x103e4a['count'];var _0x3e2d17=_0x4ad117?0x0:_0x18315d[_0x7d1d('0x24')];var _0x3c210b=_0x4ad117?_0x103e4a[_0x7d1d('0x26')]:_0x18315d[_0x7d1d('0x24')]+_0x18315d['limit'];var _0xc3fc71;if(_0x3c210b>=_0x5ac8d7){_0x3c210b=_0x5ac8d7;_0xc3fc71=0xc8;}else{_0xc3fc71=0xce;}_0x332ceb['status'](_0xc3fc71);return _0x332ceb[_0x7d1d('0x27')](_0x7d1d('0x28'),_0x3e2d17+'-'+_0x3c210b+'/'+_0x5ac8d7)['json'](_0x103e4a);}return null;};}function patchUpdates(_0xecf2b7){return function(_0x6c7073){try{jsonpatch[_0x7d1d('0x29')](_0x6c7073,_0xecf2b7,!![]);}catch(_0x11a214){return BPromise[_0x7d1d('0x2a')](_0x11a214);}return _0x6c7073[_0x7d1d('0x2b')]();};}function saveUpdates(_0x240a82,_0x4689da){return function(_0x204be7){if(_0x204be7){return _0x204be7[_0x7d1d('0x2c')](_0x240a82)[_0x7d1d('0x2d')](function(_0x390e22){return _0x390e22;});}return null;};}function removeEntity(_0x10be3d,_0x37ad70){return function(_0x5482a9){if(_0x5482a9){return _0x5482a9[_0x7d1d('0x2e')]()['then'](function(){var _0x3088db=_0x5482a9[_0x7d1d('0x2f')]({'plain':!![]});var _0x1fe626=_0x7d1d('0x30');return db[_0x7d1d('0x31')][_0x7d1d('0x2e')]({'where':{'type':_0x1fe626,'resourceId':_0x3088db['id']}})[_0x7d1d('0x2d')](function(){return _0x5482a9;});})[_0x7d1d('0x2d')](function(){_0x10be3d[_0x7d1d('0x21')](0xcc)['end']();});}};}function handleEntityNotFound(_0xe21bcf,_0x4ce74a){return function(_0x49b122){if(!_0x49b122){_0xe21bcf[_0x7d1d('0x20')](0x194);}return _0x49b122;};}function handleError(_0x44000d,_0x543209){_0x543209=_0x543209||0x1f4;return function(_0x222d0a){logger['error'](_0x222d0a[_0x7d1d('0x32')]);if(_0x222d0a['name']){delete _0x222d0a[_0x7d1d('0x33')];}_0x44000d[_0x7d1d('0x21')](_0x543209)[_0x7d1d('0x34')](_0x222d0a);};}exports[_0x7d1d('0x35')]=function(_0x149c86,_0x2e568e){var _0x2c59c2={},_0x2f8f3e={},_0x41c245={'count':0x0,'rows':[]};var _0x289c31=_[_0x7d1d('0x36')](db[_0x7d1d('0x37')]['rawAttributes'],function(_0x1f84fa){return{'name':_0x1f84fa['fieldName'],'type':_0x1f84fa['type']['key']};});_0x2f8f3e[_0x7d1d('0x38')]=_[_0x7d1d('0x36')](_0x289c31,_0x7d1d('0x33'));_0x2f8f3e[_0x7d1d('0x39')]=_[_0x7d1d('0x3a')](_0x149c86[_0x7d1d('0x39')]);_0x2f8f3e[_0x7d1d('0x3b')]=_[_0x7d1d('0x3c')](_0x2f8f3e['model'],_0x2f8f3e['query']);_0x2c59c2[_0x7d1d('0x3d')]=_[_0x7d1d('0x3c')](_0x2f8f3e[_0x7d1d('0x38')],qs[_0x7d1d('0x3e')](_0x149c86[_0x7d1d('0x39')][_0x7d1d('0x3e')]));_0x2c59c2['attributes']=_0x2c59c2[_0x7d1d('0x3d')][_0x7d1d('0x3f')]?_0x2c59c2[_0x7d1d('0x3d')]:_0x2f8f3e[_0x7d1d('0x38')];if(!_0x149c86[_0x7d1d('0x39')][_0x7d1d('0x40')](_0x7d1d('0x41'))){_0x2c59c2['limit']=qs[_0x7d1d('0x42')](_0x149c86[_0x7d1d('0x39')][_0x7d1d('0x42')]);_0x2c59c2[_0x7d1d('0x24')]=qs['offset'](_0x149c86[_0x7d1d('0x39')]['offset']);}_0x2c59c2[_0x7d1d('0x43')]=qs[_0x7d1d('0x44')](_0x149c86[_0x7d1d('0x39')][_0x7d1d('0x44')]);_0x2c59c2[_0x7d1d('0x45')]=qs['filters'](_[_0x7d1d('0x46')](_0x149c86[_0x7d1d('0x39')],_0x2f8f3e['filters']),_0x289c31);if(_0x149c86[_0x7d1d('0x39')][_0x7d1d('0x47')]){_0x2c59c2[_0x7d1d('0x45')]=_['merge'](_0x2c59c2[_0x7d1d('0x45')],{'$or':_[_0x7d1d('0x36')](_0x289c31,function(_0x192a2d){if(_0x192a2d['type']!==_0x7d1d('0x48')){var _0x4ff36a={};_0x4ff36a[_0x192a2d[_0x7d1d('0x33')]]={'$like':'%'+_0x149c86[_0x7d1d('0x39')][_0x7d1d('0x47')]+'%'};return _0x4ff36a;}})});}_0x2c59c2=_[_0x7d1d('0x49')]({},_0x2c59c2,_0x149c86[_0x7d1d('0x4a')]);var _0x1bbfca={'where':_0x2c59c2['where']};return db[_0x7d1d('0x37')][_0x7d1d('0x26')](_0x1bbfca)[_0x7d1d('0x2d')](function(_0x37b66b){_0x41c245[_0x7d1d('0x26')]=_0x37b66b;if(_0x149c86[_0x7d1d('0x39')]['includeAll']){_0x2c59c2[_0x7d1d('0x4b')]=[{'all':!![]}];}return db[_0x7d1d('0x37')][_0x7d1d('0x4c')](_0x2c59c2);})[_0x7d1d('0x2d')](function(_0xd04a9b){_0x41c245[_0x7d1d('0x4d')]=_0xd04a9b;return _0x41c245;})['then'](respondWithFilteredResult(_0x2e568e,_0x2c59c2))[_0x7d1d('0x4e')](handleError(_0x2e568e,null));};exports[_0x7d1d('0x4f')]=function(_0x3332f1,_0x536c17){var _0x3caa25={'raw':!![],'where':{'id':_0x3332f1[_0x7d1d('0x50')]['id']}},_0x181794={};_0x181794['model']=_[_0x7d1d('0x3a')](db['MailQueue']['rawAttributes']);_0x181794[_0x7d1d('0x39')]=_[_0x7d1d('0x3a')](_0x3332f1['query']);_0x181794[_0x7d1d('0x3b')]=_[_0x7d1d('0x3c')](_0x181794['model'],_0x181794[_0x7d1d('0x39')]);_0x3caa25[_0x7d1d('0x3d')]=_[_0x7d1d('0x3c')](_0x181794[_0x7d1d('0x38')],qs[_0x7d1d('0x3e')](_0x3332f1[_0x7d1d('0x39')][_0x7d1d('0x3e')]));_0x3caa25[_0x7d1d('0x3d')]=_0x3caa25['attributes'][_0x7d1d('0x3f')]?_0x3caa25[_0x7d1d('0x3d')]:_0x181794[_0x7d1d('0x38')];if(_0x3332f1[_0x7d1d('0x39')][_0x7d1d('0x51')]){_0x3caa25['include']=[{'all':!![]}];}_0x3caa25=_[_0x7d1d('0x49')]({},_0x3caa25,_0x3332f1[_0x7d1d('0x4a')]);return db[_0x7d1d('0x37')][_0x7d1d('0x52')](_0x3caa25)['then'](handleEntityNotFound(_0x536c17,null))[_0x7d1d('0x2d')](respondWithResult(_0x536c17,null))[_0x7d1d('0x4e')](handleError(_0x536c17,null));};exports['create']=function(_0x1fe7b1,_0x14aeaa){return db['MailQueue'][_0x7d1d('0x53')](_0x1fe7b1[_0x7d1d('0x54')],{})[_0x7d1d('0x2d')](function(_0xb68403){var _0x4fa45d=_0x1fe7b1[_0x7d1d('0x55')][_0x7d1d('0x2f')]({'plain':!![]});if(!_0x4fa45d)throw new Error(_0x7d1d('0x56'));if(_0x4fa45d[_0x7d1d('0x57')]===_0x7d1d('0x55')){var _0x4eeece=_0xb68403['get']({'plain':!![]});var _0x5f101a=_0x7d1d('0x30');return db[_0x7d1d('0x58')]['find']({'where':{'name':_0x5f101a,'userProfileId':_0x4fa45d[_0x7d1d('0x59')]},'raw':!![]})[_0x7d1d('0x2d')](function(_0x5395f3){if(_0x5395f3&&_0x5395f3[_0x7d1d('0x5a')]===0x0){return db[_0x7d1d('0x31')][_0x7d1d('0x53')]({'name':_0x4eeece['name'],'resourceId':_0x4eeece['id'],'type':_0x5395f3['name'],'sectionId':_0x5395f3['id']},{})[_0x7d1d('0x2d')](function(){return _0xb68403;});}else{return _0xb68403;}})['catch'](function(_0x140c8a){logger[_0x7d1d('0x5b')](_0x7d1d('0x5c'),_0x140c8a);throw _0x140c8a;});}return _0xb68403;})[_0x7d1d('0x2d')](respondWithResult(_0x14aeaa,0xc9))[_0x7d1d('0x4e')](handleError(_0x14aeaa,null));};exports[_0x7d1d('0x2c')]=function(_0x3fafe7,_0x226f8c){if(_0x3fafe7[_0x7d1d('0x54')]['id']){delete _0x3fafe7[_0x7d1d('0x54')]['id'];}return db[_0x7d1d('0x37')][_0x7d1d('0x52')]({'where':{'id':_0x3fafe7[_0x7d1d('0x50')]['id']}})[_0x7d1d('0x2d')](handleEntityNotFound(_0x226f8c,null))['then'](saveUpdates(_0x3fafe7[_0x7d1d('0x54')],null))[_0x7d1d('0x2d')](respondWithResult(_0x226f8c,null))[_0x7d1d('0x4e')](handleError(_0x226f8c,null));};exports[_0x7d1d('0x2e')]=function(_0x203ddd,_0x8bcca){return db[_0x7d1d('0x37')][_0x7d1d('0x52')]({'where':{'id':_0x203ddd[_0x7d1d('0x50')]['id']}})[_0x7d1d('0x2d')](handleEntityNotFound(_0x8bcca,null))['then'](removeEntity(_0x8bcca,null))['catch'](handleError(_0x8bcca,null));};exports['describe']=function(_0x8dece9,_0x1f3f7f){return db['MailQueue'][_0x7d1d('0x5d')]()['then'](respondWithResult(_0x1f3f7f,null))[_0x7d1d('0x4e')](handleError(_0x1f3f7f,null));};exports[_0x7d1d('0x5e')]=function(_0x6fb8c3,_0x161d52,_0x27a1dd){var _0x346693={'raw':!![],'where':{}},_0x186640={},_0x6cb0cf;return db['MailQueue']['findOne']({'where':{'id':_0x6fb8c3[_0x7d1d('0x50')]['id']}})[_0x7d1d('0x2d')](handleEntityNotFound(_0x161d52,null))['then'](function(_0x2500ea){if(_0x2500ea){_0x6cb0cf=_0x2500ea[_0x7d1d('0x2f')]({'plain':!![]});_0x186640['model']=_[_0x7d1d('0x3a')](db[_0x7d1d('0x5f')][_0x7d1d('0x60')]);_0x186640[_0x7d1d('0x39')]=_[_0x7d1d('0x3a')](_0x6fb8c3[_0x7d1d('0x39')]);_0x186640[_0x7d1d('0x3b')]=_[_0x7d1d('0x3c')](_0x186640[_0x7d1d('0x38')],_0x186640[_0x7d1d('0x39')]);_0x346693[_0x7d1d('0x3d')]=_['intersection'](_0x186640[_0x7d1d('0x38')],qs[_0x7d1d('0x3e')](_0x6fb8c3[_0x7d1d('0x39')][_0x7d1d('0x3e')]));_0x346693[_0x7d1d('0x3d')]=_0x346693[_0x7d1d('0x3d')][_0x7d1d('0x3f')]?_0x346693[_0x7d1d('0x3d')]:_0x186640[_0x7d1d('0x38')];if(!_0x6fb8c3[_0x7d1d('0x39')][_0x7d1d('0x40')]('nolimit')){_0x346693[_0x7d1d('0x42')]=qs[_0x7d1d('0x42')](_0x6fb8c3[_0x7d1d('0x39')]['limit']);_0x346693[_0x7d1d('0x24')]=qs['offset'](_0x6fb8c3[_0x7d1d('0x39')]['offset']);}_0x346693[_0x7d1d('0x43')]=qs[_0x7d1d('0x44')](_0x6fb8c3[_0x7d1d('0x39')][_0x7d1d('0x44')]);_0x346693['where']=qs['filters'](_[_0x7d1d('0x46')](_0x6fb8c3[_0x7d1d('0x39')],_0x186640['filters']));_0x346693[_0x7d1d('0x45')][_0x7d1d('0x61')]=_0x2500ea['id'];if(_0x6fb8c3['query'][_0x7d1d('0x47')]){_0x346693[_0x7d1d('0x45')]=_[_0x7d1d('0x49')](_0x346693[_0x7d1d('0x45')],{'$or':_[_0x7d1d('0x36')](_0x346693[_0x7d1d('0x3d')],function(_0x335aa0){var _0x225aa0={};_0x225aa0[_0x335aa0]={'$like':'%'+_0x6fb8c3['query']['filter']+'%'};return _0x225aa0;})});}_0x346693=_[_0x7d1d('0x49')]({},_0x346693,_0x6fb8c3['options']);return db['UserMailQueue'][_0x7d1d('0x4c')](_0x346693);}})['then'](function(_0x3822c1){if(_0x3822c1){return db[_0x7d1d('0x62')][_0x7d1d('0x63')]({'where':{'id':_[_0x7d1d('0x36')](_0x3822c1,_0x7d1d('0x64')),'role':_0x7d1d('0x65')},'attributes':['id',_0x7d1d('0x33'),_0x7d1d('0x66'),'updatedAt',_0x7d1d('0x67')]});}})['then'](function(_0x2b5bee){if(_0x2b5bee){return{'count':_0x2b5bee[_0x7d1d('0x26')],'rows':_[_0x7d1d('0x36')](_0x2b5bee[_0x7d1d('0x4d')],function(_0x1423f2){return{'membername':_0x1423f2[_0x7d1d('0x33')],'UserId':_0x1423f2['id'],'queue_name':_0x6cb0cf[_0x7d1d('0x33')],'MailQueueId':_0x6cb0cf['id'],'interface':util[_0x7d1d('0x68')](_0x7d1d('0x69'),_0x7d1d('0x6a'),_0x1423f2[_0x7d1d('0x33')]),'penalty':0x0,'paused':_0x1423f2[_0x7d1d('0x66')],'createdAt':_0x1423f2['createdAt'],'updatedAt':_0x1423f2[_0x7d1d('0x6b')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x161d52,_0x346693))[_0x7d1d('0x4e')](handleError(_0x161d52,null));};exports[_0x7d1d('0x6c')]=function(_0xbc17e9,_0x55bd4f,_0x767ff7){var _0x3cff5c={};var _0x532d86={};var _0x299c4b;var _0xc6e81e;return db['MailQueue'][_0x7d1d('0x6d')]({'where':{'id':_0xbc17e9[_0x7d1d('0x50')]['id']}})[_0x7d1d('0x2d')](handleEntityNotFound(_0x55bd4f,null))['then'](function(_0x55b895){if(_0x55b895){_0x299c4b=_0x55b895;_0x532d86[_0x7d1d('0x38')]=_[_0x7d1d('0x3a')](db[_0x7d1d('0x6e')]['rawAttributes']);_0x532d86[_0x7d1d('0x39')]=_[_0x7d1d('0x3a')](_0xbc17e9[_0x7d1d('0x39')]);_0x532d86[_0x7d1d('0x3b')]=_[_0x7d1d('0x3c')](_0x532d86[_0x7d1d('0x38')],_0x532d86['query']);_0x3cff5c[_0x7d1d('0x3d')]=_[_0x7d1d('0x3c')](_0x532d86['model'],qs[_0x7d1d('0x3e')](_0xbc17e9['query']['fields']));_0x3cff5c['attributes']=_0x3cff5c[_0x7d1d('0x3d')][_0x7d1d('0x3f')]?_0x3cff5c[_0x7d1d('0x3d')]:_0x532d86[_0x7d1d('0x38')];_0x3cff5c['order']=qs[_0x7d1d('0x44')](_0xbc17e9[_0x7d1d('0x39')][_0x7d1d('0x44')]);_0x3cff5c[_0x7d1d('0x45')]=qs['filters'](_[_0x7d1d('0x46')](_0xbc17e9[_0x7d1d('0x39')],_0x532d86[_0x7d1d('0x3b')]));if(_0xbc17e9[_0x7d1d('0x39')]['filter']){_0x3cff5c[_0x7d1d('0x45')]=_[_0x7d1d('0x49')](_0x3cff5c[_0x7d1d('0x45')],{'$or':_['map'](_0x3cff5c[_0x7d1d('0x3d')],function(_0x247ba0){var _0x33f044={};_0x33f044[_0x247ba0]={'$like':'%'+_0xbc17e9[_0x7d1d('0x39')][_0x7d1d('0x47')]+'%'};return _0x33f044;})});}_0x3cff5c=_[_0x7d1d('0x49')]({},_0x3cff5c,_0xbc17e9[_0x7d1d('0x4a')]);return _0x299c4b[_0x7d1d('0x6c')](_0x3cff5c);}})[_0x7d1d('0x2d')](function(_0x4050b9){if(_0x4050b9){_0xc6e81e=_0x4050b9[_0x7d1d('0x3f')];if(!_0xbc17e9[_0x7d1d('0x39')][_0x7d1d('0x40')](_0x7d1d('0x41'))){_0x3cff5c[_0x7d1d('0x42')]=qs[_0x7d1d('0x42')](_0xbc17e9[_0x7d1d('0x39')][_0x7d1d('0x42')]);_0x3cff5c['offset']=qs[_0x7d1d('0x24')](_0xbc17e9[_0x7d1d('0x39')]['offset']);}return _0x299c4b[_0x7d1d('0x6c')](_0x3cff5c);}})['then'](function(_0xf14d0c){if(_0xf14d0c){return _0xf14d0c?{'count':_0xc6e81e,'rows':_0xf14d0c}:null;}})[_0x7d1d('0x2d')](respondWithResult(_0x55bd4f,null))['catch'](handleError(_0x55bd4f,null));};exports['addTeams']=function(_0x1a8f68,_0x1ddd51,_0x243201){var _0x6d9fb9=_0x1a8f68[_0x7d1d('0x54')]['ids'];return db['Team'][_0x7d1d('0x4c')]({'where':{'id':_0x6d9fb9},'attributes':['id'],'include':[{'model':db[_0x7d1d('0x62')],'as':_0x7d1d('0x6f'),'attributes':['id',_0x7d1d('0x33'),'online',_0x7d1d('0x70'),_0x7d1d('0x71')],'raw':!![]}]})['then'](function(_0x3ef9ce){if(_0x3ef9ce){var _0x35fd18=_['flatMap'](_0x3ef9ce,function(_0x365c71){var _0x50cf93=_0x365c71['get']({'plain':!![]});return _0x50cf93['Agents'];});return db[_0x7d1d('0x37')][_0x7d1d('0x52')]({'where':{'id':_0x1a8f68['params']['id']}})[_0x7d1d('0x2d')](function(_0x1c058c){return db[_0x7d1d('0x72')]['transaction'](function(_0x5abd33){return _0x1c058c[_0x7d1d('0x73')](_0x6d9fb9,{'transaction':_0x5abd33})[_0x7d1d('0x2d')](function(){return BPromise[_0x7d1d('0x74')](_0x35fd18,function(_0x2ba5e3){return db[_0x7d1d('0x5f')]['findOrCreate']({'where':{'UserId':_0x2ba5e3['id'],'MailQueueId':_0x1a8f68[_0x7d1d('0x50')]['id']},'transaction':_0x5abd33});});})[_0x7d1d('0x2d')](function(){_0x35fd18[_0x7d1d('0x75')](function(_0x333a4b){socket['emit'](_0x7d1d('0x76'),{'UserId':_0x333a4b['id'],'MailQueueId':_0x1c058c['id']});});});});});}})[_0x7d1d('0x2d')](respondWithStatusCode(_0x1ddd51,null))[_0x7d1d('0x4e')](handleError(_0x1ddd51,null));};exports[_0x7d1d('0x77')]=function(_0x409383,_0x48d8ff,_0x69a29d){return db['Team'][_0x7d1d('0x4c')]({'where':{'id':_0x409383[_0x7d1d('0x39')][_0x7d1d('0x78')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x7d1d('0x6f'),'attributes':['id'],'raw':!![]}]})[_0x7d1d('0x2d')](handleEntityNotFound(_0x48d8ff,null))[_0x7d1d('0x2d')](function(_0x203f17){var _0x367838=_['map'](_0x203f17,'id');var _0x32d298=[];var _0x5f1683=[];var _0x4995b7=squel['select']();_0x4995b7[_0x7d1d('0x79')]('tq.TeamId')[_0x7d1d('0x7a')](_0x7d1d('0x7b'),'tq')['join']('user_has_teams','ut',_0x7d1d('0x7c'))[_0x7d1d('0x45')](_0x7d1d('0x7d'),_0x409383[_0x7d1d('0x50')]['id']);for(var _0x1a66bd=0x0;_0x1a66bd<_0x203f17[_0x7d1d('0x3f')];_0x1a66bd+=0x1){let _0x5d0180=_0x203f17[_0x1a66bd];for(var _0x4a8961=0x0;_0x4a8961<_0x5d0180['Agents']['length'];_0x4a8961+=0x1){let _0x288aaf=_0x5d0180['Agents'][_0x4a8961];var _0x16b628=_0x4995b7[_0x7d1d('0x7e')]();_0x16b628['where'](_0x7d1d('0x7f'),_0x288aaf['id']);_0x5f1683[_0x7d1d('0x80')](db['sequelize'][_0x7d1d('0x39')](_0x16b628['toString'](),{'type':db['sequelize']['QueryTypes'][_0x7d1d('0x81')]})['then'](function(_0x176c0e){if(_0x176c0e[_0x7d1d('0x3f')]===0x1){return _0x288aaf['id'];}else{var _0x12e274=_['every'](_[_0x7d1d('0x36')](_0x176c0e,_0x7d1d('0x82')),function(_0x32ae69){return _[_0x7d1d('0x83')](_0x367838,_0x32ae69);});if(_0x12e274){return _0x288aaf['id'];}}}));}}return BPromise['all'](_0x5f1683)[_0x7d1d('0x2d')](function(_0x244902){_0x32d298=_(_0x32d298)['union'](_0x244902)['compact']()['value']();return db[_0x7d1d('0x37')][_0x7d1d('0x52')]({'where':{'id':_0x409383[_0x7d1d('0x50')]['id']}})[_0x7d1d('0x2d')](function(_0x113abc){return db[_0x7d1d('0x72')][_0x7d1d('0x84')](function(_0xdfaa3d){return _0x113abc[_0x7d1d('0x77')](_0x409383[_0x7d1d('0x39')]['ids'],{'transaction':_0xdfaa3d})['then'](function(){if(!_[_0x7d1d('0x85')](_0x32d298)){return _0x113abc['removeAgents'](_0x32d298,{'transaction':_0xdfaa3d});}})[_0x7d1d('0x2d')](function(){_0x32d298[_0x7d1d('0x75')](function(_0x36723a){socket['emit'](_0x7d1d('0x86'),{'UserId':_0x36723a,'MailQueueId':_0x113abc['id']});});});});});});})[_0x7d1d('0x2d')](respondWithStatusCode(_0x48d8ff,null))[_0x7d1d('0x4e')](handleError(_0x48d8ff,null));};exports[_0x7d1d('0x87')]=function(_0xb2f3e7,_0x205db0,_0x42371f){return db[_0x7d1d('0x37')][_0x7d1d('0x52')]({'where':{'id':_0xb2f3e7[_0x7d1d('0x50')]['id']}})['then'](handleEntityNotFound(_0x205db0,null))[_0x7d1d('0x2d')](function(_0x3e174d){if(_0x3e174d){return _0x3e174d[_0x7d1d('0x87')](_0xb2f3e7['body'][_0x7d1d('0x78')],_[_0x7d1d('0x88')](_0xb2f3e7['body'],['ids','id'])||{})[_0x7d1d('0x89')](function(_0x56ceac){for(var _0x301d04=0x0;_0x301d04<_0xb2f3e7[_0x7d1d('0x54')][_0x7d1d('0x78')][_0x7d1d('0x3f')];_0x301d04+=0x1){socket['emit'](_0x7d1d('0x76'),{'UserId':Number(_0xb2f3e7[_0x7d1d('0x54')]['ids'][_0x301d04]),'MailQueueId':Number(_0xb2f3e7[_0x7d1d('0x50')]['id'])});}return _0x56ceac;});}})[_0x7d1d('0x2d')](respondWithResult(_0x205db0,null))[_0x7d1d('0x4e')](handleError(_0x205db0,null));};exports[_0x7d1d('0x8a')]=function(_0x45c69a,_0x3afb5c,_0x4cda04){return db[_0x7d1d('0x37')][_0x7d1d('0x52')]({'where':{'id':_0x45c69a[_0x7d1d('0x50')]['id']}})['then'](handleEntityNotFound(_0x3afb5c,null))[_0x7d1d('0x2d')](function(_0x3bbfc5){if(_0x3bbfc5){return _0x3bbfc5['removeAgents'](_0x45c69a[_0x7d1d('0x39')][_0x7d1d('0x78')])[_0x7d1d('0x2d')](function(){if(_[_0x7d1d('0x8b')](_0x45c69a[_0x7d1d('0x39')][_0x7d1d('0x78')])){for(var _0x31dd98=0x0;_0x31dd98<_0x45c69a[_0x7d1d('0x39')]['ids']['length'];_0x31dd98+=0x1){socket[_0x7d1d('0x8c')]('userMailQueue:remove',{'UserId':Number(_0x45c69a[_0x7d1d('0x39')][_0x7d1d('0x78')][_0x31dd98]),'MailQueueId':Number(_0x45c69a[_0x7d1d('0x50')]['id'])});}}else{socket[_0x7d1d('0x8c')](_0x7d1d('0x86'),{'UserId':Number(_0x45c69a[_0x7d1d('0x39')][_0x7d1d('0x78')]),'MailQueueId':Number(_0x45c69a['params']['id'])});}});}})[_0x7d1d('0x2d')](respondWithStatusCode(_0x3afb5c,null))[_0x7d1d('0x4e')](handleError(_0x3afb5c,null));};exports[_0x7d1d('0x8d')]=function(_0x5335c1,_0x3aa040,_0x324d4b){var _0xd7ca0a={};var _0x4b6252={};var _0x5bc7c0;var _0x6e19f;return db['MailQueue'][_0x7d1d('0x6d')]({'where':{'id':_0x5335c1[_0x7d1d('0x50')]['id']}})[_0x7d1d('0x2d')](handleEntityNotFound(_0x3aa040,null))[_0x7d1d('0x2d')](function(_0x3e831d){if(_0x3e831d){_0x5bc7c0=_0x3e831d;_0x4b6252['model']=_[_0x7d1d('0x3a')](db[_0x7d1d('0x62')][_0x7d1d('0x60')]);_0x4b6252[_0x7d1d('0x39')]=_[_0x7d1d('0x3a')](_0x5335c1[_0x7d1d('0x39')]);_0x4b6252[_0x7d1d('0x3b')]=_['intersection'](_0x4b6252[_0x7d1d('0x38')],_0x4b6252[_0x7d1d('0x39')]);_0xd7ca0a[_0x7d1d('0x3d')]=_['intersection'](_0x4b6252['model'],qs[_0x7d1d('0x3e')](_0x5335c1[_0x7d1d('0x39')]['fields']));_0xd7ca0a[_0x7d1d('0x3d')]=_0xd7ca0a[_0x7d1d('0x3d')][_0x7d1d('0x3f')]?_0xd7ca0a[_0x7d1d('0x3d')]:_0x4b6252['model'];_0xd7ca0a[_0x7d1d('0x43')]=qs['sort'](_0x5335c1[_0x7d1d('0x39')]['sort']);_0xd7ca0a['where']=qs[_0x7d1d('0x3b')](_['pick'](_0x5335c1['query'],_0x4b6252[_0x7d1d('0x3b')]));if(_0x5335c1[_0x7d1d('0x39')][_0x7d1d('0x47')]){_0xd7ca0a[_0x7d1d('0x45')]=_['merge'](_0xd7ca0a[_0x7d1d('0x45')],{'$or':_[_0x7d1d('0x36')](_0xd7ca0a[_0x7d1d('0x3d')],function(_0x2727db){var _0x4e54c4={};_0x4e54c4[_0x2727db]={'$like':'%'+_0x5335c1['query'][_0x7d1d('0x47')]+'%'};return _0x4e54c4;})});}_0xd7ca0a=_[_0x7d1d('0x49')]({},_0xd7ca0a,_0x5335c1[_0x7d1d('0x4a')]);return _0x5bc7c0[_0x7d1d('0x8d')](_0xd7ca0a);}})[_0x7d1d('0x2d')](function(_0x182a4b){if(_0x182a4b){_0x6e19f=_0x182a4b['length'];if(!_0x5335c1[_0x7d1d('0x39')][_0x7d1d('0x40')](_0x7d1d('0x41'))){_0xd7ca0a[_0x7d1d('0x42')]=qs[_0x7d1d('0x42')](_0x5335c1[_0x7d1d('0x39')]['limit']);_0xd7ca0a[_0x7d1d('0x24')]=qs[_0x7d1d('0x24')](_0x5335c1[_0x7d1d('0x39')]['offset']);}return _0x5bc7c0[_0x7d1d('0x8d')](_0xd7ca0a);}})[_0x7d1d('0x2d')](function(_0x52317a){if(_0x52317a){return _0x52317a?{'count':_0x6e19f,'rows':_0x52317a}:null;}})[_0x7d1d('0x2d')](respondWithResult(_0x3aa040,null))[_0x7d1d('0x4e')](handleError(_0x3aa040,null));};