Built motion from commit bab6f49e.|2.6.17
[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 _0xa1a1=['fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','then','destroy','get','MailQueues','UserProfileResource','error','name','index','map','MailQueue','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','rows','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','describe','getMembers','UserMailQueue','findAll','User','findAndCountAll','UserId','mailPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','findOne','Team','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','addTeams','each','findOrCreate','emit','removeTeams','select','field','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','TeamId','includes','union','compact','value','isEmpty','forEach','addAgents','userMailQueue:save','removeAgents','isArray','userMailQueue:remove','getAgents','hasOwnProperty','eml-format','rimraf','zip-dir'];(function(_0x18872f,_0x1f225b){var _0x21604c=function(_0x32986a){while(--_0x32986a){_0x18872f['push'](_0x18872f['shift']());}};_0x21604c(++_0x1f225b);}(_0xa1a1,0x91));var _0x1a1a=function(_0x5dc03e,_0x54e60c){_0x5dc03e=_0x5dc03e-0x0;var _0x466a07=_0xa1a1[_0x5dc03e];return _0x466a07;};'use strict';var emlformat=require(_0x1a1a('0x0'));var rimraf=require(_0x1a1a('0x1'));var zipdir=require(_0x1a1a('0x2'));var jsonpatch=require(_0x1a1a('0x3'));var rp=require(_0x1a1a('0x4'));var moment=require(_0x1a1a('0x5'));var BPromise=require(_0x1a1a('0x6'));var Mustache=require(_0x1a1a('0x7'));var util=require(_0x1a1a('0x8'));var path=require(_0x1a1a('0x9'));var sox=require(_0x1a1a('0xa'));var csv=require(_0x1a1a('0xb'));var ejs=require(_0x1a1a('0xc'));var fs=require('fs');var fs_extra=require(_0x1a1a('0xd'));var _=require(_0x1a1a('0xe'));var squel=require(_0x1a1a('0xf'));var crypto=require(_0x1a1a('0x10'));var jsforce=require(_0x1a1a('0x11'));var deskjs=require(_0x1a1a('0x12'));var toCsv=require('to-csv');var querystring=require(_0x1a1a('0x13'));var Papa=require(_0x1a1a('0x14'));var Redis=require('ioredis');var authService=require(_0x1a1a('0x15'));var qs=require(_0x1a1a('0x16'));var as=require(_0x1a1a('0x17'));var hardwareService=require(_0x1a1a('0x18'));var logger=require(_0x1a1a('0x19'))(_0x1a1a('0x1a'));var utils=require(_0x1a1a('0x1b'));var config=require(_0x1a1a('0x1c'));var licenseUtil=require(_0x1a1a('0x1d'));var db=require(_0x1a1a('0x1e'))['db'];config[_0x1a1a('0x1f')]=_[_0x1a1a('0x20')](config[_0x1a1a('0x1f')],{'host':'localhost','port':0x18eb});var socket=require(_0x1a1a('0x21'))(new Redis(config[_0x1a1a('0x1f')]));require('./mailQueue.socket')[_0x1a1a('0x22')](socket);function respondWithStatusCode(_0xd2e9d,_0x16ac3e){_0x16ac3e=_0x16ac3e||0xcc;return function(_0x251583){if(_0x251583){return _0xd2e9d[_0x1a1a('0x23')](_0x16ac3e);}return _0xd2e9d[_0x1a1a('0x24')](_0x16ac3e)[_0x1a1a('0x25')]();};}function respondWithResult(_0x320794,_0x3e5707){_0x3e5707=_0x3e5707||0xc8;return function(_0x292cb9){if(_0x292cb9){return _0x320794[_0x1a1a('0x24')](_0x3e5707)[_0x1a1a('0x26')](_0x292cb9);}};}function respondWithFilteredResult(_0x16f9ba,_0x5e73d6){return function(_0x25a2ae){if(_0x25a2ae){var _0x486bff=typeof _0x5e73d6[_0x1a1a('0x27')]===_0x1a1a('0x28')&&typeof _0x5e73d6[_0x1a1a('0x29')]===_0x1a1a('0x28');var _0x149f2c=_0x25a2ae[_0x1a1a('0x2a')];var _0x2436b5=_0x486bff?0x0:_0x5e73d6[_0x1a1a('0x27')];var _0x49462b=_0x486bff?_0x25a2ae[_0x1a1a('0x2a')]:_0x5e73d6[_0x1a1a('0x27')]+_0x5e73d6['limit'];var _0x3b601f;if(_0x49462b>=_0x149f2c){_0x49462b=_0x149f2c;_0x3b601f=0xc8;}else{_0x3b601f=0xce;}_0x16f9ba['status'](_0x3b601f);return _0x16f9ba[_0x1a1a('0x2b')](_0x1a1a('0x2c'),_0x2436b5+'-'+_0x49462b+'/'+_0x149f2c)['json'](_0x25a2ae);}return null;};}function patchUpdates(_0x104fdb){return function(_0x4eb38d){try{jsonpatch[_0x1a1a('0x2d')](_0x4eb38d,_0x104fdb,!![]);}catch(_0xa7a305){return BPromise[_0x1a1a('0x2e')](_0xa7a305);}return _0x4eb38d['save']();};}function saveUpdates(_0x3ec3ec,_0x4540a7){return function(_0xfde02b){if(_0xfde02b){return _0xfde02b[_0x1a1a('0x2f')](_0x3ec3ec)[_0x1a1a('0x30')](function(_0x1e3bc2){return _0x1e3bc2;});}return null;};}function removeEntity(_0x5035e7,_0x57750d){return function(_0x2a6298){if(_0x2a6298){return _0x2a6298[_0x1a1a('0x31')]()[_0x1a1a('0x30')](function(){var _0x32fca4=_0x2a6298[_0x1a1a('0x32')]({'plain':!![]});var _0x1b8351=_0x1a1a('0x33');return db[_0x1a1a('0x34')][_0x1a1a('0x31')]({'where':{'type':_0x1b8351,'resourceId':_0x32fca4['id']}})[_0x1a1a('0x30')](function(){return _0x2a6298;});})[_0x1a1a('0x30')](function(){_0x5035e7[_0x1a1a('0x24')](0xcc)[_0x1a1a('0x25')]();});}};}function handleEntityNotFound(_0x50e7b4,_0x46041c){return function(_0x3e3e52){if(!_0x3e3e52){_0x50e7b4[_0x1a1a('0x23')](0x194);}return _0x3e3e52;};}function handleError(_0x8182a9,_0x593a5c){_0x593a5c=_0x593a5c||0x1f4;return function(_0x192920){logger[_0x1a1a('0x35')](_0x192920['stack']);if(_0x192920[_0x1a1a('0x36')]){delete _0x192920[_0x1a1a('0x36')];}_0x8182a9['status'](_0x593a5c)['send'](_0x192920);};}exports[_0x1a1a('0x37')]=function(_0x270ab6,_0x4a42a4){var _0x38ebfa={},_0x2d02b4={},_0x444928={'count':0x0,'rows':[]};var _0x25e6f1=_[_0x1a1a('0x38')](db[_0x1a1a('0x39')][_0x1a1a('0x3a')],function(_0x5619bf){return{'name':_0x5619bf['fieldName'],'type':_0x5619bf[_0x1a1a('0x3b')][_0x1a1a('0x3c')]};});_0x2d02b4[_0x1a1a('0x3d')]=_[_0x1a1a('0x38')](_0x25e6f1,_0x1a1a('0x36'));_0x2d02b4[_0x1a1a('0x3e')]=_[_0x1a1a('0x3f')](_0x270ab6[_0x1a1a('0x3e')]);_0x2d02b4[_0x1a1a('0x40')]=_[_0x1a1a('0x41')](_0x2d02b4[_0x1a1a('0x3d')],_0x2d02b4['query']);_0x38ebfa['attributes']=_[_0x1a1a('0x41')](_0x2d02b4[_0x1a1a('0x3d')],qs[_0x1a1a('0x42')](_0x270ab6[_0x1a1a('0x3e')][_0x1a1a('0x42')]));_0x38ebfa[_0x1a1a('0x43')]=_0x38ebfa[_0x1a1a('0x43')][_0x1a1a('0x44')]?_0x38ebfa[_0x1a1a('0x43')]:_0x2d02b4[_0x1a1a('0x3d')];if(!_0x270ab6['query']['hasOwnProperty'](_0x1a1a('0x45'))){_0x38ebfa['limit']=qs[_0x1a1a('0x29')](_0x270ab6[_0x1a1a('0x3e')][_0x1a1a('0x29')]);_0x38ebfa['offset']=qs[_0x1a1a('0x27')](_0x270ab6['query']['offset']);}_0x38ebfa[_0x1a1a('0x46')]=qs[_0x1a1a('0x47')](_0x270ab6[_0x1a1a('0x3e')]['sort']);_0x38ebfa[_0x1a1a('0x48')]=qs[_0x1a1a('0x40')](_[_0x1a1a('0x49')](_0x270ab6[_0x1a1a('0x3e')],_0x2d02b4[_0x1a1a('0x40')]),_0x25e6f1);if(_0x270ab6[_0x1a1a('0x3e')][_0x1a1a('0x4a')]){_0x38ebfa[_0x1a1a('0x48')]=_['merge'](_0x38ebfa[_0x1a1a('0x48')],{'$or':_[_0x1a1a('0x38')](_0x25e6f1,function(_0x4522e5){if(_0x4522e5[_0x1a1a('0x3b')]!==_0x1a1a('0x4b')){var _0x531a6e={};_0x531a6e[_0x4522e5['name']]={'$like':'%'+_0x270ab6[_0x1a1a('0x3e')][_0x1a1a('0x4a')]+'%'};return _0x531a6e;}})});}_0x38ebfa=_[_0x1a1a('0x4c')]({},_0x38ebfa,_0x270ab6[_0x1a1a('0x4d')]);var _0x498394={'where':_0x38ebfa[_0x1a1a('0x48')]};return db[_0x1a1a('0x39')][_0x1a1a('0x2a')](_0x498394)[_0x1a1a('0x30')](function(_0x2d72dd){_0x444928[_0x1a1a('0x2a')]=_0x2d72dd;if(_0x270ab6['query'][_0x1a1a('0x4e')]){_0x38ebfa[_0x1a1a('0x4f')]=[{'all':!![]}];}return db['MailQueue']['findAll'](_0x38ebfa);})[_0x1a1a('0x30')](function(_0x192c9d){_0x444928[_0x1a1a('0x50')]=_0x192c9d;return _0x444928;})[_0x1a1a('0x30')](respondWithFilteredResult(_0x4a42a4,_0x38ebfa))[_0x1a1a('0x51')](handleError(_0x4a42a4,null));};exports[_0x1a1a('0x52')]=function(_0x5c8406,_0x1d180c){var _0x44ecab={'raw':!![],'where':{'id':_0x5c8406[_0x1a1a('0x53')]['id']}},_0x3bead2={};_0x3bead2['model']=_[_0x1a1a('0x3f')](db['MailQueue'][_0x1a1a('0x3a')]);_0x3bead2[_0x1a1a('0x3e')]=_['keys'](_0x5c8406[_0x1a1a('0x3e')]);_0x3bead2[_0x1a1a('0x40')]=_[_0x1a1a('0x41')](_0x3bead2[_0x1a1a('0x3d')],_0x3bead2[_0x1a1a('0x3e')]);_0x44ecab[_0x1a1a('0x43')]=_[_0x1a1a('0x41')](_0x3bead2[_0x1a1a('0x3d')],qs[_0x1a1a('0x42')](_0x5c8406[_0x1a1a('0x3e')][_0x1a1a('0x42')]));_0x44ecab['attributes']=_0x44ecab['attributes'][_0x1a1a('0x44')]?_0x44ecab[_0x1a1a('0x43')]:_0x3bead2[_0x1a1a('0x3d')];if(_0x5c8406['query'][_0x1a1a('0x4e')]){_0x44ecab['include']=[{'all':!![]}];}_0x44ecab=_['merge']({},_0x44ecab,_0x5c8406[_0x1a1a('0x4d')]);return db['MailQueue'][_0x1a1a('0x54')](_0x44ecab)[_0x1a1a('0x30')](handleEntityNotFound(_0x1d180c,null))[_0x1a1a('0x30')](respondWithResult(_0x1d180c,null))['catch'](handleError(_0x1d180c,null));};exports[_0x1a1a('0x55')]=function(_0x87e85b,_0x39f5b8){return db[_0x1a1a('0x39')][_0x1a1a('0x55')](_0x87e85b[_0x1a1a('0x56')],{})[_0x1a1a('0x30')](function(_0x5b84fd){var _0x343517=_0x87e85b[_0x1a1a('0x57')][_0x1a1a('0x32')]({'plain':!![]});if(!_0x343517)throw new Error(_0x1a1a('0x58'));if(_0x343517['role']==='user'){var _0x313640=_0x5b84fd[_0x1a1a('0x32')]({'plain':!![]});var _0x950ff2=_0x1a1a('0x33');return db['UserProfileSection'][_0x1a1a('0x54')]({'where':{'name':_0x950ff2,'userProfileId':_0x343517[_0x1a1a('0x59')]},'raw':!![]})[_0x1a1a('0x30')](function(_0x57f84a){if(_0x57f84a&&_0x57f84a['autoAssociation']===0x0){return db[_0x1a1a('0x34')][_0x1a1a('0x55')]({'name':_0x313640[_0x1a1a('0x36')],'resourceId':_0x313640['id'],'type':_0x57f84a[_0x1a1a('0x36')],'sectionId':_0x57f84a['id']},{})[_0x1a1a('0x30')](function(){return _0x5b84fd;});}else{return _0x5b84fd;}})['catch'](function(_0x58a403){logger[_0x1a1a('0x35')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x58a403);throw _0x58a403;});}return _0x5b84fd;})['then'](respondWithResult(_0x39f5b8,0xc9))['catch'](handleError(_0x39f5b8,null));};exports[_0x1a1a('0x2f')]=function(_0x4dc812,_0x4e646e){if(_0x4dc812[_0x1a1a('0x56')]['id']){delete _0x4dc812[_0x1a1a('0x56')]['id'];}return db[_0x1a1a('0x39')][_0x1a1a('0x54')]({'where':{'id':_0x4dc812[_0x1a1a('0x53')]['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x4e646e,null))[_0x1a1a('0x30')](saveUpdates(_0x4dc812[_0x1a1a('0x56')],null))[_0x1a1a('0x30')](respondWithResult(_0x4e646e,null))[_0x1a1a('0x51')](handleError(_0x4e646e,null));};exports['destroy']=function(_0x2f85c2,_0x3589dd){return db[_0x1a1a('0x39')]['find']({'where':{'id':_0x2f85c2['params']['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x3589dd,null))[_0x1a1a('0x30')](removeEntity(_0x3589dd,null))[_0x1a1a('0x51')](handleError(_0x3589dd,null));};exports[_0x1a1a('0x5a')]=function(_0x36566b,_0x6829){return db['MailQueue']['describe']()[_0x1a1a('0x30')](respondWithResult(_0x6829,null))[_0x1a1a('0x51')](handleError(_0x6829,null));};exports[_0x1a1a('0x5b')]=function(_0x563a06,_0x3e47d7,_0x312f0a){var _0xbba73e={'raw':!![],'where':{}},_0x50bfd0={},_0x32a1d3;return db[_0x1a1a('0x39')]['findOne']({'where':{'id':_0x563a06[_0x1a1a('0x53')]['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x3e47d7,null))['then'](function(_0x177f9d){if(_0x177f9d){_0x32a1d3=_0x177f9d[_0x1a1a('0x32')]({'plain':!![]});_0x50bfd0[_0x1a1a('0x3d')]=_[_0x1a1a('0x3f')](db[_0x1a1a('0x5c')][_0x1a1a('0x3a')]);_0x50bfd0[_0x1a1a('0x3e')]=_['keys'](_0x563a06['query']);_0x50bfd0['filters']=_[_0x1a1a('0x41')](_0x50bfd0[_0x1a1a('0x3d')],_0x50bfd0[_0x1a1a('0x3e')]);_0xbba73e[_0x1a1a('0x43')]=_[_0x1a1a('0x41')](_0x50bfd0[_0x1a1a('0x3d')],qs[_0x1a1a('0x42')](_0x563a06['query'][_0x1a1a('0x42')]));_0xbba73e[_0x1a1a('0x43')]=_0xbba73e[_0x1a1a('0x43')]['length']?_0xbba73e['attributes']:_0x50bfd0[_0x1a1a('0x3d')];if(!_0x563a06[_0x1a1a('0x3e')]['hasOwnProperty'](_0x1a1a('0x45'))){_0xbba73e[_0x1a1a('0x29')]=qs[_0x1a1a('0x29')](_0x563a06['query']['limit']);_0xbba73e[_0x1a1a('0x27')]=qs[_0x1a1a('0x27')](_0x563a06[_0x1a1a('0x3e')]['offset']);}_0xbba73e['order']=qs[_0x1a1a('0x47')](_0x563a06[_0x1a1a('0x3e')][_0x1a1a('0x47')]);_0xbba73e[_0x1a1a('0x48')]=qs['filters'](_[_0x1a1a('0x49')](_0x563a06['query'],_0x50bfd0[_0x1a1a('0x40')]));_0xbba73e[_0x1a1a('0x48')]['MailQueueId']=_0x177f9d['id'];if(_0x563a06['query'][_0x1a1a('0x4a')]){_0xbba73e['where']=_[_0x1a1a('0x4c')](_0xbba73e['where'],{'$or':_[_0x1a1a('0x38')](_0xbba73e[_0x1a1a('0x43')],function(_0x11f9a2){var _0x116add={};_0x116add[_0x11f9a2]={'$like':'%'+_0x563a06[_0x1a1a('0x3e')][_0x1a1a('0x4a')]+'%'};return _0x116add;})});}_0xbba73e=_[_0x1a1a('0x4c')]({},_0xbba73e,_0x563a06[_0x1a1a('0x4d')]);return db[_0x1a1a('0x5c')][_0x1a1a('0x5d')](_0xbba73e);}})[_0x1a1a('0x30')](function(_0x68fbce){if(_0x68fbce){return db[_0x1a1a('0x5e')][_0x1a1a('0x5f')]({'where':{'id':_['map'](_0x68fbce,_0x1a1a('0x60')),'role':'agent'},'attributes':['id',_0x1a1a('0x36'),_0x1a1a('0x61'),_0x1a1a('0x62'),_0x1a1a('0x63')]});}})[_0x1a1a('0x30')](function(_0x497a09){if(_0x497a09){return{'count':_0x497a09[_0x1a1a('0x2a')],'rows':_[_0x1a1a('0x38')](_0x497a09[_0x1a1a('0x50')],function(_0x23b028){return{'membername':_0x23b028[_0x1a1a('0x36')],'UserId':_0x23b028['id'],'queue_name':_0x32a1d3[_0x1a1a('0x36')],'MailQueueId':_0x32a1d3['id'],'interface':util[_0x1a1a('0x64')](_0x1a1a('0x65'),_0x1a1a('0x66'),_0x23b028['name']),'penalty':0x0,'paused':_0x23b028[_0x1a1a('0x61')],'createdAt':_0x23b028[_0x1a1a('0x63')],'updatedAt':_0x23b028['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x1a1a('0x30')](respondWithFilteredResult(_0x3e47d7,_0xbba73e))[_0x1a1a('0x51')](handleError(_0x3e47d7,null));};exports[_0x1a1a('0x67')]=function(_0x27bcfa,_0x5de40d,_0x896527){var _0x3da1f9={};var _0x43e200={};var _0x34f5f8;var _0x34a52c;return db[_0x1a1a('0x39')][_0x1a1a('0x68')]({'where':{'id':_0x27bcfa['params']['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x5de40d,null))['then'](function(_0x4d677f){if(_0x4d677f){_0x34f5f8=_0x4d677f;_0x43e200[_0x1a1a('0x3d')]=_[_0x1a1a('0x3f')](db[_0x1a1a('0x69')][_0x1a1a('0x3a')]);_0x43e200[_0x1a1a('0x3e')]=_['keys'](_0x27bcfa[_0x1a1a('0x3e')]);_0x43e200[_0x1a1a('0x40')]=_[_0x1a1a('0x41')](_0x43e200[_0x1a1a('0x3d')],_0x43e200[_0x1a1a('0x3e')]);_0x3da1f9[_0x1a1a('0x43')]=_[_0x1a1a('0x41')](_0x43e200[_0x1a1a('0x3d')],qs[_0x1a1a('0x42')](_0x27bcfa[_0x1a1a('0x3e')]['fields']));_0x3da1f9['attributes']=_0x3da1f9['attributes'][_0x1a1a('0x44')]?_0x3da1f9['attributes']:_0x43e200[_0x1a1a('0x3d')];_0x3da1f9['order']=qs[_0x1a1a('0x47')](_0x27bcfa[_0x1a1a('0x3e')][_0x1a1a('0x47')]);_0x3da1f9[_0x1a1a('0x48')]=qs[_0x1a1a('0x40')](_[_0x1a1a('0x49')](_0x27bcfa['query'],_0x43e200['filters']));if(_0x27bcfa[_0x1a1a('0x3e')][_0x1a1a('0x4a')]){_0x3da1f9[_0x1a1a('0x48')]=_[_0x1a1a('0x4c')](_0x3da1f9['where'],{'$or':_[_0x1a1a('0x38')](_0x3da1f9[_0x1a1a('0x43')],function(_0x195b5a){var _0x5cf53e={};_0x5cf53e[_0x195b5a]={'$like':'%'+_0x27bcfa['query']['filter']+'%'};return _0x5cf53e;})});}_0x3da1f9=_['merge']({},_0x3da1f9,_0x27bcfa[_0x1a1a('0x4d')]);return _0x34f5f8['getTeams'](_0x3da1f9);}})[_0x1a1a('0x30')](function(_0x2ab6fc){if(_0x2ab6fc){_0x34a52c=_0x2ab6fc[_0x1a1a('0x44')];if(!_0x27bcfa[_0x1a1a('0x3e')]['hasOwnProperty']('nolimit')){_0x3da1f9['limit']=qs[_0x1a1a('0x29')](_0x27bcfa[_0x1a1a('0x3e')][_0x1a1a('0x29')]);_0x3da1f9[_0x1a1a('0x27')]=qs['offset'](_0x27bcfa[_0x1a1a('0x3e')][_0x1a1a('0x27')]);}return _0x34f5f8[_0x1a1a('0x67')](_0x3da1f9);}})[_0x1a1a('0x30')](function(_0x32d92e){if(_0x32d92e){return _0x32d92e?{'count':_0x34a52c,'rows':_0x32d92e}:null;}})[_0x1a1a('0x30')](respondWithResult(_0x5de40d,null))[_0x1a1a('0x51')](handleError(_0x5de40d,null));};exports['addTeams']=function(_0x5a766a,_0x7480f1,_0x221e9b){var _0x3773bb=_0x5a766a['body'][_0x1a1a('0x6a')];return db[_0x1a1a('0x69')][_0x1a1a('0x5d')]({'where':{'id':_0x3773bb},'attributes':['id'],'include':[{'model':db['User'],'as':_0x1a1a('0x6b'),'attributes':['id',_0x1a1a('0x36'),_0x1a1a('0x6c'),_0x1a1a('0x6d'),_0x1a1a('0x6e')],'raw':!![]}]})[_0x1a1a('0x30')](function(_0x5a9eb2){if(_0x5a9eb2){var _0x3e1e3a=_[_0x1a1a('0x6f')](_0x5a9eb2,function(_0x10478b){var _0x341b8e=_0x10478b['get']({'plain':!![]});return _0x341b8e[_0x1a1a('0x6b')];});return db[_0x1a1a('0x39')]['find']({'where':{'id':_0x5a766a['params']['id']}})[_0x1a1a('0x30')](function(_0xd78b2f){return db[_0x1a1a('0x70')][_0x1a1a('0x71')](function(_0x41400c){return _0xd78b2f[_0x1a1a('0x72')](_0x3773bb,{'transaction':_0x41400c})['then'](function(){return BPromise[_0x1a1a('0x73')](_0x3e1e3a,function(_0xc32667){return db[_0x1a1a('0x5c')][_0x1a1a('0x74')]({'where':{'UserId':_0xc32667['id'],'MailQueueId':_0x5a766a[_0x1a1a('0x53')]['id']},'transaction':_0x41400c});});})[_0x1a1a('0x30')](function(){_0x3e1e3a['forEach'](function(_0x576c68){socket[_0x1a1a('0x75')]('userMailQueue:save',{'UserId':_0x576c68['id'],'MailQueueId':_0xd78b2f['id']});});});});});}})[_0x1a1a('0x30')](respondWithStatusCode(_0x7480f1,null))['catch'](handleError(_0x7480f1,null));};exports[_0x1a1a('0x76')]=function(_0x492dc4,_0x164eee,_0xaf7b0){return db[_0x1a1a('0x69')][_0x1a1a('0x5d')]({'where':{'id':_0x492dc4[_0x1a1a('0x3e')][_0x1a1a('0x6a')]},'attributes':['id'],'include':[{'model':db[_0x1a1a('0x5e')],'as':_0x1a1a('0x6b'),'attributes':['id'],'raw':!![]}]})[_0x1a1a('0x30')](handleEntityNotFound(_0x164eee,null))[_0x1a1a('0x30')](function(_0x357988){var _0x14725d=_[_0x1a1a('0x38')](_0x357988,'id');var _0x396840=[];var _0x37916b=[];var _0x2427ac=squel[_0x1a1a('0x77')]();_0x2427ac[_0x1a1a('0x78')](_0x1a1a('0x79'))[_0x1a1a('0x7a')](_0x1a1a('0x7b'),'tq')[_0x1a1a('0x7c')](_0x1a1a('0x7d'),'ut',_0x1a1a('0x7e'))['where'](_0x1a1a('0x7f'),_0x492dc4[_0x1a1a('0x53')]['id']);for(var _0x9c1f92=0x0;_0x9c1f92<_0x357988[_0x1a1a('0x44')];_0x9c1f92+=0x1){let _0x38a004=_0x357988[_0x9c1f92];for(var _0x458d6d=0x0;_0x458d6d<_0x38a004[_0x1a1a('0x6b')][_0x1a1a('0x44')];_0x458d6d+=0x1){let _0x14f9fb=_0x38a004[_0x1a1a('0x6b')][_0x458d6d];var _0x2e2a58=_0x2427ac[_0x1a1a('0x80')]();_0x2e2a58['where'](_0x1a1a('0x81'),_0x14f9fb['id']);_0x37916b[_0x1a1a('0x82')](db[_0x1a1a('0x70')]['query'](_0x2e2a58[_0x1a1a('0x83')](),{'type':db[_0x1a1a('0x70')]['QueryTypes'][_0x1a1a('0x84')]})[_0x1a1a('0x30')](function(_0x2982a6){if(_0x2982a6['length']===0x1){return _0x14f9fb['id'];}else{var _0x127c3a=_[_0x1a1a('0x85')](_[_0x1a1a('0x38')](_0x2982a6,_0x1a1a('0x86')),function(_0x230208){return _[_0x1a1a('0x87')](_0x14725d,_0x230208);});if(_0x127c3a){return _0x14f9fb['id'];}}}));}}return BPromise['all'](_0x37916b)[_0x1a1a('0x30')](function(_0x16cc6f){_0x396840=_(_0x396840)[_0x1a1a('0x88')](_0x16cc6f)[_0x1a1a('0x89')]()[_0x1a1a('0x8a')]();return db['MailQueue'][_0x1a1a('0x54')]({'where':{'id':_0x492dc4[_0x1a1a('0x53')]['id']}})[_0x1a1a('0x30')](function(_0x20e742){return db[_0x1a1a('0x70')][_0x1a1a('0x71')](function(_0x467678){return _0x20e742[_0x1a1a('0x76')](_0x492dc4[_0x1a1a('0x3e')][_0x1a1a('0x6a')],{'transaction':_0x467678})[_0x1a1a('0x30')](function(){if(!_[_0x1a1a('0x8b')](_0x396840)){return _0x20e742['removeAgents'](_0x396840,{'transaction':_0x467678});}})[_0x1a1a('0x30')](function(){_0x396840[_0x1a1a('0x8c')](function(_0x2f8cb5){socket[_0x1a1a('0x75')]('userMailQueue:remove',{'UserId':_0x2f8cb5,'MailQueueId':_0x20e742['id']});});});});});});})[_0x1a1a('0x30')](respondWithStatusCode(_0x164eee,null))[_0x1a1a('0x51')](handleError(_0x164eee,null));};exports['addAgents']=function(_0x150561,_0x5056ee,_0x39c0de){return db[_0x1a1a('0x39')][_0x1a1a('0x54')]({'where':{'id':_0x150561[_0x1a1a('0x53')]['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x5056ee,null))[_0x1a1a('0x30')](function(_0x82d9d6){if(_0x82d9d6){return _0x82d9d6[_0x1a1a('0x8d')](_0x150561['body'][_0x1a1a('0x6a')],_['omit'](_0x150561['body'],[_0x1a1a('0x6a'),'id'])||{})['spread'](function(_0x3a5d3b){for(var _0x5d4431=0x0;_0x5d4431<_0x150561[_0x1a1a('0x56')][_0x1a1a('0x6a')]['length'];_0x5d4431+=0x1){socket[_0x1a1a('0x75')](_0x1a1a('0x8e'),{'UserId':Number(_0x150561[_0x1a1a('0x56')][_0x1a1a('0x6a')][_0x5d4431]),'MailQueueId':Number(_0x150561[_0x1a1a('0x53')]['id'])});}return _0x3a5d3b;});}})[_0x1a1a('0x30')](respondWithResult(_0x5056ee,null))['catch'](handleError(_0x5056ee,null));};exports[_0x1a1a('0x8f')]=function(_0x5bcc0d,_0x3dbe57,_0xf40478){return db[_0x1a1a('0x39')]['find']({'where':{'id':_0x5bcc0d['params']['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x3dbe57,null))[_0x1a1a('0x30')](function(_0x585144){if(_0x585144){return _0x585144[_0x1a1a('0x8f')](_0x5bcc0d['query'][_0x1a1a('0x6a')])['then'](function(){if(_[_0x1a1a('0x90')](_0x5bcc0d[_0x1a1a('0x3e')][_0x1a1a('0x6a')])){for(var _0x62e77e=0x0;_0x62e77e<_0x5bcc0d[_0x1a1a('0x3e')][_0x1a1a('0x6a')][_0x1a1a('0x44')];_0x62e77e+=0x1){socket[_0x1a1a('0x75')](_0x1a1a('0x91'),{'UserId':Number(_0x5bcc0d['query']['ids'][_0x62e77e]),'MailQueueId':Number(_0x5bcc0d[_0x1a1a('0x53')]['id'])});}}else{socket['emit'](_0x1a1a('0x91'),{'UserId':Number(_0x5bcc0d[_0x1a1a('0x3e')][_0x1a1a('0x6a')]),'MailQueueId':Number(_0x5bcc0d[_0x1a1a('0x53')]['id'])});}});}})['then'](respondWithStatusCode(_0x3dbe57,null))[_0x1a1a('0x51')](handleError(_0x3dbe57,null));};exports['getAgents']=function(_0x15e77a,_0x4f3b9b,_0xf53581){var _0x528a1f={};var _0x34ac8c={};var _0x3361ef;var _0x30ea18;return db[_0x1a1a('0x39')][_0x1a1a('0x68')]({'where':{'id':_0x15e77a[_0x1a1a('0x53')]['id']}})[_0x1a1a('0x30')](handleEntityNotFound(_0x4f3b9b,null))[_0x1a1a('0x30')](function(_0x43c761){if(_0x43c761){_0x3361ef=_0x43c761;_0x34ac8c[_0x1a1a('0x3d')]=_[_0x1a1a('0x3f')](db['User'][_0x1a1a('0x3a')]);_0x34ac8c[_0x1a1a('0x3e')]=_['keys'](_0x15e77a[_0x1a1a('0x3e')]);_0x34ac8c[_0x1a1a('0x40')]=_[_0x1a1a('0x41')](_0x34ac8c[_0x1a1a('0x3d')],_0x34ac8c[_0x1a1a('0x3e')]);_0x528a1f['attributes']=_[_0x1a1a('0x41')](_0x34ac8c[_0x1a1a('0x3d')],qs[_0x1a1a('0x42')](_0x15e77a['query'][_0x1a1a('0x42')]));_0x528a1f['attributes']=_0x528a1f[_0x1a1a('0x43')][_0x1a1a('0x44')]?_0x528a1f[_0x1a1a('0x43')]:_0x34ac8c['model'];_0x528a1f['order']=qs[_0x1a1a('0x47')](_0x15e77a['query'][_0x1a1a('0x47')]);_0x528a1f[_0x1a1a('0x48')]=qs[_0x1a1a('0x40')](_['pick'](_0x15e77a['query'],_0x34ac8c['filters']));if(_0x15e77a[_0x1a1a('0x3e')][_0x1a1a('0x4a')]){_0x528a1f['where']=_[_0x1a1a('0x4c')](_0x528a1f[_0x1a1a('0x48')],{'$or':_[_0x1a1a('0x38')](_0x528a1f[_0x1a1a('0x43')],function(_0x49d620){var _0xd21f4={};_0xd21f4[_0x49d620]={'$like':'%'+_0x15e77a[_0x1a1a('0x3e')][_0x1a1a('0x4a')]+'%'};return _0xd21f4;})});}_0x528a1f=_[_0x1a1a('0x4c')]({},_0x528a1f,_0x15e77a[_0x1a1a('0x4d')]);return _0x3361ef[_0x1a1a('0x92')](_0x528a1f);}})[_0x1a1a('0x30')](function(_0x329832){if(_0x329832){_0x30ea18=_0x329832[_0x1a1a('0x44')];if(!_0x15e77a[_0x1a1a('0x3e')][_0x1a1a('0x93')](_0x1a1a('0x45'))){_0x528a1f[_0x1a1a('0x29')]=qs[_0x1a1a('0x29')](_0x15e77a['query'][_0x1a1a('0x29')]);_0x528a1f[_0x1a1a('0x27')]=qs[_0x1a1a('0x27')](_0x15e77a['query'][_0x1a1a('0x27')]);}return _0x3361ef[_0x1a1a('0x92')](_0x528a1f);}})[_0x1a1a('0x30')](function(_0x38fb87){if(_0x38fb87){return _0x38fb87?{'count':_0x30ea18,'rows':_0x38fb87}:null;}})[_0x1a1a('0x30')](respondWithResult(_0x4f3b9b,null))['catch'](handleError(_0x4f3b9b,null));};