Built motion from commit e6806ed6.|2.6.0
[motion2.git] / server / api / plugin / plugin.controller.js
index 6d7bc49..dca508a 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x32b6=['defaults','redis','socket.io-emitter','register','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','save','update','destroy','then','get','UserProfileResource','error','stack','name','index','Plugin','rawAttributes','fieldName','key','map','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','order','sort','where','type','merge','options','include','findAll','rows','params','keys','includeAll','find','catch','download','path','join','root','server/files/plugins','format','%s.zip','createWriteStream','zip','warning','code','ENOENT','Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','**/*','dirname','finalize','existsSync','Plugin\x20not\x20found','basename','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','upload','file','filename','extname','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','0777','readdirSync','Invalid\x20plugin\x20structure','lstatSync','isDirectory','some','Plugin\x20manifest\x20missing','readFileSync','manifest.json','parse','version','parameters','Invalid\x20manifest:\x20parameters\x20missing','Invalid\x20manifest:\x20views\x20missing','views','admin','agent','Invalid\x20manifest:\x20no\x20view\x20specified','script','scriptName','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','Invalid\x20manifest:\x20invalid\x20type','description','sidebar','icon','html','test','plugins','Warning:\x20agent\x20view\x20not\x20specified','create','body','role','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','send','Zip\x20archive\x20removed','delete','webhookGet','resolve','port','hostname','http://localhost:','encoding','%s%s','headers','content-length','content-type','endsWith','statusCode','webhookPost','method','eml-format','rimraf','fast-json-patch','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','squel','jsforce','papaparse','extract-zip','archiver','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb'];(function(_0x130705,_0x2d266b){var _0x1fa991=function(_0x395639){while(--_0x395639){_0x130705['push'](_0x130705['shift']());}};_0x1fa991(++_0x2d266b);}(_0x32b6,0x131));var _0x632b=function(_0x3a386a,_0x48ddde){_0x3a386a=_0x3a386a-0x0;var _0x26eadc=_0x32b6[_0x3a386a];return _0x26eadc;};'use strict';var emlformat=require(_0x632b('0x0'));var rimraf=require(_0x632b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x632b('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x632b('0x3'));var Mustache=require(_0x632b('0x4'));var util=require(_0x632b('0x5'));var path=require('path');var sox=require('sox');var csv=require(_0x632b('0x6'));var ejs=require(_0x632b('0x7'));var fs=require('fs');var fs_extra=require(_0x632b('0x8'));var _=require(_0x632b('0x9'));var squel=require(_0x632b('0xa'));var crypto=require('crypto');var jsforce=require(_0x632b('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x632b('0x6'));var querystring=require('querystring');var Papa=require(_0x632b('0xc'));var extract=require(_0x632b('0xd'));var rimraf=require(_0x632b('0x1'));var archiver=require(_0x632b('0xe'));var Redis=require(_0x632b('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x632b('0x10'));var as=require(_0x632b('0x11'));var hardwareService=require(_0x632b('0x12'));var logger=require('../../config/logger')(_0x632b('0x13'));var utils=require(_0x632b('0x14'));var config=require(_0x632b('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0x632b('0x16'))['db'];config['redis']=_[_0x632b('0x17')](config[_0x632b('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x632b('0x19'))(new Redis(config['redis']));require('./plugin.socket')[_0x632b('0x1a')](socket);function respondWithStatusCode(_0x1f95b1,_0x2f2b72){_0x2f2b72=_0x2f2b72||0xcc;return function(_0x195bde){if(_0x195bde){return _0x1f95b1[_0x632b('0x1b')](_0x2f2b72);}return _0x1f95b1[_0x632b('0x1c')](_0x2f2b72)[_0x632b('0x1d')]();};}function respondWithResult(_0x2ab592,_0x1173a4){_0x1173a4=_0x1173a4||0xc8;return function(_0x45793e){if(_0x45793e){return _0x2ab592['status'](_0x1173a4)[_0x632b('0x1e')](_0x45793e);}};}function respondWithFilteredResult(_0x86a429,_0x3bbf18){return function(_0x12be32){if(_0x12be32){var _0x594ec3=typeof _0x3bbf18['offset']===_0x632b('0x1f')&&typeof _0x3bbf18[_0x632b('0x20')]===_0x632b('0x1f');var _0x2259fd=_0x12be32[_0x632b('0x21')];var _0x8ef286=_0x594ec3?0x0:_0x3bbf18[_0x632b('0x22')];var _0x3f72f8=_0x594ec3?_0x12be32['count']:_0x3bbf18[_0x632b('0x22')]+_0x3bbf18[_0x632b('0x20')];var _0x49733d;if(_0x3f72f8>=_0x2259fd){_0x3f72f8=_0x2259fd;_0x49733d=0xc8;}else{_0x49733d=0xce;}_0x86a429['status'](_0x49733d);return _0x86a429[_0x632b('0x23')](_0x632b('0x24'),_0x8ef286+'-'+_0x3f72f8+'/'+_0x2259fd)[_0x632b('0x1e')](_0x12be32);}return null;};}function patchUpdates(_0x24ada0){return function(_0x4a4d6a){try{jsonpatch[_0x632b('0x25')](_0x4a4d6a,_0x24ada0,!![]);}catch(_0x43e5d9){return BPromise['reject'](_0x43e5d9);}return _0x4a4d6a[_0x632b('0x26')]();};}function saveUpdates(_0x55db75,_0x400b65){return function(_0x417f0e){if(_0x417f0e){return _0x417f0e[_0x632b('0x27')](_0x55db75)['then'](function(_0x1608d9){return _0x1608d9;});}return null;};}function removeEntity(_0x43100c,_0x3a1298){return function(_0x4e6b6a){if(_0x4e6b6a){return _0x4e6b6a[_0x632b('0x28')]()[_0x632b('0x29')](function(){var _0x21b521=_0x4e6b6a[_0x632b('0x2a')]({'plain':!![]});var _0x514ab7='Plugins';return db[_0x632b('0x2b')][_0x632b('0x28')]({'where':{'type':_0x514ab7,'resourceId':_0x21b521['id']}})[_0x632b('0x29')](function(){return _0x4e6b6a;});})[_0x632b('0x29')](function(){_0x43100c[_0x632b('0x1c')](0xcc)[_0x632b('0x1d')]();});}};}function handleEntityNotFound(_0x20dd38,_0x14fb3e){return function(_0x1cb703){if(!_0x1cb703){_0x20dd38[_0x632b('0x1b')](0x194);}return _0x1cb703;};}function handleError(_0x1cdbd2,_0x18a673){_0x18a673=_0x18a673||0x1f4;return function(_0x403bb8){logger[_0x632b('0x2c')](_0x403bb8[_0x632b('0x2d')]);if(_0x403bb8[_0x632b('0x2e')]){delete _0x403bb8[_0x632b('0x2e')];}_0x1cdbd2[_0x632b('0x1c')](_0x18a673)['send'](_0x403bb8);};}exports[_0x632b('0x2f')]=function(_0x38fe02,_0x3ec7b2){var _0x34d72d={},_0x441861={},_0x223c0e={'count':0x0,'rows':[]};var _0x1ec2cb=_['map'](db[_0x632b('0x30')][_0x632b('0x31')],function(_0x464962){return{'name':_0x464962[_0x632b('0x32')],'type':_0x464962['type'][_0x632b('0x33')]};});_0x441861['model']=_[_0x632b('0x34')](_0x1ec2cb,_0x632b('0x2e'));_0x441861[_0x632b('0x35')]=_['keys'](_0x38fe02[_0x632b('0x35')]);_0x441861[_0x632b('0x36')]=_[_0x632b('0x37')](_0x441861[_0x632b('0x38')],_0x441861[_0x632b('0x35')]);_0x34d72d[_0x632b('0x39')]=_['intersection'](_0x441861[_0x632b('0x38')],qs[_0x632b('0x3a')](_0x38fe02[_0x632b('0x35')]['fields']));_0x34d72d[_0x632b('0x39')]=_0x34d72d[_0x632b('0x39')][_0x632b('0x3b')]?_0x34d72d[_0x632b('0x39')]:_0x441861[_0x632b('0x38')];if(!_0x38fe02['query'][_0x632b('0x3c')]('nolimit')){_0x34d72d[_0x632b('0x20')]=qs[_0x632b('0x20')](_0x38fe02[_0x632b('0x35')][_0x632b('0x20')]);_0x34d72d[_0x632b('0x22')]=qs[_0x632b('0x22')](_0x38fe02[_0x632b('0x35')][_0x632b('0x22')]);}_0x34d72d[_0x632b('0x3d')]=qs[_0x632b('0x3e')](_0x38fe02['query'][_0x632b('0x3e')]);_0x34d72d['where']=qs[_0x632b('0x36')](_['pick'](_0x38fe02[_0x632b('0x35')],_0x441861['filters']),_0x1ec2cb);if(_0x38fe02[_0x632b('0x35')]['filter']){_0x34d72d[_0x632b('0x3f')]=_['merge'](_0x34d72d[_0x632b('0x3f')],{'$or':_[_0x632b('0x34')](_0x1ec2cb,function(_0x1d1d29){if(_0x1d1d29[_0x632b('0x40')]!=='VIRTUAL'){var _0x283b40={};_0x283b40[_0x1d1d29[_0x632b('0x2e')]]={'$like':'%'+_0x38fe02[_0x632b('0x35')]['filter']+'%'};return _0x283b40;}})});}_0x34d72d=_[_0x632b('0x41')]({},_0x34d72d,_0x38fe02[_0x632b('0x42')]);var _0xb064c3={'where':_0x34d72d[_0x632b('0x3f')]};return db[_0x632b('0x30')][_0x632b('0x21')](_0xb064c3)['then'](function(_0x8272c0){_0x223c0e[_0x632b('0x21')]=_0x8272c0;if(_0x38fe02[_0x632b('0x35')]['includeAll']){_0x34d72d[_0x632b('0x43')]=[{'all':!![]}];}return db[_0x632b('0x30')][_0x632b('0x44')](_0x34d72d);})[_0x632b('0x29')](function(_0x314c5b){_0x223c0e[_0x632b('0x45')]=_0x314c5b;return _0x223c0e;})[_0x632b('0x29')](respondWithFilteredResult(_0x3ec7b2,_0x34d72d))['catch'](handleError(_0x3ec7b2,null));};exports['show']=function(_0xd3854c,_0x15b890){var _0x1ea875={'raw':!![],'where':{'id':_0xd3854c[_0x632b('0x46')]['id']}},_0x18c969={};_0x18c969[_0x632b('0x38')]=_[_0x632b('0x47')](db['Plugin']['rawAttributes']);_0x18c969['query']=_['keys'](_0xd3854c[_0x632b('0x35')]);_0x18c969[_0x632b('0x36')]=_[_0x632b('0x37')](_0x18c969['model'],_0x18c969[_0x632b('0x35')]);_0x1ea875[_0x632b('0x39')]=_[_0x632b('0x37')](_0x18c969[_0x632b('0x38')],qs[_0x632b('0x3a')](_0xd3854c[_0x632b('0x35')]['fields']));_0x1ea875[_0x632b('0x39')]=_0x1ea875[_0x632b('0x39')][_0x632b('0x3b')]?_0x1ea875[_0x632b('0x39')]:_0x18c969['model'];if(_0xd3854c[_0x632b('0x35')][_0x632b('0x48')]){_0x1ea875[_0x632b('0x43')]=[{'all':!![]}];}_0x1ea875=_['merge']({},_0x1ea875,_0xd3854c[_0x632b('0x42')]);return db[_0x632b('0x30')][_0x632b('0x49')](_0x1ea875)[_0x632b('0x29')](handleEntityNotFound(_0x15b890,null))[_0x632b('0x29')](respondWithResult(_0x15b890,null))[_0x632b('0x4a')](handleError(_0x15b890,null));};exports[_0x632b('0x4b')]=function(_0x2f1a91,_0x501c42,_0x3b24c1){return db[_0x632b('0x30')][_0x632b('0x49')]({'where':{'id':_0x2f1a91['params']['id']},'attributes':[_0x632b('0x2e'),_0x632b('0x4c')],'raw':!![]})['then'](handleEntityNotFound(_0x501c42,null))[_0x632b('0x29')](function(_0xef3a05){if(_0xef3a05){var _0x51bba6=path[_0x632b('0x4d')](config[_0x632b('0x4e')],_0x632b('0x4f'),util[_0x632b('0x50')](_0x632b('0x51'),path['basename'](_0xef3a05[_0x632b('0x4c')])));var _0x183f82=fs[_0x632b('0x52')](_0x51bba6);var _0x4c5eca=archiver(_0x632b('0x53'),{'zlib':{'level':0x9}});_0x4c5eca['on'](_0x632b('0x54'),function(_0x2f7a58){if(_0x2f7a58[_0x632b('0x55')]===_0x632b('0x56')){logger[_0x632b('0x2c')](_0x2f7a58);}else{throw new db[(_0x632b('0x57'))][(_0x632b('0x58'))]('Error\x20while\x20generating\x20the\x20zip\x20archive');}});_0x4c5eca['on']('error',function(_0x322113){throw new db['Sequelize'][(_0x632b('0x58'))](_0x632b('0x59'));});_0x4c5eca[_0x632b('0x5a')](_0x183f82);_0x4c5eca[_0x632b('0x5b')](_0x632b('0x5c'),{'cwd':path[_0x632b('0x4d')](config[_0x632b('0x4e')],_0x632b('0x4f'),path[_0x632b('0x5d')](_0xef3a05['path'])),'ignore':[path[_0x632b('0x4d')](path['basename'](_0xef3a05[_0x632b('0x4c')]),'node_modules/**/*'),path['join'](path['basename'](_0xef3a05[_0x632b('0x4c')]),'attachments/**/*')],'nodir':!![]})[_0x632b('0x5e')]();_0x183f82['on']('close',function(){if(!fs[_0x632b('0x5f')](_0x51bba6)){throw new db[(_0x632b('0x57'))][(_0x632b('0x58'))](_0x632b('0x60'));}return _0x501c42[_0x632b('0x4b')](_0x51bba6,util[_0x632b('0x50')](_0x632b('0x51'),path[_0x632b('0x61')](_0xef3a05['path'])),function(_0x4cafbd){if(_0x4cafbd){throw new db[(_0x632b('0x57'))][(_0x632b('0x58'))](_0x632b('0x62'));}fs[_0x632b('0x63')](_0x51bba6);logger[_0x632b('0x64')](_0x632b('0x65'));logger[_0x632b('0x64')]('Temporary\x20file\x20removed');});});}return null;})['catch'](handleError(_0x501c42,null));};exports[_0x632b('0x66')]=function(_0x4c2f5a,_0x1654aa,_0x5c3c4a){var _0x2c1fc5=path[_0x632b('0x61')](_0x4c2f5a[_0x632b('0x67')][_0x632b('0x68')],path[_0x632b('0x69')](_0x4c2f5a[_0x632b('0x67')][_0x632b('0x68')]));var _0x4481bb=path[_0x632b('0x4d')](config[_0x632b('0x4e')],'server/files/plugins',_0x4c2f5a[_0x632b('0x67')][_0x632b('0x68')]);var _0x3c2a3a=path[_0x632b('0x4d')](config[_0x632b('0x4e')],'server/files/plugins',_0x2c1fc5);logger[_0x632b('0x64')](_0x632b('0x6a'),_0x4481bb);logger[_0x632b('0x64')](_0x632b('0x6b'),_0x3c2a3a);try{fs['chmodSync'](_0x4481bb,parseInt(_0x632b('0x6c'),0x8));extract(_0x4481bb,{'dir':_0x3c2a3a},function(_0x6578fb){if(_0x6578fb){logger['error'](_0x6578fb);handleError(_0x6578fb,!![]);};var _0x3e364f=fs[_0x632b('0x6d')](_0x3c2a3a);if(_0x3e364f[_0x632b('0x3b')]>0x1){removeReferences(_0x4481bb,_0x3c2a3a);logger[_0x632b('0x2c')](_0x632b('0x6e'));return _0x5c3c4a(new Error(_0x632b('0x6e')));}var _0x41378b=fs[_0x632b('0x6f')](path['join'](_0x3c2a3a,_0x3e364f[0x0]));if(_0x41378b['isFile']()){removeReferences(_0x4481bb,_0x3c2a3a);logger[_0x632b('0x2c')](_0x632b('0x6e'));return _0x5c3c4a(new Error(_0x632b('0x6e')));}if(_0x41378b[_0x632b('0x70')]()){var _0x2e1311=fs[_0x632b('0x6d')](path[_0x632b('0x4d')](_0x3c2a3a,_0x3e364f[0x0]));if(_0x2e1311[_0x632b('0x3b')]===0x0){removeReferences(_0x4481bb,_0x3c2a3a);logger[_0x632b('0x2c')](_0x632b('0x6e'));return _0x5c3c4a(new Error(_0x632b('0x6e')));}var _0x365ed7=_0x2e1311[_0x632b('0x71')](function(_0x4d0d75){return _0x4d0d75==='manifest.json';});if(!_0x365ed7){return _0x5c3c4a(new Error(_0x632b('0x72')));}var _0x16733f=fs[_0x632b('0x73')](path[_0x632b('0x4d')](_0x3c2a3a,_0x3e364f[0x0],_0x632b('0x74')));var _0x396307=JSON[_0x632b('0x75')](_0x16733f);if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x2e')]){return _0x5c3c4a(new Error('Invalid\x20manifest:\x20name\x20missing'));}if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x40')]){return _0x5c3c4a(new Error('Invalid\x20manifest:\x20type\x20missing'));}if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x76')]){return _0x5c3c4a(new Error('Invalid\x20manifest:\x20version\x20not\x20specified'));}if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x77')]){return _0x5c3c4a(new Error(_0x632b('0x78')));}if(_0x396307['type']==='html'){if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x77')]['views']){return _0x5c3c4a(new Error(_0x632b('0x79')));}if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x77')][_0x632b('0x7a')][_0x632b('0x7b')]&&_0x632b('0x1f')==typeof _0x396307[_0x632b('0x77')][_0x632b('0x7a')][_0x632b('0x7c')]){return _0x5c3c4a(new Error(_0x632b('0x7d')));}}else if(_0x396307[_0x632b('0x40')]===_0x632b('0x7e')){if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x77')][_0x632b('0x7f')]){return _0x5c3c4a(new Error('Invalid\x20manifest:\x20script\x20name\x20missing'));}if(_0x632b('0x1f')==typeof _0x396307[_0x632b('0x77')][_0x632b('0x80')]){return _0x5c3c4a(new Error(_0x632b('0x81')));}}else{return _0x5c3c4a(new Error(_0x632b('0x82')));}var _0xa2a423=_0x396307[_0x632b('0x2e')];var _0x596e21=_0x396307[_0x632b('0x83')];var _0x45910e=_0x396307[_0x632b('0x40')];var _0x4445d7=_0x396307[_0x632b('0x84')]?_0x396307[_0x632b('0x84')]:'always';var _0x2c1e76=_0x396307['icon']?_0x396307[_0x632b('0x85')]:'icon-apps';var _0x1834ff='';var _0x4ffd04='';var _0xaa30cc='';var _0x5415a2='';var _0x50e159=_0x396307[_0x632b('0x76')];if(_0x45910e===_0x632b('0x86')){if('undefined'!=typeof _0x396307['parameters'][_0x632b('0x7a')][_0x632b('0x7b')]){var _0x4dc3b5=_0x396307[_0x632b('0x77')]['views']['admin'];if(!/^(f|ht)tps?:\/\//i[_0x632b('0x87')](_0x4dc3b5)){_0x1834ff=path[_0x632b('0x4d')](_0x632b('0x88'),_0x2c1fc5,_0x3e364f[0x0],_0x4dc3b5);}else{_0x1834ff=_0x4dc3b5;}}else{logger['info']('Warning:\x20admin\x20view\x20not\x20specified');}if('undefined'!=typeof _0x396307[_0x632b('0x77')]['views'][_0x632b('0x7c')]){var _0x48aafe=_0x396307[_0x632b('0x77')][_0x632b('0x7a')][_0x632b('0x7c')];if(!/^(f|ht)tps?:\/\//i[_0x632b('0x87')](_0x48aafe)){_0x4ffd04=path['join']('plugins',_0x2c1fc5,_0x3e364f[0x0],_0x48aafe);}else{_0x4ffd04=_0x48aafe;}}else{logger['info'](_0x632b('0x89'));}}else if(_0x45910e===_0x632b('0x7e')){_0xaa30cc=_0x396307[_0x632b('0x77')][_0x632b('0x7f')];_0x5415a2=_0x396307['parameters'][_0x632b('0x80')];if(_0x632b('0x1f')!=typeof _0x396307[_0x632b('0x77')][_0x632b('0x7a')]){if(_0x632b('0x1f')!=typeof _0x396307[_0x632b('0x77')][_0x632b('0x7a')][_0x632b('0x7b')]){var _0x4dc3b5=_0x396307[_0x632b('0x77')][_0x632b('0x7a')]['admin'];if(!/^(f|ht)tps?:\/\//i['test'](_0x4dc3b5)){_0x1834ff=path['join'](_0x632b('0x88'),_0x2c1fc5,_0x3e364f[0x0],_0x4dc3b5);}else{_0x1834ff=_0x4dc3b5;}}if(_0x632b('0x1f')!=typeof _0x396307[_0x632b('0x77')][_0x632b('0x7a')][_0x632b('0x7c')]){var _0x48aafe=_0x396307['parameters'][_0x632b('0x7a')][_0x632b('0x7c')];if(!/^(f|ht)tps?:\/\//i[_0x632b('0x87')](_0x48aafe)){_0x4ffd04=path['join'](_0x632b('0x88'),_0x2c1fc5,_0x3e364f[0x0],_0x48aafe);}else{_0x4ffd04=_0x48aafe;}}}}var _0x4e6f02={'name':_0xa2a423,'description':_0x596e21,'path':path[_0x632b('0x4d')](_0x2c1fc5,_0x3e364f[0x0]),'type':_0x45910e,'sidebar':_0x4445d7,'icon':_0x2c1e76,'adminUrl':_0x1834ff,'agentUrl':_0x4ffd04,'scriptName':_0xaa30cc,'scriptPath':_0x5415a2,'version':_0x50e159};removeReferences(_0x4481bb,null);return db[_0x632b('0x30')][_0x632b('0x8a')](_0x4e6f02)[_0x632b('0x29')](function(_0x6ba9f0){var _0x577511={'role':_0x4c2f5a[_0x632b('0x8b')][_0x632b('0x8c')],'userProfileId':_0x4c2f5a['body'][_0x632b('0x8d')]};if(!_0x577511)throw new Error(_0x632b('0x8e'));if(_0x577511['role']===_0x632b('0x8f')){var _0x10e099=_0x6ba9f0[_0x632b('0x2a')]({'plain':!![]});return db[_0x632b('0x90')][_0x632b('0x49')]({'where':{'name':'Plugins','userProfileId':_0x577511[_0x632b('0x8d')]},'raw':!![]})[_0x632b('0x29')](function(_0x1bb7a5){if(_0x1bb7a5&&_0x1bb7a5[_0x632b('0x91')]===0x0){return db[_0x632b('0x2b')][_0x632b('0x8a')]({'name':_0x10e099[_0x632b('0x2e')],'resourceId':_0x10e099['id'],'type':_0x1bb7a5['name'],'sectionId':_0x1bb7a5['id']},{})[_0x632b('0x29')](function(){return _0x6ba9f0;});}else{return _0x6ba9f0;}})[_0x632b('0x4a')](function(_0x3ea68d){logger['error'](_0x632b('0x92'),_0x3ea68d);throw _0x3ea68d;});}return _0x6ba9f0;})[_0x632b('0x29')](respondWithResult(_0x1654aa,null))[_0x632b('0x4a')](handleError(_0x1654aa,null));}});}catch(_0xa4f38c){_0x1654aa[_0x632b('0x1c')](0x1f4)[_0x632b('0x93')](_0xa4f38c);}};function removeReferences(_0x27b2c8,_0x5da56b){try{if(_0x27b2c8){fs[_0x632b('0x63')](_0x27b2c8);logger[_0x632b('0x64')](_0x632b('0x94'));}if(_0x5da56b){rimraf(_0x5da56b,function(){});logger['info']('Extracted\x20folder\x20removed');}}catch(_0x11c159){logger['error'](_0x11c159);}}exports['update']=function(_0x4cf21b,_0x176e85,_0x4e70a4){return db[_0x632b('0x30')]['find']({'where':{'id':_0x4cf21b[_0x632b('0x46')]['id']}})[_0x632b('0x29')](handleEntityNotFound(_0x176e85,null))['then'](saveUpdates(_0x4cf21b[_0x632b('0x8b')],null))[_0x632b('0x29')](respondWithResult(_0x176e85,null))[_0x632b('0x4a')](handleError(_0x176e85,null));};exports[_0x632b('0x95')]=function(_0x2a2e70,_0x6cc7e1,_0x178545){return db[_0x632b('0x30')][_0x632b('0x49')]({'where':{'id':_0x2a2e70[_0x632b('0x46')]['id']}})['then'](function(_0x5a2ee1){if(_0x5a2ee1){return _0x5a2ee1['destroy']();}})[_0x632b('0x29')](function(_0x164697){rimraf(path['join'](config[_0x632b('0x4e')],'server/files/plugins',path[_0x632b('0x5d')](_0x164697['path'])),function(){});return _0x164697;})[_0x632b('0x29')](handleEntityNotFound(_0x6cc7e1,null))['then'](respondWithStatusCode(_0x6cc7e1,null))[_0x632b('0x4a')](handleError(_0x6cc7e1,null));};exports[_0x632b('0x96')]=function(_0x3f5574,_0x324080,_0xed515){return BPromise[_0x632b('0x97')]()['then'](function(){if(!_0x3f5574[_0x632b('0x35')][_0x632b('0x4c')]){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x3f5574[_0x632b('0x35')][_0x632b('0x98')]){throw new Error('\x27PORT\x27\x20parameter\x20not\x20specified');}var _0x26fa90=_0x3f5574[_0x632b('0x35')]['hostname']?_0x3f5574[_0x632b('0x35')][_0x632b('0x99')]+':'+_0x3f5574['query'][_0x632b('0x98')]:_0x632b('0x9a')+_0x3f5574[_0x632b('0x35')]['port'];var _0x3afef8=_0x3f5574['query'][_0x632b('0x1e')]?_0x3f5574[_0x632b('0x35')][_0x632b('0x1e')]:!![];var _0x2c427f=_0x3f5574[_0x632b('0x35')][_0x632b('0x9b')]?_0x3f5574[_0x632b('0x35')][_0x632b('0x9b')]:null;var _0xc1642e={'method':_0x3f5574['method'],'uri':util[_0x632b('0x50')](_0x632b('0x9c'),_0x26fa90,_0x3f5574[_0x632b('0x35')]['path']),'json':_0x3afef8,'resolveWithFullResponse':!![],'encoding':_0x2c427f,'qs':_0x3f5574[_0x632b('0x35')]};if(_0x3f5574['headers']){_0xc1642e[_0x632b('0x9d')]=_0x3f5574[_0x632b('0x9d')];if(_0xc1642e['headers'][_0x632b('0x9e')]){delete _0xc1642e['headers'][_0x632b('0x9e')];}}if(_0xc1642e['headers'][_0x632b('0x9f')]){delete _0xc1642e['headers'][_0x632b('0x9f')];}return rp(_0xc1642e);})['then'](function(_0x11cf88){if(_0x11cf88){_0x324080[_0x632b('0x23')](_0x11cf88[_0x632b('0x9d')]);logger[_0x632b('0x64')](_0x11cf88[_0x632b('0x8b')]);if(_[_0x632b('0xa0')](_0x3f5574[_0x632b('0x35')][_0x632b('0x4c')],_0x632b('0x4b'))&&_0x11cf88['statusCode']==0x1f4){return _0x324080[_0x632b('0x1b')](_0x11cf88['statusCode']);}else{return _0x324080[_0x632b('0x1c')](_0x11cf88[_0x632b('0xa1')])[_0x632b('0x93')](_0x11cf88[_0x632b('0x8b')]);}}else{return _0x324080[_0x632b('0x1b')](0xc8);}})[_0x632b('0x4a')](handleError(_0x324080,null));};exports[_0x632b('0xa2')]=function(_0x370835,_0xc112c6,_0x2e3a08){return BPromise[_0x632b('0x97')]()[_0x632b('0x29')](function(){if(!_0x370835[_0x632b('0x35')]['path']){throw new Error('\x27PATH\x27\x20parameter\x20not\x20specified');}if(!_0x370835[_0x632b('0x35')]['port']){throw new Error('\x27PORT\x27\x20parameter\x20not\x20specified');}var _0x282be5=_0x370835[_0x632b('0x35')]['hostname']?_0x370835['query']['hostname']+':'+_0x370835[_0x632b('0x35')][_0x632b('0x98')]:_0x632b('0x9a')+_0x370835[_0x632b('0x35')][_0x632b('0x98')];var _0x4a05ab=_0x370835[_0x632b('0x35')][_0x632b('0x1e')]?_0x370835[_0x632b('0x35')][_0x632b('0x1e')]:!![];var _0x42ad70=_0x370835['query']['encoding']?_0x370835[_0x632b('0x35')][_0x632b('0x9b')]:null;var _0x16f293={'method':_0x370835[_0x632b('0xa3')],'uri':util['format'](_0x632b('0x9c'),_0x282be5,_0x370835[_0x632b('0x35')][_0x632b('0x4c')]),'json':_0x4a05ab,'resolveWithFullResponse':!![],'encoding':_0x42ad70,'body':_0x370835[_0x632b('0x8b')]};if(_0x370835['headers']){_0x16f293[_0x632b('0x9d')]=_0x370835[_0x632b('0x9d')];if(_0x16f293[_0x632b('0x9d')][_0x632b('0x9e')]){delete _0x16f293[_0x632b('0x9d')]['content-length'];}}if(_0x16f293[_0x632b('0x9d')][_0x632b('0x9f')]){delete _0x16f293[_0x632b('0x9d')][_0x632b('0x9f')];}return rp(_0x16f293);})[_0x632b('0x29')](function(_0x36355b){if(_0x36355b){_0xc112c6['set'](_0x36355b['headers']);logger[_0x632b('0x64')](_0x36355b[_0x632b('0x8b')]);return _0xc112c6[_0x632b('0x1c')](_0x36355b[_0x632b('0xa1')])[_0x632b('0x93')](_0x36355b[_0x632b('0x8b')]);}else{return _0xc112c6['sendStatus'](0xc8);}})[_0x632b('0x4a')](handleError(_0xc112c6,null));};
\ No newline at end of file
+var _0xa358=['intersection','model','attributes','fields','hasOwnProperty','nolimit','pick','where','merge','map','VIRTUAL','options','includeAll','findAll','catch','show','params','length','include','find','download','path','server/files/plugins','format','%s.zip','basename','createWriteStream','zip','code','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','Sequelize','glob','join','root','dirname','attachments/**/*','finalize','existsSync','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','info','Download\x20completed','upload','file','extname','filename','Plugin\x20upload\x20destination:\x20%s','0777','readdirSync','Invalid\x20plugin\x20structure','lstatSync','isFile','isDirectory','some','manifest.json','Plugin\x20manifest\x20missing','readFileSync','parse','Invalid\x20manifest:\x20name\x20missing','Invalid\x20manifest:\x20type\x20missing','version','Invalid\x20manifest:\x20version\x20not\x20specified','Invalid\x20manifest:\x20parameters\x20missing','html','parameters','views','Invalid\x20manifest:\x20views\x20missing','admin','agent','Invalid\x20manifest:\x20script\x20name\x20missing','scriptPath','Invalid\x20manifest:\x20script\x20path\x20missing','Invalid\x20manifest:\x20invalid\x20type','sidebar','always','icon','plugins','Warning:\x20admin\x20view\x20not\x20specified','test','Warning:\x20agent\x20view\x20not\x20specified','script','create','body','role','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','send','Zip\x20archive\x20removed','webhookGet','resolve','\x27PATH\x27\x20parameter\x20not\x20specified','port','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','http://localhost:','encoding','method','headers','content-length','endsWith','statusCode','webhookPost','%s%s','content-type','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','extract-zip','archiver','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','offset','undefined','limit','count','set','apply','save','update','then','destroy','get','Plugins','UserProfileResource','error','stack','name','index','Plugin','rawAttributes','type','query','keys','filters'];(function(_0x261f63,_0x46f773){var _0x5654f8=function(_0x558e34){while(--_0x558e34){_0x261f63['push'](_0x261f63['shift']());}};_0x5654f8(++_0x46f773);}(_0xa358,0x1b1));var _0x8a35=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xa358[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8a35('0x0'));var zipdir=require(_0x8a35('0x1'));var jsonpatch=require(_0x8a35('0x2'));var rp=require('request-promise');var moment=require(_0x8a35('0x3'));var BPromise=require(_0x8a35('0x4'));var Mustache=require(_0x8a35('0x5'));var util=require(_0x8a35('0x6'));var path=require('path');var sox=require(_0x8a35('0x7'));var csv=require(_0x8a35('0x8'));var ejs=require(_0x8a35('0x9'));var fs=require('fs');var fs_extra=require(_0x8a35('0xa'));var _=require('lodash');var squel=require(_0x8a35('0xb'));var crypto=require(_0x8a35('0xc'));var jsforce=require(_0x8a35('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x8a35('0x8'));var querystring=require('querystring');var Papa=require(_0x8a35('0xe'));var extract=require(_0x8a35('0xf'));var rimraf=require(_0x8a35('0x0'));var archiver=require(_0x8a35('0x10'));var Redis=require(_0x8a35('0x11'));var authService=require(_0x8a35('0x12'));var qs=require(_0x8a35('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8a35('0x14'));var logger=require(_0x8a35('0x15'))('api');var utils=require(_0x8a35('0x16'));var config=require(_0x8a35('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x8a35('0x18'))['db'];config[_0x8a35('0x19')]=_[_0x8a35('0x1a')](config['redis'],{'host':_0x8a35('0x1b'),'port':0x18eb});var socket=require(_0x8a35('0x1c'))(new Redis(config['redis']));require('./plugin.socket')['register'](socket);function respondWithStatusCode(_0x2e47e2,_0x1281d6){_0x1281d6=_0x1281d6||0xcc;return function(_0x42a21d){if(_0x42a21d){return _0x2e47e2[_0x8a35('0x1d')](_0x1281d6);}return _0x2e47e2[_0x8a35('0x1e')](_0x1281d6)[_0x8a35('0x1f')]();};}function respondWithResult(_0x599c78,_0x2e0750){_0x2e0750=_0x2e0750||0xc8;return function(_0x38d788){if(_0x38d788){return _0x599c78[_0x8a35('0x1e')](_0x2e0750)[_0x8a35('0x20')](_0x38d788);}};}function respondWithFilteredResult(_0x1f032b,_0x19d151){return function(_0x5660ac){if(_0x5660ac){var _0x50e258=typeof _0x19d151[_0x8a35('0x21')]===_0x8a35('0x22')&&typeof _0x19d151[_0x8a35('0x23')]==='undefined';var _0x423a11=_0x5660ac['count'];var _0xd72fca=_0x50e258?0x0:_0x19d151[_0x8a35('0x21')];var _0x316fc8=_0x50e258?_0x5660ac[_0x8a35('0x24')]:_0x19d151[_0x8a35('0x21')]+_0x19d151['limit'];var _0x576636;if(_0x316fc8>=_0x423a11){_0x316fc8=_0x423a11;_0x576636=0xc8;}else{_0x576636=0xce;}_0x1f032b[_0x8a35('0x1e')](_0x576636);return _0x1f032b[_0x8a35('0x25')]('Content-Range',_0xd72fca+'-'+_0x316fc8+'/'+_0x423a11)[_0x8a35('0x20')](_0x5660ac);}return null;};}function patchUpdates(_0x3609cd){return function(_0xbdc07c){try{jsonpatch[_0x8a35('0x26')](_0xbdc07c,_0x3609cd,!![]);}catch(_0x48bbe1){return BPromise['reject'](_0x48bbe1);}return _0xbdc07c[_0x8a35('0x27')]();};}function saveUpdates(_0x2e0b82,_0x742df7){return function(_0x1746af){if(_0x1746af){return _0x1746af[_0x8a35('0x28')](_0x2e0b82)[_0x8a35('0x29')](function(_0x295b37){return _0x295b37;});}return null;};}function removeEntity(_0xeca25e,_0x2db173){return function(_0xf671fa){if(_0xf671fa){return _0xf671fa[_0x8a35('0x2a')]()[_0x8a35('0x29')](function(){var _0x268915=_0xf671fa[_0x8a35('0x2b')]({'plain':!![]});var _0x50d8d3=_0x8a35('0x2c');return db[_0x8a35('0x2d')]['destroy']({'where':{'type':_0x50d8d3,'resourceId':_0x268915['id']}})[_0x8a35('0x29')](function(){return _0xf671fa;});})[_0x8a35('0x29')](function(){_0xeca25e[_0x8a35('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x4839f8,_0x325c06){return function(_0x171af2){if(!_0x171af2){_0x4839f8[_0x8a35('0x1d')](0x194);}return _0x171af2;};}function handleError(_0x21335e,_0xdac9a3){_0xdac9a3=_0xdac9a3||0x1f4;return function(_0x4a6649){logger[_0x8a35('0x2e')](_0x4a6649[_0x8a35('0x2f')]);if(_0x4a6649[_0x8a35('0x30')]){delete _0x4a6649[_0x8a35('0x30')];}_0x21335e[_0x8a35('0x1e')](_0xdac9a3)['send'](_0x4a6649);};}exports[_0x8a35('0x31')]=function(_0x110fb4,_0x41a8ce){var _0x2fac9e={},_0x1b0518={},_0x463c26={'count':0x0,'rows':[]};var _0x29d2f5=_['map'](db[_0x8a35('0x32')][_0x8a35('0x33')],function(_0x3081be){return{'name':_0x3081be['fieldName'],'type':_0x3081be[_0x8a35('0x34')]['key']};});_0x1b0518['model']=_['map'](_0x29d2f5,_0x8a35('0x30'));_0x1b0518[_0x8a35('0x35')]=_[_0x8a35('0x36')](_0x110fb4[_0x8a35('0x35')]);_0x1b0518[_0x8a35('0x37')]=_[_0x8a35('0x38')](_0x1b0518[_0x8a35('0x39')],_0x1b0518[_0x8a35('0x35')]);_0x2fac9e[_0x8a35('0x3a')]=_[_0x8a35('0x38')](_0x1b0518['model'],qs[_0x8a35('0x3b')](_0x110fb4[_0x8a35('0x35')][_0x8a35('0x3b')]));_0x2fac9e[_0x8a35('0x3a')]=_0x2fac9e[_0x8a35('0x3a')]['length']?_0x2fac9e[_0x8a35('0x3a')]:_0x1b0518[_0x8a35('0x39')];if(!_0x110fb4[_0x8a35('0x35')][_0x8a35('0x3c')](_0x8a35('0x3d'))){_0x2fac9e['limit']=qs[_0x8a35('0x23')](_0x110fb4['query'][_0x8a35('0x23')]);_0x2fac9e[_0x8a35('0x21')]=qs[_0x8a35('0x21')](_0x110fb4['query'][_0x8a35('0x21')]);}_0x2fac9e['order']=qs['sort'](_0x110fb4[_0x8a35('0x35')]['sort']);_0x2fac9e['where']=qs[_0x8a35('0x37')](_[_0x8a35('0x3e')](_0x110fb4[_0x8a35('0x35')],_0x1b0518[_0x8a35('0x37')]),_0x29d2f5);if(_0x110fb4[_0x8a35('0x35')]['filter']){_0x2fac9e[_0x8a35('0x3f')]=_[_0x8a35('0x40')](_0x2fac9e['where'],{'$or':_[_0x8a35('0x41')](_0x29d2f5,function(_0x285104){if(_0x285104['type']!==_0x8a35('0x42')){var _0x10842c={};_0x10842c[_0x285104[_0x8a35('0x30')]]={'$like':'%'+_0x110fb4['query']['filter']+'%'};return _0x10842c;}})});}_0x2fac9e=_[_0x8a35('0x40')]({},_0x2fac9e,_0x110fb4[_0x8a35('0x43')]);var _0x4dd071={'where':_0x2fac9e[_0x8a35('0x3f')]};return db[_0x8a35('0x32')][_0x8a35('0x24')](_0x4dd071)[_0x8a35('0x29')](function(_0x3c3890){_0x463c26[_0x8a35('0x24')]=_0x3c3890;if(_0x110fb4[_0x8a35('0x35')][_0x8a35('0x44')]){_0x2fac9e['include']=[{'all':!![]}];}return db[_0x8a35('0x32')][_0x8a35('0x45')](_0x2fac9e);})['then'](function(_0x3e111e){_0x463c26['rows']=_0x3e111e;return _0x463c26;})['then'](respondWithFilteredResult(_0x41a8ce,_0x2fac9e))[_0x8a35('0x46')](handleError(_0x41a8ce,null));};exports[_0x8a35('0x47')]=function(_0x16031c,_0x10c4b6){var _0x3f86f0={'raw':!![],'where':{'id':_0x16031c[_0x8a35('0x48')]['id']}},_0x3e0f4e={};_0x3e0f4e[_0x8a35('0x39')]=_[_0x8a35('0x36')](db[_0x8a35('0x32')][_0x8a35('0x33')]);_0x3e0f4e[_0x8a35('0x35')]=_[_0x8a35('0x36')](_0x16031c[_0x8a35('0x35')]);_0x3e0f4e[_0x8a35('0x37')]=_[_0x8a35('0x38')](_0x3e0f4e[_0x8a35('0x39')],_0x3e0f4e[_0x8a35('0x35')]);_0x3f86f0[_0x8a35('0x3a')]=_[_0x8a35('0x38')](_0x3e0f4e[_0x8a35('0x39')],qs[_0x8a35('0x3b')](_0x16031c[_0x8a35('0x35')][_0x8a35('0x3b')]));_0x3f86f0[_0x8a35('0x3a')]=_0x3f86f0[_0x8a35('0x3a')][_0x8a35('0x49')]?_0x3f86f0[_0x8a35('0x3a')]:_0x3e0f4e['model'];if(_0x16031c[_0x8a35('0x35')]['includeAll']){_0x3f86f0[_0x8a35('0x4a')]=[{'all':!![]}];}_0x3f86f0=_[_0x8a35('0x40')]({},_0x3f86f0,_0x16031c[_0x8a35('0x43')]);return db[_0x8a35('0x32')][_0x8a35('0x4b')](_0x3f86f0)[_0x8a35('0x29')](handleEntityNotFound(_0x10c4b6,null))['then'](respondWithResult(_0x10c4b6,null))[_0x8a35('0x46')](handleError(_0x10c4b6,null));};exports[_0x8a35('0x4c')]=function(_0x37b87c,_0x300dbd,_0x2fc142){return db[_0x8a35('0x32')]['find']({'where':{'id':_0x37b87c[_0x8a35('0x48')]['id']},'attributes':[_0x8a35('0x30'),_0x8a35('0x4d')],'raw':!![]})['then'](handleEntityNotFound(_0x300dbd,null))[_0x8a35('0x29')](function(_0x25ce5e){if(_0x25ce5e){var _0x184bef=path['join'](config['root'],_0x8a35('0x4e'),util[_0x8a35('0x4f')](_0x8a35('0x50'),path[_0x8a35('0x51')](_0x25ce5e[_0x8a35('0x4d')])));var _0x3b2418=fs[_0x8a35('0x52')](_0x184bef);var _0x3170b4=archiver(_0x8a35('0x53'),{'zlib':{'level':0x9}});_0x3170b4['on']('warning',function(_0xcaac8f){if(_0xcaac8f[_0x8a35('0x54')]==='ENOENT'){logger[_0x8a35('0x2e')](_0xcaac8f);}else{throw new db['Sequelize'][(_0x8a35('0x55'))](_0x8a35('0x56'));}});_0x3170b4['on'](_0x8a35('0x2e'),function(_0x46d0be){throw new db[(_0x8a35('0x57'))][(_0x8a35('0x55'))](_0x8a35('0x56'));});_0x3170b4['pipe'](_0x3b2418);_0x3170b4[_0x8a35('0x58')]('**/*',{'cwd':path[_0x8a35('0x59')](config[_0x8a35('0x5a')],_0x8a35('0x4e'),path[_0x8a35('0x5b')](_0x25ce5e[_0x8a35('0x4d')])),'ignore':[path[_0x8a35('0x59')](path[_0x8a35('0x51')](_0x25ce5e[_0x8a35('0x4d')]),'node_modules/**/*'),path[_0x8a35('0x59')](path[_0x8a35('0x51')](_0x25ce5e[_0x8a35('0x4d')]),_0x8a35('0x5c'))],'nodir':!![]})[_0x8a35('0x5d')]();_0x3b2418['on']('close',function(){if(!fs[_0x8a35('0x5e')](_0x184bef)){throw new db['Sequelize'][(_0x8a35('0x55'))]('Plugin\x20not\x20found');}return _0x300dbd[_0x8a35('0x4c')](_0x184bef,util[_0x8a35('0x4f')](_0x8a35('0x50'),path['basename'](_0x25ce5e['path'])),function(_0x53f72f){if(_0x53f72f){throw new db['Sequelize']['Error'](_0x8a35('0x5f'));}fs[_0x8a35('0x60')](_0x184bef);logger[_0x8a35('0x61')](_0x8a35('0x62'));logger[_0x8a35('0x61')]('Temporary\x20file\x20removed');});});}return null;})['catch'](handleError(_0x300dbd,null));};exports[_0x8a35('0x63')]=function(_0x2b542c,_0x1a63c8,_0x50bcc3){var _0x58e7a1=path[_0x8a35('0x51')](_0x2b542c[_0x8a35('0x64')]['filename'],path[_0x8a35('0x65')](_0x2b542c['file']['filename']));var _0x5a5092=path[_0x8a35('0x59')](config[_0x8a35('0x5a')],_0x8a35('0x4e'),_0x2b542c['file'][_0x8a35('0x66')]);var _0x51f6b4=path[_0x8a35('0x59')](config[_0x8a35('0x5a')],_0x8a35('0x4e'),_0x58e7a1);logger[_0x8a35('0x61')]('Plugin\x20upload\x20filepath:\x20%s',_0x5a5092);logger[_0x8a35('0x61')](_0x8a35('0x67'),_0x51f6b4);try{fs['chmodSync'](_0x5a5092,parseInt(_0x8a35('0x68'),0x8));extract(_0x5a5092,{'dir':_0x51f6b4},function(_0x1ce37a){if(_0x1ce37a){logger[_0x8a35('0x2e')](_0x1ce37a);handleError(_0x1ce37a,!![]);};var _0x1e5c7c=fs[_0x8a35('0x69')](_0x51f6b4);if(_0x1e5c7c['length']>0x1){removeReferences(_0x5a5092,_0x51f6b4);logger['error']('Invalid\x20plugin\x20structure');return _0x50bcc3(new Error(_0x8a35('0x6a')));}var _0x201bea=fs[_0x8a35('0x6b')](path['join'](_0x51f6b4,_0x1e5c7c[0x0]));if(_0x201bea[_0x8a35('0x6c')]()){removeReferences(_0x5a5092,_0x51f6b4);logger[_0x8a35('0x2e')](_0x8a35('0x6a'));return _0x50bcc3(new Error(_0x8a35('0x6a')));}if(_0x201bea[_0x8a35('0x6d')]()){var _0x1a039c=fs[_0x8a35('0x69')](path[_0x8a35('0x59')](_0x51f6b4,_0x1e5c7c[0x0]));if(_0x1a039c['length']===0x0){removeReferences(_0x5a5092,_0x51f6b4);logger[_0x8a35('0x2e')](_0x8a35('0x6a'));return _0x50bcc3(new Error(_0x8a35('0x6a')));}var _0x1d3355=_0x1a039c[_0x8a35('0x6e')](function(_0x254857){return _0x254857===_0x8a35('0x6f');});if(!_0x1d3355){return _0x50bcc3(new Error(_0x8a35('0x70')));}var _0x31caa4=fs[_0x8a35('0x71')](path['join'](_0x51f6b4,_0x1e5c7c[0x0],_0x8a35('0x6f')));var _0x5c48f4=JSON[_0x8a35('0x72')](_0x31caa4);if('undefined'==typeof _0x5c48f4['name']){return _0x50bcc3(new Error(_0x8a35('0x73')));}if('undefined'==typeof _0x5c48f4[_0x8a35('0x34')]){return _0x50bcc3(new Error(_0x8a35('0x74')));}if(_0x8a35('0x22')==typeof _0x5c48f4[_0x8a35('0x75')]){return _0x50bcc3(new Error(_0x8a35('0x76')));}if(_0x8a35('0x22')==typeof _0x5c48f4['parameters']){return _0x50bcc3(new Error(_0x8a35('0x77')));}if(_0x5c48f4['type']===_0x8a35('0x78')){if(_0x8a35('0x22')==typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')]){return _0x50bcc3(new Error(_0x8a35('0x7b')));}if('undefined'==typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')][_0x8a35('0x7c')]&&_0x8a35('0x22')==typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')][_0x8a35('0x7d')]){return _0x50bcc3(new Error('Invalid\x20manifest:\x20no\x20view\x20specified'));}}else if(_0x5c48f4[_0x8a35('0x34')]==='script'){if('undefined'==typeof _0x5c48f4[_0x8a35('0x79')]['scriptName']){return _0x50bcc3(new Error(_0x8a35('0x7e')));}if(_0x8a35('0x22')==typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7f')]){return _0x50bcc3(new Error(_0x8a35('0x80')));}}else{return _0x50bcc3(new Error(_0x8a35('0x81')));}var _0x4375f6=_0x5c48f4[_0x8a35('0x30')];var _0x2a58da=_0x5c48f4['description'];var _0x18ea4a=_0x5c48f4[_0x8a35('0x34')];var _0x5f0aab=_0x5c48f4[_0x8a35('0x82')]?_0x5c48f4[_0x8a35('0x82')]:_0x8a35('0x83');var _0x4ad80e=_0x5c48f4[_0x8a35('0x84')]?_0x5c48f4['icon']:'icon-apps';var _0x45408='';var _0x163a46='';var _0x58356b='';var _0x280e13='';var _0x5de741=_0x5c48f4[_0x8a35('0x75')];if(_0x18ea4a===_0x8a35('0x78')){if(_0x8a35('0x22')!=typeof _0x5c48f4[_0x8a35('0x79')]['views']['admin']){var _0x264a38=_0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')][_0x8a35('0x7c')];if(!/^(f|ht)tps?:\/\//i['test'](_0x264a38)){_0x45408=path[_0x8a35('0x59')](_0x8a35('0x85'),_0x58e7a1,_0x1e5c7c[0x0],_0x264a38);}else{_0x45408=_0x264a38;}}else{logger[_0x8a35('0x61')](_0x8a35('0x86'));}if(_0x8a35('0x22')!=typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')]['agent']){var _0x11f5ed=_0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')][_0x8a35('0x7d')];if(!/^(f|ht)tps?:\/\//i[_0x8a35('0x87')](_0x11f5ed)){_0x163a46=path[_0x8a35('0x59')](_0x8a35('0x85'),_0x58e7a1,_0x1e5c7c[0x0],_0x11f5ed);}else{_0x163a46=_0x11f5ed;}}else{logger[_0x8a35('0x61')](_0x8a35('0x88'));}}else if(_0x18ea4a===_0x8a35('0x89')){_0x58356b=_0x5c48f4['parameters']['scriptName'];_0x280e13=_0x5c48f4[_0x8a35('0x79')]['scriptPath'];if('undefined'!=typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')]){if(_0x8a35('0x22')!=typeof _0x5c48f4[_0x8a35('0x79')]['views'][_0x8a35('0x7c')]){var _0x264a38=_0x5c48f4['parameters']['views'][_0x8a35('0x7c')];if(!/^(f|ht)tps?:\/\//i['test'](_0x264a38)){_0x45408=path['join']('plugins',_0x58e7a1,_0x1e5c7c[0x0],_0x264a38);}else{_0x45408=_0x264a38;}}if(_0x8a35('0x22')!=typeof _0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')][_0x8a35('0x7d')]){var _0x11f5ed=_0x5c48f4[_0x8a35('0x79')][_0x8a35('0x7a')][_0x8a35('0x7d')];if(!/^(f|ht)tps?:\/\//i[_0x8a35('0x87')](_0x11f5ed)){_0x163a46=path[_0x8a35('0x59')]('plugins',_0x58e7a1,_0x1e5c7c[0x0],_0x11f5ed);}else{_0x163a46=_0x11f5ed;}}}}var _0x99f2bf={'name':_0x4375f6,'description':_0x2a58da,'path':path[_0x8a35('0x59')](_0x58e7a1,_0x1e5c7c[0x0]),'type':_0x18ea4a,'sidebar':_0x5f0aab,'icon':_0x4ad80e,'adminUrl':_0x45408,'agentUrl':_0x163a46,'scriptName':_0x58356b,'scriptPath':_0x280e13,'version':_0x5de741};removeReferences(_0x5a5092,null);return db['Plugin'][_0x8a35('0x8a')](_0x99f2bf)[_0x8a35('0x29')](function(_0x88609){var _0x4146b9={'role':_0x2b542c[_0x8a35('0x8b')][_0x8a35('0x8c')],'userProfileId':_0x2b542c[_0x8a35('0x8b')]['userProfileId']};if(!_0x4146b9)throw new Error(_0x8a35('0x8d'));if(_0x4146b9[_0x8a35('0x8c')]===_0x8a35('0x8e')){var _0x2db702=_0x88609['get']({'plain':!![]});return db['UserProfileSection'][_0x8a35('0x4b')]({'where':{'name':'Plugins','userProfileId':_0x4146b9['userProfileId']},'raw':!![]})['then'](function(_0x421f6a){if(_0x421f6a&&_0x421f6a[_0x8a35('0x8f')]===0x0){return db['UserProfileResource']['create']({'name':_0x2db702[_0x8a35('0x30')],'resourceId':_0x2db702['id'],'type':_0x421f6a[_0x8a35('0x30')],'sectionId':_0x421f6a['id']},{})[_0x8a35('0x29')](function(){return _0x88609;});}else{return _0x88609;}})['catch'](function(_0x31ecb9){logger[_0x8a35('0x2e')](_0x8a35('0x90'),_0x31ecb9);throw _0x31ecb9;});}return _0x88609;})[_0x8a35('0x29')](respondWithResult(_0x1a63c8,null))['catch'](handleError(_0x1a63c8,null));}});}catch(_0x3313d5){_0x1a63c8[_0x8a35('0x1e')](0x1f4)[_0x8a35('0x91')](_0x3313d5);}};function removeReferences(_0x53bffb,_0x4e9d07){try{if(_0x53bffb){fs[_0x8a35('0x60')](_0x53bffb);logger['info'](_0x8a35('0x92'));}if(_0x4e9d07){rimraf(_0x4e9d07,function(){});logger[_0x8a35('0x61')]('Extracted\x20folder\x20removed');}}catch(_0x2d8a98){logger[_0x8a35('0x2e')](_0x2d8a98);}}exports[_0x8a35('0x28')]=function(_0x137a38,_0x4a9a06,_0x2af984){return db[_0x8a35('0x32')][_0x8a35('0x4b')]({'where':{'id':_0x137a38[_0x8a35('0x48')]['id']}})['then'](handleEntityNotFound(_0x4a9a06,null))[_0x8a35('0x29')](saveUpdates(_0x137a38[_0x8a35('0x8b')],null))['then'](respondWithResult(_0x4a9a06,null))[_0x8a35('0x46')](handleError(_0x4a9a06,null));};exports['delete']=function(_0x1a77e1,_0x443476,_0x5a59e3){return db[_0x8a35('0x32')][_0x8a35('0x4b')]({'where':{'id':_0x1a77e1[_0x8a35('0x48')]['id']}})[_0x8a35('0x29')](function(_0x51f770){if(_0x51f770){return _0x51f770[_0x8a35('0x2a')]();}})['then'](function(_0x10a7ad){rimraf(path[_0x8a35('0x59')](config['root'],_0x8a35('0x4e'),path[_0x8a35('0x5b')](_0x10a7ad[_0x8a35('0x4d')])),function(){});return _0x10a7ad;})['then'](handleEntityNotFound(_0x443476,null))[_0x8a35('0x29')](respondWithStatusCode(_0x443476,null))[_0x8a35('0x46')](handleError(_0x443476,null));};exports[_0x8a35('0x93')]=function(_0x137e55,_0x57711e,_0xc1d9ad){return BPromise[_0x8a35('0x94')]()[_0x8a35('0x29')](function(){if(!_0x137e55[_0x8a35('0x35')][_0x8a35('0x4d')]){throw new Error(_0x8a35('0x95'));}if(!_0x137e55['query'][_0x8a35('0x96')]){throw new Error(_0x8a35('0x97'));}var _0x1e028e=_0x137e55[_0x8a35('0x35')][_0x8a35('0x98')]?_0x137e55[_0x8a35('0x35')][_0x8a35('0x98')]+':'+_0x137e55[_0x8a35('0x35')][_0x8a35('0x96')]:_0x8a35('0x99')+_0x137e55['query'][_0x8a35('0x96')];var _0x39d4b2=_0x137e55['query'][_0x8a35('0x20')]?_0x137e55[_0x8a35('0x35')][_0x8a35('0x20')]:!![];var _0x53547f=_0x137e55[_0x8a35('0x35')][_0x8a35('0x9a')]?_0x137e55[_0x8a35('0x35')][_0x8a35('0x9a')]:null;var _0x375743={'method':_0x137e55[_0x8a35('0x9b')],'uri':util[_0x8a35('0x4f')]('%s%s',_0x1e028e,_0x137e55[_0x8a35('0x35')][_0x8a35('0x4d')]),'json':_0x39d4b2,'resolveWithFullResponse':!![],'encoding':_0x53547f,'qs':_0x137e55['query']};if(_0x137e55[_0x8a35('0x9c')]){_0x375743['headers']=_0x137e55[_0x8a35('0x9c')];if(_0x375743[_0x8a35('0x9c')][_0x8a35('0x9d')]){delete _0x375743[_0x8a35('0x9c')][_0x8a35('0x9d')];}}if(_0x375743[_0x8a35('0x9c')]['content-type']){delete _0x375743[_0x8a35('0x9c')]['content-type'];}return rp(_0x375743);})['then'](function(_0x5cd11c){if(_0x5cd11c){_0x57711e[_0x8a35('0x25')](_0x5cd11c[_0x8a35('0x9c')]);logger[_0x8a35('0x61')](_0x5cd11c['body']);if(_[_0x8a35('0x9e')](_0x137e55[_0x8a35('0x35')][_0x8a35('0x4d')],_0x8a35('0x4c'))&&_0x5cd11c[_0x8a35('0x9f')]==0x1f4){return _0x57711e[_0x8a35('0x1d')](_0x5cd11c[_0x8a35('0x9f')]);}else{return _0x57711e[_0x8a35('0x1e')](_0x5cd11c[_0x8a35('0x9f')])[_0x8a35('0x91')](_0x5cd11c['body']);}}else{return _0x57711e[_0x8a35('0x1d')](0xc8);}})[_0x8a35('0x46')](handleError(_0x57711e,null));};exports[_0x8a35('0xa0')]=function(_0x31f428,_0x458dd2,_0x3a5812){return BPromise[_0x8a35('0x94')]()['then'](function(){if(!_0x31f428['query'][_0x8a35('0x4d')]){throw new Error(_0x8a35('0x95'));}if(!_0x31f428['query'][_0x8a35('0x96')]){throw new Error(_0x8a35('0x97'));}var _0x1a5bbb=_0x31f428[_0x8a35('0x35')]['hostname']?_0x31f428['query'][_0x8a35('0x98')]+':'+_0x31f428[_0x8a35('0x35')][_0x8a35('0x96')]:_0x8a35('0x99')+_0x31f428[_0x8a35('0x35')][_0x8a35('0x96')];var _0x5ed265=_0x31f428['query'][_0x8a35('0x20')]?_0x31f428[_0x8a35('0x35')]['json']:!![];var _0x3973db=_0x31f428[_0x8a35('0x35')][_0x8a35('0x9a')]?_0x31f428[_0x8a35('0x35')][_0x8a35('0x9a')]:null;var _0x54b80d={'method':_0x31f428['method'],'uri':util[_0x8a35('0x4f')](_0x8a35('0xa1'),_0x1a5bbb,_0x31f428[_0x8a35('0x35')][_0x8a35('0x4d')]),'json':_0x5ed265,'resolveWithFullResponse':!![],'encoding':_0x3973db,'body':_0x31f428[_0x8a35('0x8b')]};if(_0x31f428[_0x8a35('0x9c')]){_0x54b80d['headers']=_0x31f428[_0x8a35('0x9c')];if(_0x54b80d[_0x8a35('0x9c')][_0x8a35('0x9d')]){delete _0x54b80d['headers']['content-length'];}}if(_0x54b80d[_0x8a35('0x9c')][_0x8a35('0xa2')]){delete _0x54b80d[_0x8a35('0x9c')]['content-type'];}return rp(_0x54b80d);})[_0x8a35('0x29')](function(_0x51d2cc){if(_0x51d2cc){_0x458dd2[_0x8a35('0x25')](_0x51d2cc['headers']);logger['info'](_0x51d2cc[_0x8a35('0x8b')]);return _0x458dd2[_0x8a35('0x1e')](_0x51d2cc[_0x8a35('0x9f')])[_0x8a35('0x91')](_0x51d2cc[_0x8a35('0x8b')]);}else{return _0x458dd2[_0x8a35('0x1d')](0xc8);}})[_0x8a35('0x46')](handleError(_0x458dd2,null));};
\ No newline at end of file