Built motion from commit (unavailable).|2.5.21
[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 _0x61d0=['squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','localhost','socket.io-emitter','./mailQueue.socket','register','sendStatus','status','end','json','offset','limit','Content-Range','apply','reject','save','then','get','MailQueues','UserProfileResource','destroy','error','stack','name','send','index','MailQueue','type','key','map','query','keys','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','count','include','findAll','rows','show','params','rawAttributes','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','catch','update','describe','getMembers','findOne','UserMailQueue','User','createdAt','format','SIP','updatedAt','getTeams','Team','addTeams','Agents','online','interface','flatMap','sequelize','transaction','each','findOrCreate','userMailQueue:save','removeTeams','ids','select','tq.TeamId','from','team_has_mail_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','MailQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','TeamId','all','compact','value','removeAgents','forEach','emit','userMailQueue:remove','addAgents','omit','isArray','getAgents','html-pdf','rimraf','zip-dir','request-promise','bluebird','mustache','path','sox','to-csv','ejs','lodash'];(function(_0x30ed53,_0x54776a){var _0x412cc2=function(_0x51e374){while(--_0x51e374){_0x30ed53['push'](_0x30ed53['shift']());}};_0x412cc2(++_0x54776a);}(_0x61d0,0x187));var _0x061d=function(_0x257017,_0x330627){_0x257017=_0x257017-0x0;var _0x38536d=_0x61d0[_0x257017];return _0x38536d;};'use strict';var pdf=require(_0x061d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x061d('0x1'));var zipdir=require(_0x061d('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x061d('0x3'));var moment=require('moment');var BPromise=require(_0x061d('0x4'));var Mustache=require(_0x061d('0x5'));var util=require('util');var path=require(_0x061d('0x6'));var sox=require(_0x061d('0x7'));var csv=require(_0x061d('0x8'));var ejs=require(_0x061d('0x9'));var fs=require('fs');var _=require(_0x061d('0xa'));var squel=require(_0x061d('0xb'));var crypto=require(_0x061d('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x061d('0xd'));var Papa=require('papaparse');var Redis=require(_0x061d('0xe'));var authService=require(_0x061d('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0x061d('0x10'));var hardwareService=require(_0x061d('0x11'));var logger=require(_0x061d('0x12'))(_0x061d('0x13'));var utils=require(_0x061d('0x14'));var config=require(_0x061d('0x15'));var licenseUtil=require(_0x061d('0x16'));var db=require('../../mysqldb')['db'];config[_0x061d('0x17')]=_[_0x061d('0x18')](config[_0x061d('0x17')],{'host':_0x061d('0x19'),'port':0x18eb});var socket=require(_0x061d('0x1a'))(new Redis(config[_0x061d('0x17')]));require(_0x061d('0x1b'))[_0x061d('0x1c')](socket);function respondWithStatusCode(_0x46fd62,_0x346aa5){_0x346aa5=_0x346aa5||0xcc;return function(_0x47ea32){if(_0x47ea32){return _0x46fd62[_0x061d('0x1d')](_0x346aa5);}return _0x46fd62[_0x061d('0x1e')](_0x346aa5)[_0x061d('0x1f')]();};}function respondWithResult(_0x4f926b,_0x28a1db){_0x28a1db=_0x28a1db||0xc8;return function(_0x4fda9e){if(_0x4fda9e){return _0x4f926b['status'](_0x28a1db)[_0x061d('0x20')](_0x4fda9e);}};}function respondWithFilteredResult(_0x25f253,_0x5b4a8a){return function(_0x3ef34b){if(_0x3ef34b){var _0x5d2472=_0x3ef34b['count'],_0x135c0a=_0x5b4a8a[_0x061d('0x21')],_0xfa15ea=_0x5b4a8a[_0x061d('0x21')]+_0x5b4a8a[_0x061d('0x22')],_0x3ae47b;if(_0xfa15ea>=_0x5d2472){_0xfa15ea=_0x5d2472;_0x3ae47b=0xc8;}else{_0x3ae47b=0xce;}_0x25f253[_0x061d('0x1e')](_0x3ae47b);return _0x25f253['set'](_0x061d('0x23'),_0x135c0a+'-'+_0xfa15ea+'/'+_0x5d2472)[_0x061d('0x20')](_0x3ef34b);}return null;};}function patchUpdates(_0x5be53b){return function(_0x464ef8){try{jsonpatch[_0x061d('0x24')](_0x464ef8,_0x5be53b,!![]);}catch(_0x4b1380){return BPromise[_0x061d('0x25')](_0x4b1380);}return _0x464ef8[_0x061d('0x26')]();};}function saveUpdates(_0x45e2eb,_0x27b2ed){return function(_0x20da98){if(_0x20da98){return _0x20da98['update'](_0x45e2eb)[_0x061d('0x27')](function(_0x3cd49a){return _0x3cd49a;});}return null;};}function removeEntity(_0x5512f9,_0x40ba43){return function(_0x3d5148){if(_0x3d5148){return _0x3d5148['destroy']()['then'](function(){var _0x300b39=_0x3d5148[_0x061d('0x28')]({'plain':!![]});var _0x1f5df7=_0x061d('0x29');return db[_0x061d('0x2a')][_0x061d('0x2b')]({'where':{'type':_0x1f5df7,'resourceId':_0x300b39['id']}})['then'](function(){return _0x3d5148;});})['then'](function(){_0x5512f9[_0x061d('0x1e')](0xcc)[_0x061d('0x1f')]();});}};}function handleEntityNotFound(_0x5be49a,_0x159c9d){return function(_0x4bcb93){if(!_0x4bcb93){_0x5be49a[_0x061d('0x1d')](0x194);}return _0x4bcb93;};}function handleError(_0x1d3d76,_0x2179d5){_0x2179d5=_0x2179d5||0x1f4;return function(_0x366188){logger[_0x061d('0x2c')](_0x366188[_0x061d('0x2d')]);if(_0x366188[_0x061d('0x2e')]){delete _0x366188[_0x061d('0x2e')];}_0x1d3d76[_0x061d('0x1e')](_0x2179d5)[_0x061d('0x2f')](_0x366188);};}exports[_0x061d('0x30')]=function(_0xbf9d7b,_0x4c17ca){var _0x17fd4a={},_0x2c754b={},_0x1b10aa={'count':0x0,'rows':[]};var _0xe99cba=_['map'](db[_0x061d('0x31')]['rawAttributes'],function(_0x3c7564){return{'name':_0x3c7564['fieldName'],'type':_0x3c7564[_0x061d('0x32')][_0x061d('0x33')]};});_0x2c754b['model']=_[_0x061d('0x34')](_0xe99cba,'name');_0x2c754b[_0x061d('0x35')]=_[_0x061d('0x36')](_0xbf9d7b[_0x061d('0x35')]);_0x2c754b[_0x061d('0x37')]=_[_0x061d('0x38')](_0x2c754b['model'],_0x2c754b[_0x061d('0x35')]);_0x17fd4a[_0x061d('0x39')]=_[_0x061d('0x38')](_0x2c754b[_0x061d('0x3a')],qs[_0x061d('0x3b')](_0xbf9d7b[_0x061d('0x35')][_0x061d('0x3b')]));_0x17fd4a['attributes']=_0x17fd4a[_0x061d('0x39')][_0x061d('0x3c')]?_0x17fd4a['attributes']:_0x2c754b[_0x061d('0x3a')];if(!_0xbf9d7b['query'][_0x061d('0x3d')](_0x061d('0x3e'))){_0x17fd4a[_0x061d('0x22')]=qs['limit'](_0xbf9d7b[_0x061d('0x35')][_0x061d('0x22')]);_0x17fd4a[_0x061d('0x21')]=qs[_0x061d('0x21')](_0xbf9d7b['query'][_0x061d('0x21')]);}_0x17fd4a[_0x061d('0x3f')]=qs[_0x061d('0x40')](_0xbf9d7b[_0x061d('0x35')][_0x061d('0x40')]);_0x17fd4a[_0x061d('0x41')]=qs[_0x061d('0x37')](_[_0x061d('0x42')](_0xbf9d7b[_0x061d('0x35')],_0x2c754b['filters']),_0xe99cba);if(_0xbf9d7b[_0x061d('0x35')]['filter']){_0x17fd4a[_0x061d('0x41')]=_['merge'](_0x17fd4a[_0x061d('0x41')],{'$or':_[_0x061d('0x34')](_0xe99cba,function(_0x5be67c){if(_0x5be67c['type']!=='VIRTUAL'){var _0xe76d83={};_0xe76d83[_0x5be67c[_0x061d('0x2e')]]={'$like':'%'+_0xbf9d7b['query'][_0x061d('0x43')]+'%'};return _0xe76d83;}})});}_0x17fd4a=_[_0x061d('0x44')]({},_0x17fd4a,_0xbf9d7b[_0x061d('0x45')]);var _0x6369fe={'where':_0x17fd4a[_0x061d('0x41')]};return db[_0x061d('0x31')][_0x061d('0x46')](_0x6369fe)[_0x061d('0x27')](function(_0xb09a){_0x1b10aa['count']=_0xb09a;if(_0xbf9d7b[_0x061d('0x35')]['includeAll']){_0x17fd4a[_0x061d('0x47')]=[{'all':!![]}];}return db[_0x061d('0x31')][_0x061d('0x48')](_0x17fd4a);})['then'](function(_0x433637){_0x1b10aa[_0x061d('0x49')]=_0x433637;return _0x1b10aa;})[_0x061d('0x27')](respondWithFilteredResult(_0x4c17ca,_0x17fd4a))['catch'](handleError(_0x4c17ca,null));};exports[_0x061d('0x4a')]=function(_0x1a6eae,_0x37d632){var _0x715edc={'raw':!![],'where':{'id':_0x1a6eae[_0x061d('0x4b')]['id']}},_0x1a27d8={};_0x1a27d8[_0x061d('0x3a')]=_[_0x061d('0x36')](db[_0x061d('0x31')][_0x061d('0x4c')]);_0x1a27d8[_0x061d('0x35')]=_[_0x061d('0x36')](_0x1a6eae[_0x061d('0x35')]);_0x1a27d8['filters']=_['intersection'](_0x1a27d8[_0x061d('0x3a')],_0x1a27d8['query']);_0x715edc[_0x061d('0x39')]=_[_0x061d('0x38')](_0x1a27d8[_0x061d('0x3a')],qs[_0x061d('0x3b')](_0x1a6eae[_0x061d('0x35')][_0x061d('0x3b')]));_0x715edc[_0x061d('0x39')]=_0x715edc[_0x061d('0x39')][_0x061d('0x3c')]?_0x715edc['attributes']:_0x1a27d8['model'];if(_0x1a6eae['query'][_0x061d('0x4d')]){_0x715edc[_0x061d('0x47')]=[{'all':!![]}];}_0x715edc=_[_0x061d('0x44')]({},_0x715edc,_0x1a6eae[_0x061d('0x45')]);return db[_0x061d('0x31')][_0x061d('0x4e')](_0x715edc)[_0x061d('0x27')](handleEntityNotFound(_0x37d632,null))[_0x061d('0x27')](respondWithResult(_0x37d632,null))['catch'](handleError(_0x37d632,null));};exports[_0x061d('0x4f')]=function(_0x52255c,_0x99924e){return db[_0x061d('0x31')][_0x061d('0x4f')](_0x52255c[_0x061d('0x50')],{})[_0x061d('0x27')](function(_0x3e8551){var _0x2c0d96=_0x52255c[_0x061d('0x51')][_0x061d('0x28')]({'plain':!![]});if(!_0x2c0d96)throw new Error(_0x061d('0x52'));if(_0x2c0d96['role']==='user'){var _0x447428=_0x3e8551[_0x061d('0x28')]({'plain':!![]});var _0x195610='MailQueues';return db['UserProfileSection'][_0x061d('0x4e')]({'where':{'name':_0x195610,'userProfileId':_0x2c0d96[_0x061d('0x53')]},'raw':!![]})[_0x061d('0x27')](function(_0x3fcdca){if(_0x3fcdca&&_0x3fcdca['autoAssociation']===0x0){return db['UserProfileResource'][_0x061d('0x4f')]({'name':_0x447428[_0x061d('0x2e')],'resourceId':_0x447428['id'],'type':_0x3fcdca[_0x061d('0x2e')],'sectionId':_0x3fcdca['id']},{})[_0x061d('0x27')](function(){return _0x3e8551;});}else{return _0x3e8551;}})[_0x061d('0x54')](function(_0x5d2f11){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5d2f11);throw _0x5d2f11;});}return _0x3e8551;})['then'](respondWithResult(_0x99924e,0xc9))[_0x061d('0x54')](handleError(_0x99924e,null));};exports[_0x061d('0x55')]=function(_0x2f86de,_0x17e213){if(_0x2f86de[_0x061d('0x50')]['id']){delete _0x2f86de[_0x061d('0x50')]['id'];}return db[_0x061d('0x31')]['find']({'where':{'id':_0x2f86de[_0x061d('0x4b')]['id']}})[_0x061d('0x27')](handleEntityNotFound(_0x17e213,null))[_0x061d('0x27')](saveUpdates(_0x2f86de[_0x061d('0x50')],null))[_0x061d('0x27')](respondWithResult(_0x17e213,null))[_0x061d('0x54')](handleError(_0x17e213,null));};exports['destroy']=function(_0x2b1456,_0x1efbc3){return db[_0x061d('0x31')][_0x061d('0x4e')]({'where':{'id':_0x2b1456['params']['id']}})[_0x061d('0x27')](handleEntityNotFound(_0x1efbc3,null))['then'](removeEntity(_0x1efbc3,null))[_0x061d('0x54')](handleError(_0x1efbc3,null));};exports[_0x061d('0x56')]=function(_0x23b871,_0x484e2c){return db[_0x061d('0x31')]['describe']()[_0x061d('0x27')](respondWithResult(_0x484e2c,null))[_0x061d('0x54')](handleError(_0x484e2c,null));};exports[_0x061d('0x57')]=function(_0x34253f,_0x2665b8,_0x41a215){var _0x35f2f5={'raw':!![],'where':{}},_0x279723={},_0x4a18f1;return db['MailQueue'][_0x061d('0x58')]({'where':{'id':_0x34253f[_0x061d('0x4b')]['id']}})[_0x061d('0x27')](handleEntityNotFound(_0x2665b8,null))[_0x061d('0x27')](function(_0x3126c6){if(_0x3126c6){_0x4a18f1=_0x3126c6[_0x061d('0x28')]({'plain':!![]});_0x279723['model']=_[_0x061d('0x36')](db[_0x061d('0x59')]['rawAttributes']);_0x279723[_0x061d('0x35')]=_[_0x061d('0x36')](_0x34253f['query']);_0x279723[_0x061d('0x37')]=_[_0x061d('0x38')](_0x279723[_0x061d('0x3a')],_0x279723[_0x061d('0x35')]);_0x35f2f5['attributes']=_[_0x061d('0x38')](_0x279723[_0x061d('0x3a')],qs[_0x061d('0x3b')](_0x34253f['query']['fields']));_0x35f2f5[_0x061d('0x39')]=_0x35f2f5[_0x061d('0x39')][_0x061d('0x3c')]?_0x35f2f5[_0x061d('0x39')]:_0x279723[_0x061d('0x3a')];if(!_0x34253f[_0x061d('0x35')][_0x061d('0x3d')](_0x061d('0x3e'))){_0x35f2f5[_0x061d('0x22')]=qs[_0x061d('0x22')](_0x34253f[_0x061d('0x35')]['limit']);_0x35f2f5['offset']=qs['offset'](_0x34253f['query'][_0x061d('0x21')]);}_0x35f2f5[_0x061d('0x3f')]=qs['sort'](_0x34253f[_0x061d('0x35')][_0x061d('0x40')]);_0x35f2f5['where']=qs[_0x061d('0x37')](_[_0x061d('0x42')](_0x34253f[_0x061d('0x35')],_0x279723[_0x061d('0x37')]));_0x35f2f5[_0x061d('0x41')]['MailQueueId']=_0x3126c6['id'];if(_0x34253f[_0x061d('0x35')][_0x061d('0x43')]){_0x35f2f5['where']=_[_0x061d('0x44')](_0x35f2f5['where'],{'$or':_['map'](_0x35f2f5[_0x061d('0x39')],function(_0x4ae03d){var _0x28305e={};_0x28305e[_0x4ae03d]={'$like':'%'+_0x34253f[_0x061d('0x35')][_0x061d('0x43')]+'%'};return _0x28305e;})});}_0x35f2f5=_[_0x061d('0x44')]({},_0x35f2f5,_0x34253f[_0x061d('0x45')]);return db[_0x061d('0x59')][_0x061d('0x48')](_0x35f2f5);}})['then'](function(_0x196732){if(_0x196732){return db[_0x061d('0x5a')]['findAndCountAll']({'where':{'id':_[_0x061d('0x34')](_0x196732,'UserId'),'role':'agent'},'attributes':['id',_0x061d('0x2e'),'mailPause','updatedAt',_0x061d('0x5b')]});}})['then'](function(_0x5f2270){if(_0x5f2270){return{'count':_0x5f2270[_0x061d('0x46')],'rows':_[_0x061d('0x34')](_0x5f2270['rows'],function(_0x31a4e8){return{'membername':_0x31a4e8[_0x061d('0x2e')],'UserId':_0x31a4e8['id'],'queue_name':_0x4a18f1['name'],'MailQueueId':_0x4a18f1['id'],'interface':util[_0x061d('0x5c')]('%s/%s',_0x061d('0x5d'),_0x31a4e8['name']),'penalty':0x0,'paused':_0x31a4e8['mailPause'],'createdAt':_0x31a4e8[_0x061d('0x5b')],'updatedAt':_0x31a4e8[_0x061d('0x5e')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x061d('0x27')](respondWithFilteredResult(_0x2665b8,_0x35f2f5))[_0x061d('0x54')](handleError(_0x2665b8,null));};exports[_0x061d('0x5f')]=function(_0x42d0e1,_0x143c1b,_0x1cf77e){var _0x2fb80a={};var _0x475400={};var _0x20632f;var _0x3a9637;return db[_0x061d('0x31')][_0x061d('0x58')]({'where':{'id':_0x42d0e1[_0x061d('0x4b')]['id']}})[_0x061d('0x27')](handleEntityNotFound(_0x143c1b,null))[_0x061d('0x27')](function(_0x1d8bf7){if(_0x1d8bf7){_0x20632f=_0x1d8bf7;_0x475400['model']=_[_0x061d('0x36')](db[_0x061d('0x60')][_0x061d('0x4c')]);_0x475400[_0x061d('0x35')]=_[_0x061d('0x36')](_0x42d0e1['query']);_0x475400[_0x061d('0x37')]=_['intersection'](_0x475400['model'],_0x475400['query']);_0x2fb80a[_0x061d('0x39')]=_['intersection'](_0x475400[_0x061d('0x3a')],qs[_0x061d('0x3b')](_0x42d0e1[_0x061d('0x35')][_0x061d('0x3b')]));_0x2fb80a[_0x061d('0x39')]=_0x2fb80a[_0x061d('0x39')]['length']?_0x2fb80a[_0x061d('0x39')]:_0x475400[_0x061d('0x3a')];_0x2fb80a[_0x061d('0x3f')]=qs[_0x061d('0x40')](_0x42d0e1[_0x061d('0x35')]['sort']);_0x2fb80a[_0x061d('0x41')]=qs[_0x061d('0x37')](_[_0x061d('0x42')](_0x42d0e1[_0x061d('0x35')],_0x475400[_0x061d('0x37')]));if(_0x42d0e1[_0x061d('0x35')]['filter']){_0x2fb80a['where']=_[_0x061d('0x44')](_0x2fb80a['where'],{'$or':_[_0x061d('0x34')](_0x2fb80a[_0x061d('0x39')],function(_0x317585){var _0x7ceeec={};_0x7ceeec[_0x317585]={'$like':'%'+_0x42d0e1[_0x061d('0x35')][_0x061d('0x43')]+'%'};return _0x7ceeec;})});}_0x2fb80a=_['merge']({},_0x2fb80a,_0x42d0e1[_0x061d('0x45')]);return _0x20632f['getTeams'](_0x2fb80a);}})[_0x061d('0x27')](function(_0x2a3859){if(_0x2a3859){_0x3a9637=_0x2a3859[_0x061d('0x3c')];if(!_0x42d0e1[_0x061d('0x35')][_0x061d('0x3d')](_0x061d('0x3e'))){_0x2fb80a[_0x061d('0x22')]=qs[_0x061d('0x22')](_0x42d0e1['query']['limit']);_0x2fb80a[_0x061d('0x21')]=qs['offset'](_0x42d0e1[_0x061d('0x35')][_0x061d('0x21')]);}return _0x20632f[_0x061d('0x5f')](_0x2fb80a);}})['then'](function(_0x48eb61){if(_0x48eb61){return _0x48eb61?{'count':_0x3a9637,'rows':_0x48eb61}:null;}})[_0x061d('0x27')](respondWithResult(_0x143c1b,null))['catch'](handleError(_0x143c1b,null));};exports[_0x061d('0x61')]=function(_0x400e5d,_0x1221dc,_0xc88fb6){var _0x26e499=_0x400e5d[_0x061d('0x50')]['ids'];return db[_0x061d('0x60')]['findAll']({'where':{'id':_0x26e499},'attributes':['id'],'include':[{'model':db[_0x061d('0x5a')],'as':_0x061d('0x62'),'attributes':['id',_0x061d('0x2e'),_0x061d('0x63'),'voicePause',_0x061d('0x64')],'raw':!![]}]})['then'](function(_0x4f96da){if(_0x4f96da){var _0x5ae0f8=_[_0x061d('0x65')](_0x4f96da,function(_0x48bc54){var _0x36d150=_0x48bc54[_0x061d('0x28')]({'plain':!![]});return _0x36d150[_0x061d('0x62')];});return db[_0x061d('0x31')][_0x061d('0x4e')]({'where':{'id':_0x400e5d[_0x061d('0x4b')]['id']}})[_0x061d('0x27')](function(_0x29914a){return db[_0x061d('0x66')][_0x061d('0x67')](function(_0x2aa08e){return _0x29914a[_0x061d('0x61')](_0x26e499,{'transaction':_0x2aa08e})[_0x061d('0x27')](function(){return BPromise[_0x061d('0x68')](_0x5ae0f8,function(_0x2b38b3){return db[_0x061d('0x59')][_0x061d('0x69')]({'where':{'UserId':_0x2b38b3['id'],'MailQueueId':_0x400e5d['params']['id']},'transaction':_0x2aa08e});});})['then'](function(){_0x5ae0f8['forEach'](function(_0x586329){socket['emit'](_0x061d('0x6a'),{'UserId':_0x586329['id'],'MailQueueId':_0x29914a['id']});});});});});}})[_0x061d('0x27')](respondWithStatusCode(_0x1221dc,null))[_0x061d('0x54')](handleError(_0x1221dc,null));};exports[_0x061d('0x6b')]=function(_0x122818,_0x1e7be4,_0x208b59){return db[_0x061d('0x60')][_0x061d('0x48')]({'where':{'id':_0x122818[_0x061d('0x35')][_0x061d('0x6c')]},'attributes':['id'],'include':[{'model':db[_0x061d('0x5a')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x061d('0x27')](handleEntityNotFound(_0x1e7be4,null))[_0x061d('0x27')](function(_0x59d71a){var _0x1e45e0=_[_0x061d('0x34')](_0x59d71a,'id');var _0x7dc176=[];var _0x5db046=[];var _0x17ce78=squel[_0x061d('0x6d')]();_0x17ce78['field'](_0x061d('0x6e'))[_0x061d('0x6f')](_0x061d('0x70'),'tq')[_0x061d('0x71')](_0x061d('0x72'),'ut',_0x061d('0x73'))[_0x061d('0x41')](_0x061d('0x74'),_0x122818['params']['id']);for(var _0x469c8e=0x0;_0x469c8e<_0x59d71a[_0x061d('0x3c')];_0x469c8e+=0x1){let _0x368f55=_0x59d71a[_0x469c8e];for(var _0x4dbf57=0x0;_0x4dbf57<_0x368f55[_0x061d('0x62')][_0x061d('0x3c')];_0x4dbf57+=0x1){let _0x1ed2e9=_0x368f55[_0x061d('0x62')][_0x4dbf57];var _0x3151e8=_0x17ce78['clone']();_0x3151e8[_0x061d('0x41')](_0x061d('0x75'),_0x1ed2e9['id']);_0x5db046[_0x061d('0x76')](db[_0x061d('0x66')][_0x061d('0x35')](_0x3151e8['toString'](),{'type':db[_0x061d('0x66')][_0x061d('0x77')][_0x061d('0x78')]})[_0x061d('0x27')](function(_0x142520){if(_0x142520[_0x061d('0x3c')]===0x1){return _0x1ed2e9['id'];}else{var _0x504c02=_[_0x061d('0x79')](_[_0x061d('0x34')](_0x142520,_0x061d('0x7a')),function(_0x35481e){return _['includes'](_0x1e45e0,_0x35481e);});if(_0x504c02){return _0x1ed2e9['id'];}}}));}}return BPromise[_0x061d('0x7b')](_0x5db046)[_0x061d('0x27')](function(_0x38de1f){_0x7dc176=_(_0x7dc176)['union'](_0x38de1f)[_0x061d('0x7c')]()[_0x061d('0x7d')]();return db[_0x061d('0x31')]['find']({'where':{'id':_0x122818[_0x061d('0x4b')]['id']}})[_0x061d('0x27')](function(_0x2e7844){return db[_0x061d('0x66')]['transaction'](function(_0x3ec9ce){return _0x2e7844[_0x061d('0x6b')](_0x122818[_0x061d('0x35')][_0x061d('0x6c')],{'transaction':_0x3ec9ce})[_0x061d('0x27')](function(){if(!_['isEmpty'](_0x7dc176)){return _0x2e7844[_0x061d('0x7e')](_0x7dc176,{'transaction':_0x3ec9ce});}})['then'](function(){_0x7dc176[_0x061d('0x7f')](function(_0x4fbd60){socket[_0x061d('0x80')](_0x061d('0x81'),{'UserId':_0x4fbd60,'MailQueueId':_0x2e7844['id']});});});});});});})[_0x061d('0x27')](respondWithStatusCode(_0x1e7be4,null))[_0x061d('0x54')](handleError(_0x1e7be4,null));};exports[_0x061d('0x82')]=function(_0x2a187d,_0x46d832,_0x21b1f4){return db[_0x061d('0x31')][_0x061d('0x4e')]({'where':{'id':_0x2a187d['params']['id']}})['then'](handleEntityNotFound(_0x46d832,null))['then'](function(_0x3b5d07){if(_0x3b5d07){return _0x3b5d07['addAgents'](_0x2a187d[_0x061d('0x50')]['ids'],_[_0x061d('0x83')](_0x2a187d[_0x061d('0x50')],[_0x061d('0x6c'),'id'])||{})['spread'](function(_0x3daf48){for(var _0x3919c0=0x0;_0x3919c0<_0x2a187d['body'][_0x061d('0x6c')]['length'];_0x3919c0+=0x1){socket[_0x061d('0x80')](_0x061d('0x6a'),{'UserId':_0x2a187d[_0x061d('0x50')]['ids'][_0x3919c0],'MailQueueId':_0x2a187d['params']['id']});}return _0x3daf48;});}})[_0x061d('0x27')](respondWithResult(_0x46d832,null))[_0x061d('0x54')](handleError(_0x46d832,null));};exports['removeAgents']=function(_0x1f4fe9,_0x3f7888,_0x526a01){return db[_0x061d('0x31')]['find']({'where':{'id':_0x1f4fe9[_0x061d('0x4b')]['id']}})[_0x061d('0x27')](handleEntityNotFound(_0x3f7888,null))[_0x061d('0x27')](function(_0x42d12c){if(_0x42d12c){return _0x42d12c[_0x061d('0x7e')](_0x1f4fe9[_0x061d('0x35')][_0x061d('0x6c')])[_0x061d('0x27')](function(){if(_[_0x061d('0x84')](_0x1f4fe9[_0x061d('0x35')]['ids'])){for(var _0x449bc4=0x0;_0x449bc4<_0x1f4fe9['query'][_0x061d('0x6c')][_0x061d('0x3c')];_0x449bc4+=0x1){socket[_0x061d('0x80')](_0x061d('0x81'),{'UserId':Number(_0x1f4fe9[_0x061d('0x35')][_0x061d('0x6c')][_0x449bc4]),'MailQueueId':Number(_0x1f4fe9[_0x061d('0x4b')]['id'])});}}else{socket[_0x061d('0x80')]('userMailQueue:remove',{'UserId':Number(_0x1f4fe9[_0x061d('0x35')][_0x061d('0x6c')]),'MailQueueId':Number(_0x1f4fe9[_0x061d('0x4b')]['id'])});}});}})[_0x061d('0x27')](respondWithStatusCode(_0x3f7888,null))[_0x061d('0x54')](handleError(_0x3f7888,null));};exports['getAgents']=function(_0x1ee2d0,_0x44b1d2,_0x6056a6){var _0x5936e9={};var _0x5e012b={};var _0x46569e;var _0x838010;return db[_0x061d('0x31')]['findOne']({'where':{'id':_0x1ee2d0[_0x061d('0x4b')]['id']}})['then'](handleEntityNotFound(_0x44b1d2,null))[_0x061d('0x27')](function(_0x1dbe70){if(_0x1dbe70){_0x46569e=_0x1dbe70;_0x5e012b['model']=_[_0x061d('0x36')](db[_0x061d('0x5a')]['rawAttributes']);_0x5e012b[_0x061d('0x35')]=_['keys'](_0x1ee2d0[_0x061d('0x35')]);_0x5e012b[_0x061d('0x37')]=_[_0x061d('0x38')](_0x5e012b[_0x061d('0x3a')],_0x5e012b['query']);_0x5936e9[_0x061d('0x39')]=_['intersection'](_0x5e012b[_0x061d('0x3a')],qs['fields'](_0x1ee2d0[_0x061d('0x35')][_0x061d('0x3b')]));_0x5936e9[_0x061d('0x39')]=_0x5936e9[_0x061d('0x39')][_0x061d('0x3c')]?_0x5936e9['attributes']:_0x5e012b[_0x061d('0x3a')];_0x5936e9['order']=qs[_0x061d('0x40')](_0x1ee2d0[_0x061d('0x35')][_0x061d('0x40')]);_0x5936e9[_0x061d('0x41')]=qs[_0x061d('0x37')](_[_0x061d('0x42')](_0x1ee2d0[_0x061d('0x35')],_0x5e012b[_0x061d('0x37')]));if(_0x1ee2d0[_0x061d('0x35')][_0x061d('0x43')]){_0x5936e9[_0x061d('0x41')]=_[_0x061d('0x44')](_0x5936e9['where'],{'$or':_[_0x061d('0x34')](_0x5936e9['attributes'],function(_0x501645){var _0x4be971={};_0x4be971[_0x501645]={'$like':'%'+_0x1ee2d0['query'][_0x061d('0x43')]+'%'};return _0x4be971;})});}_0x5936e9=_[_0x061d('0x44')]({},_0x5936e9,_0x1ee2d0[_0x061d('0x45')]);return _0x46569e[_0x061d('0x85')](_0x5936e9);}})[_0x061d('0x27')](function(_0x56c463){if(_0x56c463){_0x838010=_0x56c463['length'];if(!_0x1ee2d0['query'][_0x061d('0x3d')](_0x061d('0x3e'))){_0x5936e9[_0x061d('0x22')]=qs[_0x061d('0x22')](_0x1ee2d0[_0x061d('0x35')]['limit']);_0x5936e9[_0x061d('0x21')]=qs[_0x061d('0x21')](_0x1ee2d0[_0x061d('0x35')][_0x061d('0x21')]);}return _0x46569e[_0x061d('0x85')](_0x5936e9);}})[_0x061d('0x27')](function(_0x38a13d){if(_0x38a13d){return _0x38a13d?{'count':_0x838010,'rows':_0x38a13d}:null;}})['then'](respondWithResult(_0x44b1d2,null))['catch'](handleError(_0x44b1d2,null));};