d54ae22942127470962a75ef98022e682c111b5d
[motion2.git] / server / api / faxQueue / faxQueue.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 _0x74ac=['query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','show','params','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','pick','findAll','User','findAndCountAll','agent','faxPause','updatedAt','createdAt','rows','format','%s/%s','SIP','getTeams','Team','addTeams','ids','Agents','voicePause','interface','flatMap','sequelize','transaction','UserFaxQueue','forEach','emit','removeTeams','select','field','tq.TeamId','from','team_has_fax_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','FaxQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','TeamId','all','union','compact','isEmpty','userFaxQueue:remove','addAgents','omit','spread','userFaxQueue:save','removeAgents','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./faxQueue.socket','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update','destroy','then','get','FaxQueues','UserProfileResource','sendStatus','name','send','index','map','FaxQueue','rawAttributes','type','key'];(function(_0x2c7dc6,_0x3c4ce0){var _0x10002b=function(_0x26f390){while(--_0x26f390){_0x2c7dc6['push'](_0x2c7dc6['shift']());}};_0x10002b(++_0x3c4ce0);}(_0x74ac,0x17d));var _0xc74a=function(_0x101196,_0x5e23c3){_0x101196=_0x101196-0x0;var _0x3cefd5=_0x74ac[_0x101196];return _0x3cefd5;};'use strict';var emlformat=require(_0xc74a('0x0'));var rimraf=require(_0xc74a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc74a('0x2'));var rp=require(_0xc74a('0x3'));var moment=require(_0xc74a('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xc74a('0x5'));var util=require(_0xc74a('0x6'));var path=require(_0xc74a('0x7'));var sox=require(_0xc74a('0x8'));var csv=require(_0xc74a('0x9'));var ejs=require(_0xc74a('0xa'));var fs=require('fs');var fs_extra=require(_0xc74a('0xb'));var _=require(_0xc74a('0xc'));var squel=require(_0xc74a('0xd'));var crypto=require('crypto');var jsforce=require(_0xc74a('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xc74a('0x9'));var querystring=require(_0xc74a('0xf'));var Papa=require('papaparse');var Redis=require(_0xc74a('0x10'));var authService=require(_0xc74a('0x11'));var qs=require(_0xc74a('0x12'));var as=require(_0xc74a('0x13'));var hardwareService=require(_0xc74a('0x14'));var logger=require('../../config/logger')(_0xc74a('0x15'));var utils=require(_0xc74a('0x16'));var config=require(_0xc74a('0x17'));var licenseUtil=require(_0xc74a('0x18'));var db=require(_0xc74a('0x19'))['db'];config[_0xc74a('0x1a')]=_[_0xc74a('0x1b')](config['redis'],{'host':_0xc74a('0x1c'),'port':0x18eb});var socket=require(_0xc74a('0x1d'))(new Redis(config[_0xc74a('0x1a')]));require(_0xc74a('0x1e'))['register'](socket);function respondWithStatusCode(_0x2788cb,_0x543601){_0x543601=_0x543601||0xcc;return function(_0x47d919){if(_0x47d919){return _0x2788cb['sendStatus'](_0x543601);}return _0x2788cb[_0xc74a('0x1f')](_0x543601)[_0xc74a('0x20')]();};}function respondWithResult(_0x4c778f,_0x29618c){_0x29618c=_0x29618c||0xc8;return function(_0x247752){if(_0x247752){return _0x4c778f[_0xc74a('0x1f')](_0x29618c)[_0xc74a('0x21')](_0x247752);}};}function respondWithFilteredResult(_0x4dafa2,_0x2f83e4){return function(_0x36f0d4){if(_0x36f0d4){var _0x4da169=typeof _0x2f83e4[_0xc74a('0x22')]===_0xc74a('0x23')&&typeof _0x2f83e4[_0xc74a('0x24')]===_0xc74a('0x23');var _0x595c2d=_0x36f0d4['count'];var _0x2b4af6=_0x4da169?0x0:_0x2f83e4[_0xc74a('0x22')];var _0x16937f=_0x4da169?_0x36f0d4[_0xc74a('0x25')]:_0x2f83e4[_0xc74a('0x22')]+_0x2f83e4[_0xc74a('0x24')];var _0x1c6a0e;if(_0x16937f>=_0x595c2d){_0x16937f=_0x595c2d;_0x1c6a0e=0xc8;}else{_0x1c6a0e=0xce;}_0x4dafa2[_0xc74a('0x1f')](_0x1c6a0e);return _0x4dafa2[_0xc74a('0x26')](_0xc74a('0x27'),_0x2b4af6+'-'+_0x16937f+'/'+_0x595c2d)[_0xc74a('0x21')](_0x36f0d4);}return null;};}function patchUpdates(_0x184d1f){return function(_0x174a2b){try{jsonpatch[_0xc74a('0x28')](_0x174a2b,_0x184d1f,!![]);}catch(_0x1e129b){return BPromise[_0xc74a('0x29')](_0x1e129b);}return _0x174a2b['save']();};}function saveUpdates(_0x2023fc,_0x3a9d28){return function(_0xe9b5fe){if(_0xe9b5fe){return _0xe9b5fe[_0xc74a('0x2a')](_0x2023fc)['then'](function(_0x5218a5){return _0x5218a5;});}return null;};}function removeEntity(_0x437bdc,_0x2a05ea){return function(_0x17c846){if(_0x17c846){return _0x17c846[_0xc74a('0x2b')]()[_0xc74a('0x2c')](function(){var _0x12fdd0=_0x17c846[_0xc74a('0x2d')]({'plain':!![]});var _0x138af9=_0xc74a('0x2e');return db[_0xc74a('0x2f')][_0xc74a('0x2b')]({'where':{'type':_0x138af9,'resourceId':_0x12fdd0['id']}})[_0xc74a('0x2c')](function(){return _0x17c846;});})[_0xc74a('0x2c')](function(){_0x437bdc[_0xc74a('0x1f')](0xcc)[_0xc74a('0x20')]();});}};}function handleEntityNotFound(_0x1da285,_0x298f9a){return function(_0x2400b7){if(!_0x2400b7){_0x1da285[_0xc74a('0x30')](0x194);}return _0x2400b7;};}function handleError(_0xb92789,_0x50249f){_0x50249f=_0x50249f||0x1f4;return function(_0x115761){logger['error'](_0x115761['stack']);if(_0x115761[_0xc74a('0x31')]){delete _0x115761[_0xc74a('0x31')];}_0xb92789['status'](_0x50249f)[_0xc74a('0x32')](_0x115761);};}exports[_0xc74a('0x33')]=function(_0x406082,_0x2098e9){var _0x151e76={},_0x322d9e={},_0x3f66ee={'count':0x0,'rows':[]};var _0x337b8b=_[_0xc74a('0x34')](db[_0xc74a('0x35')][_0xc74a('0x36')],function(_0x4660f3){return{'name':_0x4660f3['fieldName'],'type':_0x4660f3[_0xc74a('0x37')][_0xc74a('0x38')]};});_0x322d9e['model']=_[_0xc74a('0x34')](_0x337b8b,_0xc74a('0x31'));_0x322d9e[_0xc74a('0x39')]=_[_0xc74a('0x3a')](_0x406082['query']);_0x322d9e[_0xc74a('0x3b')]=_[_0xc74a('0x3c')](_0x322d9e[_0xc74a('0x3d')],_0x322d9e[_0xc74a('0x39')]);_0x151e76[_0xc74a('0x3e')]=_[_0xc74a('0x3c')](_0x322d9e[_0xc74a('0x3d')],qs[_0xc74a('0x3f')](_0x406082['query'][_0xc74a('0x3f')]));_0x151e76[_0xc74a('0x3e')]=_0x151e76[_0xc74a('0x3e')][_0xc74a('0x40')]?_0x151e76[_0xc74a('0x3e')]:_0x322d9e[_0xc74a('0x3d')];if(!_0x406082[_0xc74a('0x39')][_0xc74a('0x41')](_0xc74a('0x42'))){_0x151e76[_0xc74a('0x24')]=qs[_0xc74a('0x24')](_0x406082[_0xc74a('0x39')][_0xc74a('0x24')]);_0x151e76[_0xc74a('0x22')]=qs['offset'](_0x406082[_0xc74a('0x39')]['offset']);}_0x151e76[_0xc74a('0x43')]=qs[_0xc74a('0x44')](_0x406082[_0xc74a('0x39')]['sort']);_0x151e76[_0xc74a('0x45')]=qs[_0xc74a('0x3b')](_['pick'](_0x406082[_0xc74a('0x39')],_0x322d9e[_0xc74a('0x3b')]),_0x337b8b);if(_0x406082['query'][_0xc74a('0x46')]){_0x151e76[_0xc74a('0x45')]=_[_0xc74a('0x47')](_0x151e76['where'],{'$or':_[_0xc74a('0x34')](_0x337b8b,function(_0x4caecc){if(_0x4caecc[_0xc74a('0x37')]!==_0xc74a('0x48')){var _0x3618d8={};_0x3618d8[_0x4caecc[_0xc74a('0x31')]]={'$like':'%'+_0x406082['query'][_0xc74a('0x46')]+'%'};return _0x3618d8;}})});}_0x151e76=_[_0xc74a('0x47')]({},_0x151e76,_0x406082[_0xc74a('0x49')]);var _0x1e2c83={'where':_0x151e76[_0xc74a('0x45')]};return db['FaxQueue'][_0xc74a('0x25')](_0x1e2c83)[_0xc74a('0x2c')](function(_0x57ca37){_0x3f66ee[_0xc74a('0x25')]=_0x57ca37;if(_0x406082[_0xc74a('0x39')][_0xc74a('0x4a')]){_0x151e76[_0xc74a('0x4b')]=[{'all':!![]}];}return db[_0xc74a('0x35')]['findAll'](_0x151e76);})['then'](function(_0x802020){_0x3f66ee['rows']=_0x802020;return _0x3f66ee;})['then'](respondWithFilteredResult(_0x2098e9,_0x151e76))['catch'](handleError(_0x2098e9,null));};exports[_0xc74a('0x4c')]=function(_0x1fe9d2,_0x18b7a8){var _0x2ba17f={'raw':!![],'where':{'id':_0x1fe9d2[_0xc74a('0x4d')]['id']}},_0x2b1eb0={};_0x2b1eb0[_0xc74a('0x3d')]=_['keys'](db[_0xc74a('0x35')]['rawAttributes']);_0x2b1eb0[_0xc74a('0x39')]=_[_0xc74a('0x3a')](_0x1fe9d2[_0xc74a('0x39')]);_0x2b1eb0[_0xc74a('0x3b')]=_[_0xc74a('0x3c')](_0x2b1eb0[_0xc74a('0x3d')],_0x2b1eb0[_0xc74a('0x39')]);_0x2ba17f['attributes']=_[_0xc74a('0x3c')](_0x2b1eb0[_0xc74a('0x3d')],qs[_0xc74a('0x3f')](_0x1fe9d2['query']['fields']));_0x2ba17f['attributes']=_0x2ba17f[_0xc74a('0x3e')][_0xc74a('0x40')]?_0x2ba17f['attributes']:_0x2b1eb0[_0xc74a('0x3d')];if(_0x1fe9d2[_0xc74a('0x39')][_0xc74a('0x4a')]){_0x2ba17f[_0xc74a('0x4b')]=[{'all':!![]}];}_0x2ba17f=_[_0xc74a('0x47')]({},_0x2ba17f,_0x1fe9d2[_0xc74a('0x49')]);return db['FaxQueue'][_0xc74a('0x4e')](_0x2ba17f)[_0xc74a('0x2c')](handleEntityNotFound(_0x18b7a8,null))[_0xc74a('0x2c')](respondWithResult(_0x18b7a8,null))[_0xc74a('0x4f')](handleError(_0x18b7a8,null));};exports[_0xc74a('0x50')]=function(_0x186b17,_0x3dc1c8){return db[_0xc74a('0x35')][_0xc74a('0x50')](_0x186b17['body'],{})[_0xc74a('0x2c')](function(_0x3a5627){var _0x289add=_0x186b17[_0xc74a('0x51')]['get']({'plain':!![]});if(!_0x289add)throw new Error(_0xc74a('0x52'));if(_0x289add[_0xc74a('0x53')]==='user'){var _0x427b7a=_0x3a5627[_0xc74a('0x2d')]({'plain':!![]});var _0x573e63=_0xc74a('0x2e');return db[_0xc74a('0x54')][_0xc74a('0x4e')]({'where':{'name':_0x573e63,'userProfileId':_0x289add['userProfileId']},'raw':!![]})[_0xc74a('0x2c')](function(_0x2ff62e){if(_0x2ff62e&&_0x2ff62e[_0xc74a('0x55')]===0x0){return db['UserProfileResource']['create']({'name':_0x427b7a[_0xc74a('0x31')],'resourceId':_0x427b7a['id'],'type':_0x2ff62e['name'],'sectionId':_0x2ff62e['id']},{})[_0xc74a('0x2c')](function(){return _0x3a5627;});}else{return _0x3a5627;}})[_0xc74a('0x4f')](function(_0x1aa690){logger[_0xc74a('0x56')](_0xc74a('0x57'),_0x1aa690);throw _0x1aa690;});}return _0x3a5627;})[_0xc74a('0x2c')](respondWithResult(_0x3dc1c8,0xc9))[_0xc74a('0x4f')](handleError(_0x3dc1c8,null));};exports['update']=function(_0x26588a,_0x552c73){if(_0x26588a[_0xc74a('0x58')]['id']){delete _0x26588a[_0xc74a('0x58')]['id'];}return db[_0xc74a('0x35')][_0xc74a('0x4e')]({'where':{'id':_0x26588a['params']['id']}})[_0xc74a('0x2c')](handleEntityNotFound(_0x552c73,null))[_0xc74a('0x2c')](saveUpdates(_0x26588a[_0xc74a('0x58')],null))[_0xc74a('0x2c')](respondWithResult(_0x552c73,null))[_0xc74a('0x4f')](handleError(_0x552c73,null));};exports[_0xc74a('0x2b')]=function(_0x5396ab,_0x406612){return db['FaxQueue']['find']({'where':{'id':_0x5396ab[_0xc74a('0x4d')]['id']}})[_0xc74a('0x2c')](handleEntityNotFound(_0x406612,null))[_0xc74a('0x2c')](removeEntity(_0x406612,null))[_0xc74a('0x4f')](handleError(_0x406612,null));};exports[_0xc74a('0x59')]=function(_0x4d2ceb,_0x2b4869){return db['FaxQueue'][_0xc74a('0x59')]()[_0xc74a('0x2c')](respondWithResult(_0x2b4869,null))['catch'](handleError(_0x2b4869,null));};exports[_0xc74a('0x5a')]=function(_0xb93d63,_0xb04b43,_0x53785e){var _0x11c4fd={'raw':!![],'where':{}},_0x167e5a={},_0x53a4cc;return db[_0xc74a('0x35')][_0xc74a('0x5b')]({'where':{'id':_0xb93d63[_0xc74a('0x4d')]['id']}})['then'](handleEntityNotFound(_0xb04b43,null))[_0xc74a('0x2c')](function(_0x1552f5){if(_0x1552f5){_0x53a4cc=_0x1552f5[_0xc74a('0x2d')]({'plain':!![]});_0x167e5a[_0xc74a('0x3d')]=_[_0xc74a('0x3a')](db['UserFaxQueue'][_0xc74a('0x36')]);_0x167e5a[_0xc74a('0x39')]=_[_0xc74a('0x3a')](_0xb93d63[_0xc74a('0x39')]);_0x167e5a[_0xc74a('0x3b')]=_[_0xc74a('0x3c')](_0x167e5a[_0xc74a('0x3d')],_0x167e5a[_0xc74a('0x39')]);_0x11c4fd['attributes']=_[_0xc74a('0x3c')](_0x167e5a[_0xc74a('0x3d')],qs['fields'](_0xb93d63[_0xc74a('0x39')][_0xc74a('0x3f')]));_0x11c4fd[_0xc74a('0x3e')]=_0x11c4fd['attributes'][_0xc74a('0x40')]?_0x11c4fd[_0xc74a('0x3e')]:_0x167e5a[_0xc74a('0x3d')];if(!_0xb93d63[_0xc74a('0x39')][_0xc74a('0x41')](_0xc74a('0x42'))){_0x11c4fd['limit']=qs[_0xc74a('0x24')](_0xb93d63['query']['limit']);_0x11c4fd[_0xc74a('0x22')]=qs[_0xc74a('0x22')](_0xb93d63['query'][_0xc74a('0x22')]);}_0x11c4fd['order']=qs[_0xc74a('0x44')](_0xb93d63[_0xc74a('0x39')]['sort']);_0x11c4fd[_0xc74a('0x45')]=qs[_0xc74a('0x3b')](_[_0xc74a('0x5c')](_0xb93d63[_0xc74a('0x39')],_0x167e5a['filters']));_0x11c4fd[_0xc74a('0x45')]['FaxQueueId']=_0x1552f5['id'];if(_0xb93d63[_0xc74a('0x39')][_0xc74a('0x46')]){_0x11c4fd[_0xc74a('0x45')]=_[_0xc74a('0x47')](_0x11c4fd[_0xc74a('0x45')],{'$or':_[_0xc74a('0x34')](_0x11c4fd[_0xc74a('0x3e')],function(_0x1da860){var _0x59a22e={};_0x59a22e[_0x1da860]={'$like':'%'+_0xb93d63[_0xc74a('0x39')][_0xc74a('0x46')]+'%'};return _0x59a22e;})});}_0x11c4fd=_[_0xc74a('0x47')]({},_0x11c4fd,_0xb93d63[_0xc74a('0x49')]);return db['UserFaxQueue'][_0xc74a('0x5d')](_0x11c4fd);}})[_0xc74a('0x2c')](function(_0x37a602){if(_0x37a602){return db[_0xc74a('0x5e')][_0xc74a('0x5f')]({'where':{'id':_[_0xc74a('0x34')](_0x37a602,'UserId'),'role':_0xc74a('0x60')},'attributes':['id',_0xc74a('0x31'),_0xc74a('0x61'),_0xc74a('0x62'),_0xc74a('0x63')]});}})[_0xc74a('0x2c')](function(_0x4bfb03){if(_0x4bfb03){return{'count':_0x4bfb03[_0xc74a('0x25')],'rows':_[_0xc74a('0x34')](_0x4bfb03[_0xc74a('0x64')],function(_0xa52ddf){return{'membername':_0xa52ddf[_0xc74a('0x31')],'UserId':_0xa52ddf['id'],'queue_name':_0x53a4cc[_0xc74a('0x31')],'FaxQueueId':_0x53a4cc['id'],'interface':util[_0xc74a('0x65')](_0xc74a('0x66'),_0xc74a('0x67'),_0xa52ddf['name']),'penalty':0x0,'paused':_0xa52ddf[_0xc74a('0x61')],'createdAt':_0xa52ddf['createdAt'],'updatedAt':_0xa52ddf[_0xc74a('0x62')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xc74a('0x2c')](respondWithFilteredResult(_0xb04b43,_0x11c4fd))['catch'](handleError(_0xb04b43,null));};exports[_0xc74a('0x68')]=function(_0x4f73c6,_0x271eb2,_0x3008d5){var _0x295dda={};var _0x46cf2d={};var _0x548148;var _0x57a191;return db[_0xc74a('0x35')][_0xc74a('0x5b')]({'where':{'id':_0x4f73c6['params']['id']}})[_0xc74a('0x2c')](handleEntityNotFound(_0x271eb2,null))['then'](function(_0xf491f4){if(_0xf491f4){_0x548148=_0xf491f4;_0x46cf2d[_0xc74a('0x3d')]=_[_0xc74a('0x3a')](db[_0xc74a('0x69')][_0xc74a('0x36')]);_0x46cf2d['query']=_[_0xc74a('0x3a')](_0x4f73c6[_0xc74a('0x39')]);_0x46cf2d['filters']=_['intersection'](_0x46cf2d['model'],_0x46cf2d['query']);_0x295dda['attributes']=_[_0xc74a('0x3c')](_0x46cf2d[_0xc74a('0x3d')],qs[_0xc74a('0x3f')](_0x4f73c6[_0xc74a('0x39')][_0xc74a('0x3f')]));_0x295dda[_0xc74a('0x3e')]=_0x295dda[_0xc74a('0x3e')]['length']?_0x295dda[_0xc74a('0x3e')]:_0x46cf2d[_0xc74a('0x3d')];_0x295dda[_0xc74a('0x43')]=qs[_0xc74a('0x44')](_0x4f73c6['query'][_0xc74a('0x44')]);_0x295dda[_0xc74a('0x45')]=qs['filters'](_[_0xc74a('0x5c')](_0x4f73c6[_0xc74a('0x39')],_0x46cf2d['filters']));if(_0x4f73c6[_0xc74a('0x39')][_0xc74a('0x46')]){_0x295dda[_0xc74a('0x45')]=_['merge'](_0x295dda['where'],{'$or':_[_0xc74a('0x34')](_0x295dda['attributes'],function(_0x176f89){var _0x186cb2={};_0x186cb2[_0x176f89]={'$like':'%'+_0x4f73c6[_0xc74a('0x39')]['filter']+'%'};return _0x186cb2;})});}_0x295dda=_[_0xc74a('0x47')]({},_0x295dda,_0x4f73c6['options']);return _0x548148['getTeams'](_0x295dda);}})[_0xc74a('0x2c')](function(_0x237e32){if(_0x237e32){_0x57a191=_0x237e32[_0xc74a('0x40')];if(!_0x4f73c6[_0xc74a('0x39')][_0xc74a('0x41')](_0xc74a('0x42'))){_0x295dda[_0xc74a('0x24')]=qs[_0xc74a('0x24')](_0x4f73c6[_0xc74a('0x39')][_0xc74a('0x24')]);_0x295dda[_0xc74a('0x22')]=qs[_0xc74a('0x22')](_0x4f73c6[_0xc74a('0x39')][_0xc74a('0x22')]);}return _0x548148[_0xc74a('0x68')](_0x295dda);}})[_0xc74a('0x2c')](function(_0x555187){if(_0x555187){return _0x555187?{'count':_0x57a191,'rows':_0x555187}:null;}})[_0xc74a('0x2c')](respondWithResult(_0x271eb2,null))[_0xc74a('0x4f')](handleError(_0x271eb2,null));};exports[_0xc74a('0x6a')]=function(_0x1d32a3,_0x2303fb,_0xc6d72d){var _0x28375c=_0x1d32a3[_0xc74a('0x58')][_0xc74a('0x6b')];return db[_0xc74a('0x69')][_0xc74a('0x5d')]({'where':{'id':_0x28375c},'attributes':['id'],'include':[{'model':db[_0xc74a('0x5e')],'as':_0xc74a('0x6c'),'attributes':['id',_0xc74a('0x31'),'online',_0xc74a('0x6d'),_0xc74a('0x6e')],'raw':!![]}]})[_0xc74a('0x2c')](function(_0x4524b2){if(_0x4524b2){var _0x32ba86=_[_0xc74a('0x6f')](_0x4524b2,function(_0x596130){var _0x33848e=_0x596130['get']({'plain':!![]});return _0x33848e[_0xc74a('0x6c')];});return db[_0xc74a('0x35')][_0xc74a('0x4e')]({'where':{'id':_0x1d32a3[_0xc74a('0x4d')]['id']}})[_0xc74a('0x2c')](function(_0x1ae367){return db[_0xc74a('0x70')][_0xc74a('0x71')](function(_0x7f66a6){return _0x1ae367[_0xc74a('0x6a')](_0x28375c,{'transaction':_0x7f66a6})['then'](function(){return BPromise['each'](_0x32ba86,function(_0x3196df){return db[_0xc74a('0x72')]['findOrCreate']({'where':{'UserId':_0x3196df['id'],'FaxQueueId':_0x1d32a3['params']['id']},'transaction':_0x7f66a6});});})[_0xc74a('0x2c')](function(){_0x32ba86[_0xc74a('0x73')](function(_0x45773b){socket[_0xc74a('0x74')]('userFaxQueue:save',{'UserId':_0x45773b['id'],'FaxQueueId':_0x1ae367['id']});});});});});}})[_0xc74a('0x2c')](respondWithStatusCode(_0x2303fb,null))['catch'](handleError(_0x2303fb,null));};exports[_0xc74a('0x75')]=function(_0x5edc01,_0x160203,_0x381185){return db[_0xc74a('0x69')][_0xc74a('0x5d')]({'where':{'id':_0x5edc01[_0xc74a('0x39')][_0xc74a('0x6b')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xc74a('0x6c'),'attributes':['id'],'raw':!![]}]})[_0xc74a('0x2c')](handleEntityNotFound(_0x160203,null))['then'](function(_0x5d0dc0){var _0x458587=_[_0xc74a('0x34')](_0x5d0dc0,'id');var _0xc0f9da=[];var _0x4670b0=[];var _0x4c7320=squel[_0xc74a('0x76')]();_0x4c7320[_0xc74a('0x77')](_0xc74a('0x78'))[_0xc74a('0x79')](_0xc74a('0x7a'),'tq')[_0xc74a('0x7b')](_0xc74a('0x7c'),'ut',_0xc74a('0x7d'))[_0xc74a('0x45')](_0xc74a('0x7e'),_0x5edc01[_0xc74a('0x4d')]['id']);for(var _0x4ea389=0x0;_0x4ea389<_0x5d0dc0[_0xc74a('0x40')];_0x4ea389+=0x1){let _0x2854b5=_0x5d0dc0[_0x4ea389];for(var _0xf380fd=0x0;_0xf380fd<_0x2854b5[_0xc74a('0x6c')][_0xc74a('0x40')];_0xf380fd+=0x1){let _0x6ab0c5=_0x2854b5['Agents'][_0xf380fd];var _0x534371=_0x4c7320[_0xc74a('0x7f')]();_0x534371[_0xc74a('0x45')]('ut.UserId\x20=\x20?',_0x6ab0c5['id']);_0x4670b0[_0xc74a('0x80')](db['sequelize'][_0xc74a('0x39')](_0x534371[_0xc74a('0x81')](),{'type':db[_0xc74a('0x70')][_0xc74a('0x82')][_0xc74a('0x83')]})[_0xc74a('0x2c')](function(_0x1b5980){if(_0x1b5980[_0xc74a('0x40')]===0x1){return _0x6ab0c5['id'];}else{var _0x128f48=_[_0xc74a('0x84')](_[_0xc74a('0x34')](_0x1b5980,_0xc74a('0x85')),function(_0x456efd){return _['includes'](_0x458587,_0x456efd);});if(_0x128f48){return _0x6ab0c5['id'];}}}));}}return BPromise[_0xc74a('0x86')](_0x4670b0)[_0xc74a('0x2c')](function(_0x513787){_0xc0f9da=_(_0xc0f9da)[_0xc74a('0x87')](_0x513787)[_0xc74a('0x88')]()['value']();return db['FaxQueue'][_0xc74a('0x4e')]({'where':{'id':_0x5edc01[_0xc74a('0x4d')]['id']}})['then'](function(_0x35ef3d){return db['sequelize'][_0xc74a('0x71')](function(_0x2788d9){return _0x35ef3d[_0xc74a('0x75')](_0x5edc01[_0xc74a('0x39')][_0xc74a('0x6b')],{'transaction':_0x2788d9})[_0xc74a('0x2c')](function(){if(!_[_0xc74a('0x89')](_0xc0f9da)){return _0x35ef3d['removeAgents'](_0xc0f9da,{'transaction':_0x2788d9});}})[_0xc74a('0x2c')](function(){_0xc0f9da[_0xc74a('0x73')](function(_0x1ca868){socket[_0xc74a('0x74')](_0xc74a('0x8a'),{'UserId':_0x1ca868,'FaxQueueId':_0x35ef3d['id']});});});});});});})[_0xc74a('0x2c')](respondWithStatusCode(_0x160203,null))[_0xc74a('0x4f')](handleError(_0x160203,null));};exports['addAgents']=function(_0x1a9dae,_0x38d1f9,_0x106499){return db[_0xc74a('0x35')][_0xc74a('0x4e')]({'where':{'id':_0x1a9dae[_0xc74a('0x4d')]['id']}})[_0xc74a('0x2c')](handleEntityNotFound(_0x38d1f9,null))[_0xc74a('0x2c')](function(_0x324118){if(_0x324118){return _0x324118[_0xc74a('0x8b')](_0x1a9dae[_0xc74a('0x58')][_0xc74a('0x6b')],_[_0xc74a('0x8c')](_0x1a9dae[_0xc74a('0x58')],['ids','id'])||{})[_0xc74a('0x8d')](function(_0x199bc2){for(var _0x4b2c80=0x0;_0x4b2c80<_0x1a9dae[_0xc74a('0x58')][_0xc74a('0x6b')][_0xc74a('0x40')];_0x4b2c80+=0x1){socket[_0xc74a('0x74')](_0xc74a('0x8e'),{'UserId':Number(_0x1a9dae[_0xc74a('0x58')][_0xc74a('0x6b')][_0x4b2c80]),'FaxQueueId':Number(_0x1a9dae[_0xc74a('0x4d')]['id'])});}return _0x199bc2;});}})[_0xc74a('0x2c')](respondWithResult(_0x38d1f9,null))[_0xc74a('0x4f')](handleError(_0x38d1f9,null));};exports[_0xc74a('0x8f')]=function(_0x2d8fce,_0x230088,_0x2bbe41){return db[_0xc74a('0x35')][_0xc74a('0x4e')]({'where':{'id':_0x2d8fce[_0xc74a('0x4d')]['id']}})[_0xc74a('0x2c')](handleEntityNotFound(_0x230088,null))['then'](function(_0x48cc3e){if(_0x48cc3e){return _0x48cc3e['removeAgents'](_0x2d8fce['query']['ids'])['then'](function(){if(_[_0xc74a('0x90')](_0x2d8fce[_0xc74a('0x39')]['ids'])){for(var _0x5b13b6=0x0;_0x5b13b6<_0x2d8fce['query'][_0xc74a('0x6b')][_0xc74a('0x40')];_0x5b13b6+=0x1){socket[_0xc74a('0x74')](_0xc74a('0x8a'),{'UserId':Number(_0x2d8fce[_0xc74a('0x39')][_0xc74a('0x6b')][_0x5b13b6]),'FaxQueueId':Number(_0x2d8fce[_0xc74a('0x4d')]['id'])});}}else{socket[_0xc74a('0x74')](_0xc74a('0x8a'),{'UserId':Number(_0x2d8fce[_0xc74a('0x39')][_0xc74a('0x6b')]),'FaxQueueId':Number(_0x2d8fce[_0xc74a('0x4d')]['id'])});}});}})[_0xc74a('0x2c')](respondWithStatusCode(_0x230088,null))['catch'](handleError(_0x230088,null));};exports[_0xc74a('0x91')]=function(_0x2d1a4f,_0x1c8caa,_0x31c16c){var _0x19dffa={};var _0x5c9b5f={};var _0x5d8946;var _0x18d976;return db[_0xc74a('0x35')][_0xc74a('0x5b')]({'where':{'id':_0x2d1a4f[_0xc74a('0x4d')]['id']}})[_0xc74a('0x2c')](handleEntityNotFound(_0x1c8caa,null))[_0xc74a('0x2c')](function(_0x182f22){if(_0x182f22){_0x5d8946=_0x182f22;_0x5c9b5f['model']=_[_0xc74a('0x3a')](db[_0xc74a('0x5e')]['rawAttributes']);_0x5c9b5f[_0xc74a('0x39')]=_[_0xc74a('0x3a')](_0x2d1a4f['query']);_0x5c9b5f[_0xc74a('0x3b')]=_['intersection'](_0x5c9b5f[_0xc74a('0x3d')],_0x5c9b5f[_0xc74a('0x39')]);_0x19dffa[_0xc74a('0x3e')]=_['intersection'](_0x5c9b5f[_0xc74a('0x3d')],qs[_0xc74a('0x3f')](_0x2d1a4f[_0xc74a('0x39')][_0xc74a('0x3f')]));_0x19dffa[_0xc74a('0x3e')]=_0x19dffa[_0xc74a('0x3e')][_0xc74a('0x40')]?_0x19dffa['attributes']:_0x5c9b5f[_0xc74a('0x3d')];_0x19dffa[_0xc74a('0x43')]=qs[_0xc74a('0x44')](_0x2d1a4f[_0xc74a('0x39')]['sort']);_0x19dffa[_0xc74a('0x45')]=qs[_0xc74a('0x3b')](_[_0xc74a('0x5c')](_0x2d1a4f[_0xc74a('0x39')],_0x5c9b5f[_0xc74a('0x3b')]));if(_0x2d1a4f[_0xc74a('0x39')][_0xc74a('0x46')]){_0x19dffa[_0xc74a('0x45')]=_[_0xc74a('0x47')](_0x19dffa[_0xc74a('0x45')],{'$or':_[_0xc74a('0x34')](_0x19dffa[_0xc74a('0x3e')],function(_0x102624){var _0x406bc0={};_0x406bc0[_0x102624]={'$like':'%'+_0x2d1a4f[_0xc74a('0x39')][_0xc74a('0x46')]+'%'};return _0x406bc0;})});}_0x19dffa=_[_0xc74a('0x47')]({},_0x19dffa,_0x2d1a4f[_0xc74a('0x49')]);return _0x5d8946[_0xc74a('0x91')](_0x19dffa);}})['then'](function(_0x1df040){if(_0x1df040){_0x18d976=_0x1df040['length'];if(!_0x2d1a4f['query'][_0xc74a('0x41')](_0xc74a('0x42'))){_0x19dffa[_0xc74a('0x24')]=qs[_0xc74a('0x24')](_0x2d1a4f[_0xc74a('0x39')][_0xc74a('0x24')]);_0x19dffa[_0xc74a('0x22')]=qs['offset'](_0x2d1a4f[_0xc74a('0x39')][_0xc74a('0x22')]);}return _0x5d8946[_0xc74a('0x91')](_0x19dffa);}})[_0xc74a('0x2c')](function(_0x3bebb4){if(_0x3bebb4){return _0x3bebb4?{'count':_0x18d976,'rows':_0x3bebb4}:null;}})[_0xc74a('0x2c')](respondWithResult(_0x1c8caa,null))[_0xc74a('0x4f')](handleError(_0x1c8caa,null));};