Built motion from commit ecb45b58.|2.6.31
[motion2.git] / server / api / plugin / plugin.controller.js
index e4d681c..899d8f0 100644 (file)
@@ -15,4 +15,4 @@
 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                        *
 // *                                                                       *
 // *************************************************************************
-var _0x39ac=['html','parameters','views','script','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','sidebar','always','icon','icon-apps','admin','test','plugins','Warning:\x20admin\x20view\x20not\x20specified','agent','scriptPath','create','body','userProfileId','role','user','UserProfileSection','Plugins','autoAssociation','send','Zip\x20archive\x20removed','Extracted\x20folder\x20removed','update','delete','webhookGet','\x27PATH\x27\x20parameter\x20not\x20specified','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','port','http://localhost:','encoding','method','%s%s','headers','content-length','content-type','endsWith','download','statusCode','resolve','eml-format','rimraf','fast-json-patch','request-promise','util','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','extract-zip','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','status','end','offset','undefined','count','limit','set','json','apply','then','get','UserProfileResource','destroy','sendStatus','error','stack','name','index','Plugin','fieldName','type','key','model','query','filters','fields','attributes','hasOwnProperty','order','sort','where','pick','filter','merge','map','VIRTUAL','include','findAll','rows','catch','params','keys','rawAttributes','intersection','options','find','path','format','%s.zip','createWriteStream','warning','code','ENOENT','Sequelize','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','pipe','glob','**/*','root','dirname','join','basename','node_modules/**/*','finalize','existsSync','Error\x20while\x20downloading\x20the\x20plugin','unlinkSync','Download\x20completed','Temporary\x20file\x20removed','upload','file','filename','extname','server/files/plugins','Plugin\x20upload\x20filepath:\x20%s','info','Plugin\x20upload\x20destination:\x20%s','chmodSync','0777','readdirSync','length','Invalid\x20plugin\x20structure','lstatSync','isDirectory','some','Plugin\x20manifest\x20missing','readFileSync','manifest.json','parse','Invalid\x20manifest:\x20name\x20missing','version'];(function(_0x52f497,_0x132ec4){var _0x280215=function(_0x5b83f9){while(--_0x5b83f9){_0x52f497['push'](_0x52f497['shift']());}};_0x280215(++_0x132ec4);}(_0x39ac,0x16f));var _0xc39a=function(_0x41e722,_0x35f5b4){_0x41e722=_0x41e722-0x0;var _0x2b3647=_0x39ac[_0x41e722];return _0x2b3647;};'use strict';var emlformat=require(_0xc39a('0x0'));var rimraf=require(_0xc39a('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xc39a('0x2'));var rp=require(_0xc39a('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xc39a('0x4'));var path=require('path');var sox=require(_0xc39a('0x5'));var csv=require(_0xc39a('0x6'));var ejs=require(_0xc39a('0x7'));var fs=require('fs');var fs_extra=require(_0xc39a('0x8'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xc39a('0x9'));var jsforce=require(_0xc39a('0xa'));var deskjs=require(_0xc39a('0xb'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var extract=require(_0xc39a('0xc'));var rimraf=require('rimraf');var archiver=require('archiver');var Redis=require(_0xc39a('0xd'));var authService=require('../../components/auth/service');var qs=require(_0xc39a('0xe'));var as=require(_0xc39a('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xc39a('0x10'));var utils=require('../../config/utils');var config=require(_0xc39a('0x11'));var licenseUtil=require(_0xc39a('0x12'));var db=require(_0xc39a('0x13'))['db'];config[_0xc39a('0x14')]=_['defaults'](config[_0xc39a('0x14')],{'host':_0xc39a('0x15'),'port':0x18eb});var socket=require(_0xc39a('0x16'))(new Redis(config['redis']));require('./plugin.socket')[_0xc39a('0x17')](socket);function respondWithStatusCode(_0x3f272e,_0x3c00ee){_0x3c00ee=_0x3c00ee||0xcc;return function(_0x2fca40){if(_0x2fca40){return _0x3f272e['sendStatus'](_0x3c00ee);}return _0x3f272e[_0xc39a('0x18')](_0x3c00ee)[_0xc39a('0x19')]();};}function respondWithResult(_0x4cb638,_0x25ed73){_0x25ed73=_0x25ed73||0xc8;return function(_0x3ab6f2){if(_0x3ab6f2){return _0x4cb638[_0xc39a('0x18')](_0x25ed73)['json'](_0x3ab6f2);}};}function respondWithFilteredResult(_0x275d01,_0x337996){return function(_0x136129){if(_0x136129){var _0x27b18a=typeof _0x337996[_0xc39a('0x1a')]===_0xc39a('0x1b')&&typeof _0x337996['limit']===_0xc39a('0x1b');var _0x23e8d7=_0x136129[_0xc39a('0x1c')];var _0x56c157=_0x27b18a?0x0:_0x337996[_0xc39a('0x1a')];var _0x3ae0b9=_0x27b18a?_0x136129[_0xc39a('0x1c')]:_0x337996['offset']+_0x337996[_0xc39a('0x1d')];var _0xe76287;if(_0x3ae0b9>=_0x23e8d7){_0x3ae0b9=_0x23e8d7;_0xe76287=0xc8;}else{_0xe76287=0xce;}_0x275d01[_0xc39a('0x18')](_0xe76287);return _0x275d01[_0xc39a('0x1e')]('Content-Range',_0x56c157+'-'+_0x3ae0b9+'/'+_0x23e8d7)[_0xc39a('0x1f')](_0x136129);}return null;};}function patchUpdates(_0xa5f289){return function(_0x281b76){try{jsonpatch[_0xc39a('0x20')](_0x281b76,_0xa5f289,!![]);}catch(_0x402470){return BPromise['reject'](_0x402470);}return _0x281b76['save']();};}function saveUpdates(_0x14954c,_0x5f2cfc){return function(_0x4d700){if(_0x4d700){return _0x4d700['update'](_0x14954c)[_0xc39a('0x21')](function(_0x16d0ad){return _0x16d0ad;});}return null;};}function removeEntity(_0x34490b,_0x65c6ea){return function(_0x312ea7){if(_0x312ea7){return _0x312ea7['destroy']()[_0xc39a('0x21')](function(){var _0x70f3ff=_0x312ea7[_0xc39a('0x22')]({'plain':!![]});var _0x52dd53='Plugins';return db[_0xc39a('0x23')][_0xc39a('0x24')]({'where':{'type':_0x52dd53,'resourceId':_0x70f3ff['id']}})[_0xc39a('0x21')](function(){return _0x312ea7;});})[_0xc39a('0x21')](function(){_0x34490b[_0xc39a('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x319c18,_0x3aa08a){return function(_0x44c530){if(!_0x44c530){_0x319c18[_0xc39a('0x25')](0x194);}return _0x44c530;};}function handleError(_0x4508b0,_0x2b3bdd){_0x2b3bdd=_0x2b3bdd||0x1f4;return function(_0x9ad171){logger[_0xc39a('0x26')](_0x9ad171[_0xc39a('0x27')]);if(_0x9ad171[_0xc39a('0x28')]){delete _0x9ad171[_0xc39a('0x28')];}_0x4508b0[_0xc39a('0x18')](_0x2b3bdd)['send'](_0x9ad171);};}exports[_0xc39a('0x29')]=function(_0x5f1b60,_0xc110be){var _0x27a60d={},_0xdcdf37={},_0x5295e5={'count':0x0,'rows':[]};var _0x2391fb=_['map'](db[_0xc39a('0x2a')]['rawAttributes'],function(_0x41588e){return{'name':_0x41588e[_0xc39a('0x2b')],'type':_0x41588e[_0xc39a('0x2c')][_0xc39a('0x2d')]};});_0xdcdf37[_0xc39a('0x2e')]=_['map'](_0x2391fb,_0xc39a('0x28'));_0xdcdf37[_0xc39a('0x2f')]=_['keys'](_0x5f1b60['query']);_0xdcdf37[_0xc39a('0x30')]=_['intersection'](_0xdcdf37[_0xc39a('0x2e')],_0xdcdf37[_0xc39a('0x2f')]);_0x27a60d['attributes']=_['intersection'](_0xdcdf37['model'],qs[_0xc39a('0x31')](_0x5f1b60['query']['fields']));_0x27a60d['attributes']=_0x27a60d['attributes']['length']?_0x27a60d[_0xc39a('0x32')]:_0xdcdf37[_0xc39a('0x2e')];if(!_0x5f1b60[_0xc39a('0x2f')][_0xc39a('0x33')]('nolimit')){_0x27a60d[_0xc39a('0x1d')]=qs['limit'](_0x5f1b60['query'][_0xc39a('0x1d')]);_0x27a60d['offset']=qs[_0xc39a('0x1a')](_0x5f1b60[_0xc39a('0x2f')]['offset']);}_0x27a60d[_0xc39a('0x34')]=qs[_0xc39a('0x35')](_0x5f1b60[_0xc39a('0x2f')][_0xc39a('0x35')]);_0x27a60d[_0xc39a('0x36')]=qs['filters'](_[_0xc39a('0x37')](_0x5f1b60[_0xc39a('0x2f')],_0xdcdf37['filters']),_0x2391fb);if(_0x5f1b60[_0xc39a('0x2f')][_0xc39a('0x38')]){_0x27a60d[_0xc39a('0x36')]=_[_0xc39a('0x39')](_0x27a60d['where'],{'$or':_[_0xc39a('0x3a')](_0x2391fb,function(_0x5e74c1){if(_0x5e74c1[_0xc39a('0x2c')]!==_0xc39a('0x3b')){var _0xf56151={};_0xf56151[_0x5e74c1['name']]={'$like':'%'+_0x5f1b60[_0xc39a('0x2f')][_0xc39a('0x38')]+'%'};return _0xf56151;}})});}_0x27a60d=_[_0xc39a('0x39')]({},_0x27a60d,_0x5f1b60['options']);var _0x4440ca={'where':_0x27a60d[_0xc39a('0x36')]};return db['Plugin'][_0xc39a('0x1c')](_0x4440ca)[_0xc39a('0x21')](function(_0x2e66d1){_0x5295e5[_0xc39a('0x1c')]=_0x2e66d1;if(_0x5f1b60[_0xc39a('0x2f')]['includeAll']){_0x27a60d[_0xc39a('0x3c')]=[{'all':!![]}];}return db[_0xc39a('0x2a')][_0xc39a('0x3d')](_0x27a60d);})[_0xc39a('0x21')](function(_0x3fed5c){_0x5295e5[_0xc39a('0x3e')]=_0x3fed5c;return _0x5295e5;})[_0xc39a('0x21')](respondWithFilteredResult(_0xc110be,_0x27a60d))[_0xc39a('0x3f')](handleError(_0xc110be,null));};exports['show']=function(_0x1e22b6,_0xe307d3){var _0x384282={'raw':!![],'where':{'id':_0x1e22b6[_0xc39a('0x40')]['id']}},_0x1ac62e={};_0x1ac62e[_0xc39a('0x2e')]=_[_0xc39a('0x41')](db[_0xc39a('0x2a')][_0xc39a('0x42')]);_0x1ac62e[_0xc39a('0x2f')]=_[_0xc39a('0x41')](_0x1e22b6[_0xc39a('0x2f')]);_0x1ac62e[_0xc39a('0x30')]=_[_0xc39a('0x43')](_0x1ac62e[_0xc39a('0x2e')],_0x1ac62e['query']);_0x384282[_0xc39a('0x32')]=_['intersection'](_0x1ac62e[_0xc39a('0x2e')],qs[_0xc39a('0x31')](_0x1e22b6[_0xc39a('0x2f')][_0xc39a('0x31')]));_0x384282[_0xc39a('0x32')]=_0x384282[_0xc39a('0x32')]['length']?_0x384282[_0xc39a('0x32')]:_0x1ac62e['model'];if(_0x1e22b6['query']['includeAll']){_0x384282[_0xc39a('0x3c')]=[{'all':!![]}];}_0x384282=_[_0xc39a('0x39')]({},_0x384282,_0x1e22b6[_0xc39a('0x44')]);return db['Plugin'][_0xc39a('0x45')](_0x384282)[_0xc39a('0x21')](handleEntityNotFound(_0xe307d3,null))[_0xc39a('0x21')](respondWithResult(_0xe307d3,null))[_0xc39a('0x3f')](handleError(_0xe307d3,null));};exports['download']=function(_0x280a56,_0x390cb0,_0x200f56){return db[_0xc39a('0x2a')][_0xc39a('0x45')]({'where':{'id':_0x280a56['params']['id']},'attributes':[_0xc39a('0x28'),_0xc39a('0x46')],'raw':!![]})['then'](handleEntityNotFound(_0x390cb0,null))[_0xc39a('0x21')](function(_0x2ed405){if(_0x2ed405){var _0xf3e5d2=path['join'](config['root'],'server/files/plugins',util[_0xc39a('0x47')](_0xc39a('0x48'),path['basename'](_0x2ed405[_0xc39a('0x46')])));var _0x5f0af5=fs[_0xc39a('0x49')](_0xf3e5d2);var _0x20cc5b=archiver('zip',{'zlib':{'level':0x9}});_0x20cc5b['on'](_0xc39a('0x4a'),function(_0x5176f6){if(_0x5176f6[_0xc39a('0x4b')]===_0xc39a('0x4c')){logger[_0xc39a('0x26')](_0x5176f6);}else{throw new db[(_0xc39a('0x4d'))][(_0xc39a('0x4e'))]('Error\x20while\x20generating\x20the\x20zip\x20archive');}});_0x20cc5b['on'](_0xc39a('0x26'),function(_0x1ebd35){throw new db[(_0xc39a('0x4d'))][(_0xc39a('0x4e'))](_0xc39a('0x4f'));});_0x20cc5b[_0xc39a('0x50')](_0x5f0af5);_0x20cc5b[_0xc39a('0x51')](_0xc39a('0x52'),{'cwd':path['join'](config[_0xc39a('0x53')],'server/files/plugins',path[_0xc39a('0x54')](_0x2ed405[_0xc39a('0x46')])),'ignore':[path[_0xc39a('0x55')](path[_0xc39a('0x56')](_0x2ed405[_0xc39a('0x46')]),_0xc39a('0x57')),path[_0xc39a('0x55')](path[_0xc39a('0x56')](_0x2ed405[_0xc39a('0x46')]),'attachments/**/*')],'nodir':!![]})[_0xc39a('0x58')]();_0x5f0af5['on']('close',function(){if(!fs[_0xc39a('0x59')](_0xf3e5d2)){throw new db[(_0xc39a('0x4d'))][(_0xc39a('0x4e'))]('Plugin\x20not\x20found');}return _0x390cb0['download'](_0xf3e5d2,util[_0xc39a('0x47')]('%s.zip',path['basename'](_0x2ed405[_0xc39a('0x46')])),function(_0x2019e1){if(_0x2019e1){throw new db[(_0xc39a('0x4d'))]['Error'](_0xc39a('0x5a'));}fs[_0xc39a('0x5b')](_0xf3e5d2);logger['info'](_0xc39a('0x5c'));logger['info'](_0xc39a('0x5d'));});});}return null;})['catch'](handleError(_0x390cb0,null));};exports[_0xc39a('0x5e')]=function(_0x40b0fe,_0x5b9468,_0x21f8e6){var _0x236918=path[_0xc39a('0x56')](_0x40b0fe[_0xc39a('0x5f')][_0xc39a('0x60')],path[_0xc39a('0x61')](_0x40b0fe[_0xc39a('0x5f')][_0xc39a('0x60')]));var _0x31d684=path[_0xc39a('0x55')](config['root'],_0xc39a('0x62'),_0x40b0fe[_0xc39a('0x5f')]['filename']);var _0x187c5c=path[_0xc39a('0x55')](config[_0xc39a('0x53')],'server/files/plugins',_0x236918);logger['info'](_0xc39a('0x63'),_0x31d684);logger[_0xc39a('0x64')](_0xc39a('0x65'),_0x187c5c);try{fs[_0xc39a('0x66')](_0x31d684,parseInt(_0xc39a('0x67'),0x8));extract(_0x31d684,{'dir':_0x187c5c},function(_0x195aa1){if(_0x195aa1){logger['error'](_0x195aa1);handleError(_0x195aa1,!![]);};var _0x28ade1=fs[_0xc39a('0x68')](_0x187c5c);if(_0x28ade1[_0xc39a('0x69')]>0x1){removeReferences(_0x31d684,_0x187c5c);logger['error']('Invalid\x20plugin\x20structure');return _0x21f8e6(new Error(_0xc39a('0x6a')));}var _0x26c3ed=fs[_0xc39a('0x6b')](path['join'](_0x187c5c,_0x28ade1[0x0]));if(_0x26c3ed['isFile']()){removeReferences(_0x31d684,_0x187c5c);logger[_0xc39a('0x26')](_0xc39a('0x6a'));return _0x21f8e6(new Error(_0xc39a('0x6a')));}if(_0x26c3ed[_0xc39a('0x6c')]()){var _0x242058=fs['readdirSync'](path[_0xc39a('0x55')](_0x187c5c,_0x28ade1[0x0]));if(_0x242058[_0xc39a('0x69')]===0x0){removeReferences(_0x31d684,_0x187c5c);logger[_0xc39a('0x26')]('Invalid\x20plugin\x20structure');return _0x21f8e6(new Error(_0xc39a('0x6a')));}var _0x9db1d0=_0x242058[_0xc39a('0x6d')](function(_0x24de46){return _0x24de46==='manifest.json';});if(!_0x9db1d0){return _0x21f8e6(new Error(_0xc39a('0x6e')));}var _0x31309a=fs[_0xc39a('0x6f')](path[_0xc39a('0x55')](_0x187c5c,_0x28ade1[0x0],_0xc39a('0x70')));var _0x45719f=JSON[_0xc39a('0x71')](_0x31309a);if(_0xc39a('0x1b')==typeof _0x45719f[_0xc39a('0x28')]){return _0x21f8e6(new Error(_0xc39a('0x72')));}if(_0xc39a('0x1b')==typeof _0x45719f['type']){return _0x21f8e6(new Error('Invalid\x20manifest:\x20type\x20missing'));}if(_0xc39a('0x1b')==typeof _0x45719f[_0xc39a('0x73')]){return _0x21f8e6(new Error('Invalid\x20manifest:\x20version\x20not\x20specified'));}if('undefined'==typeof _0x45719f['parameters']){return _0x21f8e6(new Error('Invalid\x20manifest:\x20parameters\x20missing'));}if(_0x45719f[_0xc39a('0x2c')]===_0xc39a('0x74')){if('undefined'==typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x76')]){return _0x21f8e6(new Error('Invalid\x20manifest:\x20views\x20missing'));}if(_0xc39a('0x1b')==typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x76')]['admin']&&'undefined'==typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x76')]['agent']){return _0x21f8e6(new Error('Invalid\x20manifest:\x20no\x20view\x20specified'));}}else if(_0x45719f['type']===_0xc39a('0x77')){if(_0xc39a('0x1b')==typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x78')]){return _0x21f8e6(new Error(_0xc39a('0x79')));}if(_0xc39a('0x1b')==typeof _0x45719f[_0xc39a('0x75')]['scriptPath']){return _0x21f8e6(new Error('Invalid\x20manifest:\x20script\x20path\x20missing'));}}else{return _0x21f8e6(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0xc6076a=_0x45719f[_0xc39a('0x28')];var _0x5094ef=_0x45719f['description'];var _0xe9b69f=_0x45719f[_0xc39a('0x2c')];var _0x60849c=_0x45719f[_0xc39a('0x7a')]?_0x45719f['sidebar']:_0xc39a('0x7b');var _0x4d68c1=_0x45719f[_0xc39a('0x7c')]?_0x45719f['icon']:_0xc39a('0x7d');var _0x2c4723='';var _0x5b7eb8='';var _0x5dabca='';var _0x25d8eb='';var _0x393e9f=_0x45719f[_0xc39a('0x73')];if(_0xe9b69f===_0xc39a('0x74')){if(_0xc39a('0x1b')!=typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x76')][_0xc39a('0x7e')]){var _0x374fa7=_0x45719f[_0xc39a('0x75')]['views'][_0xc39a('0x7e')];if(!/^(f|ht)tps?:\/\//i[_0xc39a('0x7f')](_0x374fa7)){_0x2c4723=path[_0xc39a('0x55')](_0xc39a('0x80'),_0x236918,_0x28ade1[0x0],_0x374fa7);}else{_0x2c4723=_0x374fa7;}}else{logger[_0xc39a('0x64')](_0xc39a('0x81'));}if(_0xc39a('0x1b')!=typeof _0x45719f[_0xc39a('0x75')]['views']['agent']){var _0xed2ae1=_0x45719f[_0xc39a('0x75')][_0xc39a('0x76')][_0xc39a('0x82')];if(!/^(f|ht)tps?:\/\//i[_0xc39a('0x7f')](_0xed2ae1)){_0x5b7eb8=path['join'](_0xc39a('0x80'),_0x236918,_0x28ade1[0x0],_0xed2ae1);}else{_0x5b7eb8=_0xed2ae1;}}else{logger[_0xc39a('0x64')]('Warning:\x20agent\x20view\x20not\x20specified');}}else if(_0xe9b69f===_0xc39a('0x77')){_0x5dabca=_0x45719f[_0xc39a('0x75')]['scriptName'];_0x25d8eb=_0x45719f['parameters'][_0xc39a('0x83')];if(_0xc39a('0x1b')!=typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x76')]){if(_0xc39a('0x1b')!=typeof _0x45719f[_0xc39a('0x75')][_0xc39a('0x76')][_0xc39a('0x7e')]){var _0x374fa7=_0x45719f[_0xc39a('0x75')]['views']['admin'];if(!/^(f|ht)tps?:\/\//i[_0xc39a('0x7f')](_0x374fa7)){_0x2c4723=path[_0xc39a('0x55')](_0xc39a('0x80'),_0x236918,_0x28ade1[0x0],_0x374fa7);}else{_0x2c4723=_0x374fa7;}}if(_0xc39a('0x1b')!=typeof _0x45719f[_0xc39a('0x75')]['views'][_0xc39a('0x82')]){var _0xed2ae1=_0x45719f[_0xc39a('0x75')]['views'][_0xc39a('0x82')];if(!/^(f|ht)tps?:\/\//i['test'](_0xed2ae1)){_0x5b7eb8=path[_0xc39a('0x55')](_0xc39a('0x80'),_0x236918,_0x28ade1[0x0],_0xed2ae1);}else{_0x5b7eb8=_0xed2ae1;}}}}var _0x4a0d30={'name':_0xc6076a,'description':_0x5094ef,'path':path[_0xc39a('0x55')](_0x236918,_0x28ade1[0x0]),'type':_0xe9b69f,'sidebar':_0x60849c,'icon':_0x4d68c1,'adminUrl':_0x2c4723,'agentUrl':_0x5b7eb8,'scriptName':_0x5dabca,'scriptPath':_0x25d8eb,'version':_0x393e9f};removeReferences(_0x31d684,null);return db[_0xc39a('0x2a')][_0xc39a('0x84')](_0x4a0d30)['then'](function(_0x2b5583){var _0x4518dc={'role':_0x40b0fe[_0xc39a('0x85')]['role'],'userProfileId':_0x40b0fe[_0xc39a('0x85')][_0xc39a('0x86')]};if(!_0x4518dc)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x4518dc[_0xc39a('0x87')]===_0xc39a('0x88')){var _0x12e028=_0x2b5583['get']({'plain':!![]});return db[_0xc39a('0x89')][_0xc39a('0x45')]({'where':{'name':_0xc39a('0x8a'),'userProfileId':_0x4518dc[_0xc39a('0x86')]},'raw':!![]})[_0xc39a('0x21')](function(_0x4d6650){if(_0x4d6650&&_0x4d6650[_0xc39a('0x8b')]===0x0){return db[_0xc39a('0x23')][_0xc39a('0x84')]({'name':_0x12e028[_0xc39a('0x28')],'resourceId':_0x12e028['id'],'type':_0x4d6650[_0xc39a('0x28')],'sectionId':_0x4d6650['id']},{})[_0xc39a('0x21')](function(){return _0x2b5583;});}else{return _0x2b5583;}})[_0xc39a('0x3f')](function(_0x339997){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x339997);throw _0x339997;});}return _0x2b5583;})[_0xc39a('0x21')](respondWithResult(_0x5b9468,null))[_0xc39a('0x3f')](handleError(_0x5b9468,null));}});}catch(_0x5ad6fd){_0x5b9468[_0xc39a('0x18')](0x1f4)[_0xc39a('0x8c')](_0x5ad6fd);}};function removeReferences(_0x5369ab,_0x34b607){try{if(_0x5369ab){fs[_0xc39a('0x5b')](_0x5369ab);logger[_0xc39a('0x64')](_0xc39a('0x8d'));}if(_0x34b607){rimraf(_0x34b607,function(){});logger[_0xc39a('0x64')](_0xc39a('0x8e'));}}catch(_0x299344){logger[_0xc39a('0x26')](_0x299344);}}exports[_0xc39a('0x8f')]=function(_0x3f620c,_0x6d3699,_0x2ca4a2){return db[_0xc39a('0x2a')]['find']({'where':{'id':_0x3f620c[_0xc39a('0x40')]['id']}})[_0xc39a('0x21')](handleEntityNotFound(_0x6d3699,null))[_0xc39a('0x21')](saveUpdates(_0x3f620c[_0xc39a('0x85')],null))[_0xc39a('0x21')](respondWithResult(_0x6d3699,null))[_0xc39a('0x3f')](handleError(_0x6d3699,null));};exports[_0xc39a('0x90')]=function(_0x59aa8a,_0x44946f,_0x133189){return db[_0xc39a('0x2a')][_0xc39a('0x45')]({'where':{'id':_0x59aa8a[_0xc39a('0x40')]['id']}})['then'](function(_0xaa3639){if(_0xaa3639){return _0xaa3639[_0xc39a('0x24')]();}})[_0xc39a('0x21')](function(_0x28c61b){rimraf(path[_0xc39a('0x55')](config[_0xc39a('0x53')],_0xc39a('0x62'),path[_0xc39a('0x54')](_0x28c61b['path'])),function(){});return _0x28c61b;})['then'](handleEntityNotFound(_0x44946f,null))[_0xc39a('0x21')](respondWithStatusCode(_0x44946f,null))[_0xc39a('0x3f')](handleError(_0x44946f,null));};exports[_0xc39a('0x91')]=function(_0x352d3d,_0x32c520,_0x2c4617){return BPromise['resolve']()[_0xc39a('0x21')](function(){if(!_0x352d3d[_0xc39a('0x2f')][_0xc39a('0x46')]){throw new Error(_0xc39a('0x92'));}if(!_0x352d3d['query']['port']){throw new Error(_0xc39a('0x93'));}var _0x4b395e=_0x352d3d['query'][_0xc39a('0x94')]?_0x352d3d['query'][_0xc39a('0x94')]+':'+_0x352d3d[_0xc39a('0x2f')][_0xc39a('0x95')]:_0xc39a('0x96')+_0x352d3d[_0xc39a('0x2f')][_0xc39a('0x95')];var _0x4d5dd5=_0x352d3d['query'][_0xc39a('0x1f')]?_0x352d3d[_0xc39a('0x2f')][_0xc39a('0x1f')]:!![];var _0x129d23=_0x352d3d[_0xc39a('0x2f')][_0xc39a('0x97')]?_0x352d3d['query']['encoding']:null;var _0xa65c79={'method':_0x352d3d[_0xc39a('0x98')],'uri':util[_0xc39a('0x47')](_0xc39a('0x99'),_0x4b395e,_0x352d3d[_0xc39a('0x2f')]['path']),'json':_0x4d5dd5,'resolveWithFullResponse':!![],'encoding':_0x129d23,'qs':_0x352d3d[_0xc39a('0x2f')]};if(_0x352d3d[_0xc39a('0x9a')]){_0xa65c79[_0xc39a('0x9a')]=_0x352d3d[_0xc39a('0x9a')];if(_0xa65c79[_0xc39a('0x9a')]['content-length']){delete _0xa65c79['headers'][_0xc39a('0x9b')];}}if(_0xa65c79[_0xc39a('0x9a')][_0xc39a('0x9c')]){delete _0xa65c79['headers'][_0xc39a('0x9c')];}return rp(_0xa65c79);})[_0xc39a('0x21')](function(_0x220db0){if(_0x220db0){_0x32c520[_0xc39a('0x1e')](_0x220db0['headers']);logger[_0xc39a('0x64')](_0x220db0[_0xc39a('0x85')]);if(_[_0xc39a('0x9d')](_0x352d3d[_0xc39a('0x2f')][_0xc39a('0x46')],_0xc39a('0x9e'))&&_0x220db0[_0xc39a('0x9f')]==0x1f4){return _0x32c520[_0xc39a('0x25')](_0x220db0[_0xc39a('0x9f')]);}else{return _0x32c520[_0xc39a('0x18')](_0x220db0[_0xc39a('0x9f')])['send'](_0x220db0[_0xc39a('0x85')]);}}else{return _0x32c520['sendStatus'](0xc8);}})[_0xc39a('0x3f')](handleError(_0x32c520,null));};exports['webhookPost']=function(_0xa10d70,_0x1769fb,_0x270f3e){return BPromise[_0xc39a('0xa0')]()[_0xc39a('0x21')](function(){if(!_0xa10d70['query'][_0xc39a('0x46')]){throw new Error(_0xc39a('0x92'));}if(!_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x95')]){throw new Error(_0xc39a('0x93'));}var _0x113fc6=_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x94')]?_0xa10d70[_0xc39a('0x2f')]['hostname']+':'+_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x95')]:_0xc39a('0x96')+_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x95')];var _0x48cd5e=_0xa10d70['query'][_0xc39a('0x1f')]?_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x1f')]:!![];var _0x18cfc8=_0xa10d70['query'][_0xc39a('0x97')]?_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x97')]:null;var _0x5b4eb9={'method':_0xa10d70[_0xc39a('0x98')],'uri':util['format'](_0xc39a('0x99'),_0x113fc6,_0xa10d70[_0xc39a('0x2f')][_0xc39a('0x46')]),'json':_0x48cd5e,'resolveWithFullResponse':!![],'encoding':_0x18cfc8,'body':_0xa10d70[_0xc39a('0x85')]};if(_0xa10d70[_0xc39a('0x9a')]){_0x5b4eb9[_0xc39a('0x9a')]=_0xa10d70['headers'];if(_0x5b4eb9[_0xc39a('0x9a')]['content-length']){delete _0x5b4eb9['headers']['content-length'];}}if(_0x5b4eb9[_0xc39a('0x9a')]['content-type']){delete _0x5b4eb9[_0xc39a('0x9a')][_0xc39a('0x9c')];}return rp(_0x5b4eb9);})[_0xc39a('0x21')](function(_0xb29322){if(_0xb29322){_0x1769fb['set'](_0xb29322['headers']);logger[_0xc39a('0x64')](_0xb29322['body']);return _0x1769fb[_0xc39a('0x18')](_0xb29322['statusCode'])[_0xc39a('0x8c')](_0xb29322[_0xc39a('0x85')]);}else{return _0x1769fb[_0xc39a('0x25')](0xc8);}})['catch'](handleError(_0x1769fb,null));};
\ No newline at end of file
+var _0xafef=['status','limit','undefined','offset','count','update','then','destroy','get','Plugins','UserProfileResource','stack','name','send','index','map','Plugin','rawAttributes','fieldName','type','model','query','keys','filters','attributes','fields','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','intersection','length','find','server/files/plugins','format','basename','path','createWriteStream','warning','code','error','Error','Error\x20while\x20generating\x20the\x20zip\x20archive','Sequelize','pipe','glob','**/*','join','dirname','attachments/**/*','close','existsSync','download','Error\x20while\x20downloading\x20the\x20plugin','Download\x20completed','info','upload','file','filename','extname','Plugin\x20upload\x20filepath:\x20%s','Plugin\x20upload\x20destination:\x20%s','chmodSync','0777','readdirSync','Invalid\x20plugin\x20structure','lstatSync','isDirectory','some','Plugin\x20manifest\x20missing','readFileSync','manifest.json','parse','Invalid\x20manifest:\x20name\x20missing','Invalid\x20manifest:\x20type\x20missing','version','Invalid\x20manifest:\x20version\x20not\x20specified','Invalid\x20manifest:\x20parameters\x20missing','html','views','Invalid\x20manifest:\x20views\x20missing','parameters','admin','scriptName','Invalid\x20manifest:\x20script\x20name\x20missing','sidebar','always','icon','plugins','agent','script','scriptPath','test','create','body','userProfileId','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','unlinkSync','Zip\x20archive\x20removed','Extracted\x20folder\x20removed','webhookGet','\x27PATH\x27\x20parameter\x20not\x20specified','\x27PORT\x27\x20parameter\x20not\x20specified','hostname','port','json','encoding','method','%s%s','headers','content-length','content-type','set','endsWith','statusCode','webhookPost','resolve','http://localhost:','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','extract-zip','archiver','ioredis','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','./plugin.socket','register','sendStatus','end'];(function(_0x5814d8,_0x54b694){var _0x2cb878=function(_0x5d0e9a){while(--_0x5d0e9a){_0x5814d8['push'](_0x5814d8['shift']());}};_0x2cb878(++_0x54b694);}(_0xafef,0x1d0));var _0xfafe=function(_0x55b5ec,_0x460ee9){_0x55b5ec=_0x55b5ec-0x0;var _0x2bad83=_0xafef[_0x55b5ec];return _0x2bad83;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xfafe('0x0'));var zipdir=require(_0xfafe('0x1'));var jsonpatch=require(_0xfafe('0x2'));var rp=require(_0xfafe('0x3'));var moment=require(_0xfafe('0x4'));var BPromise=require(_0xfafe('0x5'));var Mustache=require('mustache');var util=require(_0xfafe('0x6'));var path=require('path');var sox=require(_0xfafe('0x7'));var csv=require(_0xfafe('0x8'));var ejs=require(_0xfafe('0x9'));var fs=require('fs');var fs_extra=require(_0xfafe('0xa'));var _=require(_0xfafe('0xb'));var squel=require('squel');var crypto=require(_0xfafe('0xc'));var jsforce=require(_0xfafe('0xd'));var deskjs=require(_0xfafe('0xe'));var toCsv=require(_0xfafe('0x8'));var querystring=require(_0xfafe('0xf'));var Papa=require(_0xfafe('0x10'));var extract=require(_0xfafe('0x11'));var rimraf=require(_0xfafe('0x0'));var archiver=require(_0xfafe('0x12'));var Redis=require(_0xfafe('0x13'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xfafe('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfafe('0x15'))(_0xfafe('0x16'));var utils=require(_0xfafe('0x17'));var config=require(_0xfafe('0x18'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xfafe('0x19')]=_[_0xfafe('0x1a')](config[_0xfafe('0x19')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xfafe('0x1b'))[_0xfafe('0x1c')](socket);function respondWithStatusCode(_0x339d7f,_0x5a2d19){_0x5a2d19=_0x5a2d19||0xcc;return function(_0x47055e){if(_0x47055e){return _0x339d7f[_0xfafe('0x1d')](_0x5a2d19);}return _0x339d7f['status'](_0x5a2d19)[_0xfafe('0x1e')]();};}function respondWithResult(_0x4b51d1,_0x525a17){_0x525a17=_0x525a17||0xc8;return function(_0x280e07){if(_0x280e07){return _0x4b51d1[_0xfafe('0x1f')](_0x525a17)['json'](_0x280e07);}};}function respondWithFilteredResult(_0x24b7a7,_0x1478cf){return function(_0x5e4082){if(_0x5e4082){var _0x17b0c3=typeof _0x1478cf['offset']==='undefined'&&typeof _0x1478cf[_0xfafe('0x20')]===_0xfafe('0x21');var _0x21f871=_0x5e4082['count'];var _0x1e1b0a=_0x17b0c3?0x0:_0x1478cf[_0xfafe('0x22')];var _0x44ef44=_0x17b0c3?_0x5e4082[_0xfafe('0x23')]:_0x1478cf[_0xfafe('0x22')]+_0x1478cf[_0xfafe('0x20')];var _0x8f1877;if(_0x44ef44>=_0x21f871){_0x44ef44=_0x21f871;_0x8f1877=0xc8;}else{_0x8f1877=0xce;}_0x24b7a7[_0xfafe('0x1f')](_0x8f1877);return _0x24b7a7['set']('Content-Range',_0x1e1b0a+'-'+_0x44ef44+'/'+_0x21f871)['json'](_0x5e4082);}return null;};}function patchUpdates(_0x2c063d){return function(_0x43d938){try{jsonpatch['apply'](_0x43d938,_0x2c063d,!![]);}catch(_0x342f5a){return BPromise['reject'](_0x342f5a);}return _0x43d938['save']();};}function saveUpdates(_0x1879ed,_0x1c82b9){return function(_0x1d3c4){if(_0x1d3c4){return _0x1d3c4[_0xfafe('0x24')](_0x1879ed)[_0xfafe('0x25')](function(_0x27734b){return _0x27734b;});}return null;};}function removeEntity(_0x698a04,_0x30f872){return function(_0x2b077d){if(_0x2b077d){return _0x2b077d[_0xfafe('0x26')]()[_0xfafe('0x25')](function(){var _0x2261f1=_0x2b077d[_0xfafe('0x27')]({'plain':!![]});var _0x52248b=_0xfafe('0x28');return db[_0xfafe('0x29')][_0xfafe('0x26')]({'where':{'type':_0x52248b,'resourceId':_0x2261f1['id']}})[_0xfafe('0x25')](function(){return _0x2b077d;});})[_0xfafe('0x25')](function(){_0x698a04[_0xfafe('0x1f')](0xcc)[_0xfafe('0x1e')]();});}};}function handleEntityNotFound(_0x2982de,_0x22c8c9){return function(_0x275248){if(!_0x275248){_0x2982de[_0xfafe('0x1d')](0x194);}return _0x275248;};}function handleError(_0x449060,_0x1584ee){_0x1584ee=_0x1584ee||0x1f4;return function(_0x288329){logger['error'](_0x288329[_0xfafe('0x2a')]);if(_0x288329['name']){delete _0x288329[_0xfafe('0x2b')];}_0x449060['status'](_0x1584ee)[_0xfafe('0x2c')](_0x288329);};}exports[_0xfafe('0x2d')]=function(_0x2d4b8c,_0x18f7d7){var _0x3074db={},_0x1d6c01={},_0x43a84b={'count':0x0,'rows':[]};var _0x3bb4ab=_[_0xfafe('0x2e')](db[_0xfafe('0x2f')][_0xfafe('0x30')],function(_0x48af8f){return{'name':_0x48af8f[_0xfafe('0x31')],'type':_0x48af8f[_0xfafe('0x32')]['key']};});_0x1d6c01[_0xfafe('0x33')]=_[_0xfafe('0x2e')](_0x3bb4ab,_0xfafe('0x2b'));_0x1d6c01[_0xfafe('0x34')]=_[_0xfafe('0x35')](_0x2d4b8c[_0xfafe('0x34')]);_0x1d6c01[_0xfafe('0x36')]=_['intersection'](_0x1d6c01[_0xfafe('0x33')],_0x1d6c01[_0xfafe('0x34')]);_0x3074db[_0xfafe('0x37')]=_['intersection'](_0x1d6c01['model'],qs[_0xfafe('0x38')](_0x2d4b8c[_0xfafe('0x34')][_0xfafe('0x38')]));_0x3074db[_0xfafe('0x37')]=_0x3074db[_0xfafe('0x37')]['length']?_0x3074db['attributes']:_0x1d6c01[_0xfafe('0x33')];if(!_0x2d4b8c[_0xfafe('0x34')][_0xfafe('0x39')]('nolimit')){_0x3074db[_0xfafe('0x20')]=qs[_0xfafe('0x20')](_0x2d4b8c[_0xfafe('0x34')]['limit']);_0x3074db['offset']=qs[_0xfafe('0x22')](_0x2d4b8c[_0xfafe('0x34')]['offset']);}_0x3074db[_0xfafe('0x3a')]=qs[_0xfafe('0x3b')](_0x2d4b8c['query'][_0xfafe('0x3b')]);_0x3074db[_0xfafe('0x3c')]=qs[_0xfafe('0x36')](_[_0xfafe('0x3d')](_0x2d4b8c[_0xfafe('0x34')],_0x1d6c01['filters']),_0x3bb4ab);if(_0x2d4b8c[_0xfafe('0x34')][_0xfafe('0x3e')]){_0x3074db[_0xfafe('0x3c')]=_[_0xfafe('0x3f')](_0x3074db['where'],{'$or':_['map'](_0x3bb4ab,function(_0x176acb){if(_0x176acb['type']!==_0xfafe('0x40')){var _0x22b091={};_0x22b091[_0x176acb[_0xfafe('0x2b')]]={'$like':'%'+_0x2d4b8c[_0xfafe('0x34')]['filter']+'%'};return _0x22b091;}})});}_0x3074db=_[_0xfafe('0x3f')]({},_0x3074db,_0x2d4b8c[_0xfafe('0x41')]);var _0x4b9f7b={'where':_0x3074db[_0xfafe('0x3c')]};return db[_0xfafe('0x2f')]['count'](_0x4b9f7b)[_0xfafe('0x25')](function(_0x4256d1){_0x43a84b[_0xfafe('0x23')]=_0x4256d1;if(_0x2d4b8c[_0xfafe('0x34')][_0xfafe('0x42')]){_0x3074db[_0xfafe('0x43')]=[{'all':!![]}];}return db[_0xfafe('0x2f')][_0xfafe('0x44')](_0x3074db);})[_0xfafe('0x25')](function(_0x2fda29){_0x43a84b[_0xfafe('0x45')]=_0x2fda29;return _0x43a84b;})[_0xfafe('0x25')](respondWithFilteredResult(_0x18f7d7,_0x3074db))[_0xfafe('0x46')](handleError(_0x18f7d7,null));};exports[_0xfafe('0x47')]=function(_0x193ed3,_0x2df70e){var _0x56bf21={'raw':!![],'where':{'id':_0x193ed3[_0xfafe('0x48')]['id']}},_0x506643={};_0x506643['model']=_[_0xfafe('0x35')](db[_0xfafe('0x2f')][_0xfafe('0x30')]);_0x506643[_0xfafe('0x34')]=_[_0xfafe('0x35')](_0x193ed3[_0xfafe('0x34')]);_0x506643[_0xfafe('0x36')]=_[_0xfafe('0x49')](_0x506643[_0xfafe('0x33')],_0x506643[_0xfafe('0x34')]);_0x56bf21[_0xfafe('0x37')]=_['intersection'](_0x506643[_0xfafe('0x33')],qs[_0xfafe('0x38')](_0x193ed3[_0xfafe('0x34')][_0xfafe('0x38')]));_0x56bf21[_0xfafe('0x37')]=_0x56bf21[_0xfafe('0x37')][_0xfafe('0x4a')]?_0x56bf21['attributes']:_0x506643['model'];if(_0x193ed3[_0xfafe('0x34')][_0xfafe('0x42')]){_0x56bf21['include']=[{'all':!![]}];}_0x56bf21=_['merge']({},_0x56bf21,_0x193ed3[_0xfafe('0x41')]);return db[_0xfafe('0x2f')][_0xfafe('0x4b')](_0x56bf21)[_0xfafe('0x25')](handleEntityNotFound(_0x2df70e,null))['then'](respondWithResult(_0x2df70e,null))[_0xfafe('0x46')](handleError(_0x2df70e,null));};exports['download']=function(_0x411b47,_0x2de1c2,_0x47890c){return db[_0xfafe('0x2f')][_0xfafe('0x4b')]({'where':{'id':_0x411b47[_0xfafe('0x48')]['id']},'attributes':['name','path'],'raw':!![]})[_0xfafe('0x25')](handleEntityNotFound(_0x2de1c2,null))[_0xfafe('0x25')](function(_0x1954bb){if(_0x1954bb){var _0x226ef1=path['join'](config['root'],_0xfafe('0x4c'),util[_0xfafe('0x4d')]('%s.zip',path[_0xfafe('0x4e')](_0x1954bb[_0xfafe('0x4f')])));var _0x29cbf5=fs[_0xfafe('0x50')](_0x226ef1);var _0x3cc6ea=archiver('zip',{'zlib':{'level':0x9}});_0x3cc6ea['on'](_0xfafe('0x51'),function(_0x139984){if(_0x139984[_0xfafe('0x52')]==='ENOENT'){logger[_0xfafe('0x53')](_0x139984);}else{throw new db['Sequelize'][(_0xfafe('0x54'))](_0xfafe('0x55'));}});_0x3cc6ea['on'](_0xfafe('0x53'),function(_0x2c4ec9){throw new db[(_0xfafe('0x56'))][(_0xfafe('0x54'))](_0xfafe('0x55'));});_0x3cc6ea[_0xfafe('0x57')](_0x29cbf5);_0x3cc6ea[_0xfafe('0x58')](_0xfafe('0x59'),{'cwd':path[_0xfafe('0x5a')](config['root'],_0xfafe('0x4c'),path[_0xfafe('0x5b')](_0x1954bb[_0xfafe('0x4f')])),'ignore':[path['join'](path['basename'](_0x1954bb[_0xfafe('0x4f')]),'node_modules/**/*'),path[_0xfafe('0x5a')](path[_0xfafe('0x4e')](_0x1954bb[_0xfafe('0x4f')]),_0xfafe('0x5c'))],'nodir':!![]})['finalize']();_0x29cbf5['on'](_0xfafe('0x5d'),function(){if(!fs[_0xfafe('0x5e')](_0x226ef1)){throw new db[(_0xfafe('0x56'))]['Error']('Plugin\x20not\x20found');}return _0x2de1c2[_0xfafe('0x5f')](_0x226ef1,util['format']('%s.zip',path['basename'](_0x1954bb[_0xfafe('0x4f')])),function(_0x3add01){if(_0x3add01){throw new db[(_0xfafe('0x56'))][(_0xfafe('0x54'))](_0xfafe('0x60'));}fs['unlinkSync'](_0x226ef1);logger['info'](_0xfafe('0x61'));logger[_0xfafe('0x62')]('Temporary\x20file\x20removed');});});}return null;})['catch'](handleError(_0x2de1c2,null));};exports[_0xfafe('0x63')]=function(_0x4f898e,_0x20b5d4,_0x1de2d8){var _0x3180dd=path[_0xfafe('0x4e')](_0x4f898e[_0xfafe('0x64')][_0xfafe('0x65')],path[_0xfafe('0x66')](_0x4f898e[_0xfafe('0x64')]['filename']));var _0x437075=path[_0xfafe('0x5a')](config['root'],_0xfafe('0x4c'),_0x4f898e[_0xfafe('0x64')][_0xfafe('0x65')]);var _0x173af2=path[_0xfafe('0x5a')](config['root'],'server/files/plugins',_0x3180dd);logger[_0xfafe('0x62')](_0xfafe('0x67'),_0x437075);logger[_0xfafe('0x62')](_0xfafe('0x68'),_0x173af2);try{fs[_0xfafe('0x69')](_0x437075,parseInt(_0xfafe('0x6a'),0x8));extract(_0x437075,{'dir':_0x173af2},function(_0x284d6e){if(_0x284d6e){logger[_0xfafe('0x53')](_0x284d6e);handleError(_0x284d6e,!![]);};var _0x5c9e96=fs[_0xfafe('0x6b')](_0x173af2);if(_0x5c9e96[_0xfafe('0x4a')]>0x1){removeReferences(_0x437075,_0x173af2);logger[_0xfafe('0x53')]('Invalid\x20plugin\x20structure');return _0x1de2d8(new Error(_0xfafe('0x6c')));}var _0x3a54f5=fs[_0xfafe('0x6d')](path[_0xfafe('0x5a')](_0x173af2,_0x5c9e96[0x0]));if(_0x3a54f5['isFile']()){removeReferences(_0x437075,_0x173af2);logger[_0xfafe('0x53')](_0xfafe('0x6c'));return _0x1de2d8(new Error(_0xfafe('0x6c')));}if(_0x3a54f5[_0xfafe('0x6e')]()){var _0x597e6a=fs['readdirSync'](path[_0xfafe('0x5a')](_0x173af2,_0x5c9e96[0x0]));if(_0x597e6a[_0xfafe('0x4a')]===0x0){removeReferences(_0x437075,_0x173af2);logger[_0xfafe('0x53')](_0xfafe('0x6c'));return _0x1de2d8(new Error(_0xfafe('0x6c')));}var _0x512003=_0x597e6a[_0xfafe('0x6f')](function(_0x211018){return _0x211018==='manifest.json';});if(!_0x512003){return _0x1de2d8(new Error(_0xfafe('0x70')));}var _0x3794bd=fs[_0xfafe('0x71')](path[_0xfafe('0x5a')](_0x173af2,_0x5c9e96[0x0],_0xfafe('0x72')));var _0x1da270=JSON[_0xfafe('0x73')](_0x3794bd);if(_0xfafe('0x21')==typeof _0x1da270[_0xfafe('0x2b')]){return _0x1de2d8(new Error(_0xfafe('0x74')));}if(_0xfafe('0x21')==typeof _0x1da270['type']){return _0x1de2d8(new Error(_0xfafe('0x75')));}if(_0xfafe('0x21')==typeof _0x1da270[_0xfafe('0x76')]){return _0x1de2d8(new Error(_0xfafe('0x77')));}if('undefined'==typeof _0x1da270['parameters']){return _0x1de2d8(new Error(_0xfafe('0x78')));}if(_0x1da270[_0xfafe('0x32')]===_0xfafe('0x79')){if(_0xfafe('0x21')==typeof _0x1da270['parameters'][_0xfafe('0x7a')]){return _0x1de2d8(new Error(_0xfafe('0x7b')));}if(_0xfafe('0x21')==typeof _0x1da270[_0xfafe('0x7c')]['views'][_0xfafe('0x7d')]&&_0xfafe('0x21')==typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')]['agent']){return _0x1de2d8(new Error('Invalid\x20manifest:\x20no\x20view\x20specified'));}}else if(_0x1da270[_0xfafe('0x32')]==='script'){if('undefined'==typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7e')]){return _0x1de2d8(new Error(_0xfafe('0x7f')));}if('undefined'==typeof _0x1da270[_0xfafe('0x7c')]['scriptPath']){return _0x1de2d8(new Error('Invalid\x20manifest:\x20script\x20path\x20missing'));}}else{return _0x1de2d8(new Error('Invalid\x20manifest:\x20invalid\x20type'));}var _0x178f7e=_0x1da270[_0xfafe('0x2b')];var _0x50e28c=_0x1da270['description'];var _0x593c03=_0x1da270[_0xfafe('0x32')];var _0x5dc6f9=_0x1da270[_0xfafe('0x80')]?_0x1da270[_0xfafe('0x80')]:_0xfafe('0x81');var _0x22023f=_0x1da270[_0xfafe('0x82')]?_0x1da270['icon']:'icon-apps';var _0x50c3ef='';var _0x43d087='';var _0x483241='';var _0x2b70c9='';var _0x17b518=_0x1da270['version'];if(_0x593c03===_0xfafe('0x79')){if(_0xfafe('0x21')!=typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')]['admin']){var _0x2237ac=_0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')][_0xfafe('0x7d')];if(!/^(f|ht)tps?:\/\//i['test'](_0x2237ac)){_0x50c3ef=path[_0xfafe('0x5a')](_0xfafe('0x83'),_0x3180dd,_0x5c9e96[0x0],_0x2237ac);}else{_0x50c3ef=_0x2237ac;}}else{logger['info']('Warning:\x20admin\x20view\x20not\x20specified');}if(_0xfafe('0x21')!=typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')][_0xfafe('0x84')]){var _0x3549bf=_0x1da270[_0xfafe('0x7c')]['views'][_0xfafe('0x84')];if(!/^(f|ht)tps?:\/\//i['test'](_0x3549bf)){_0x43d087=path[_0xfafe('0x5a')](_0xfafe('0x83'),_0x3180dd,_0x5c9e96[0x0],_0x3549bf);}else{_0x43d087=_0x3549bf;}}else{logger['info']('Warning:\x20agent\x20view\x20not\x20specified');}}else if(_0x593c03===_0xfafe('0x85')){_0x483241=_0x1da270['parameters'][_0xfafe('0x7e')];_0x2b70c9=_0x1da270[_0xfafe('0x7c')][_0xfafe('0x86')];if(_0xfafe('0x21')!=typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')]){if('undefined'!=typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')][_0xfafe('0x7d')]){var _0x2237ac=_0x1da270['parameters']['views'][_0xfafe('0x7d')];if(!/^(f|ht)tps?:\/\//i[_0xfafe('0x87')](_0x2237ac)){_0x50c3ef=path[_0xfafe('0x5a')](_0xfafe('0x83'),_0x3180dd,_0x5c9e96[0x0],_0x2237ac);}else{_0x50c3ef=_0x2237ac;}}if(_0xfafe('0x21')!=typeof _0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')][_0xfafe('0x84')]){var _0x3549bf=_0x1da270[_0xfafe('0x7c')][_0xfafe('0x7a')]['agent'];if(!/^(f|ht)tps?:\/\//i[_0xfafe('0x87')](_0x3549bf)){_0x43d087=path['join']('plugins',_0x3180dd,_0x5c9e96[0x0],_0x3549bf);}else{_0x43d087=_0x3549bf;}}}}var _0x131b5c={'name':_0x178f7e,'description':_0x50e28c,'path':path['join'](_0x3180dd,_0x5c9e96[0x0]),'type':_0x593c03,'sidebar':_0x5dc6f9,'icon':_0x22023f,'adminUrl':_0x50c3ef,'agentUrl':_0x43d087,'scriptName':_0x483241,'scriptPath':_0x2b70c9,'version':_0x17b518};removeReferences(_0x437075,null);return db[_0xfafe('0x2f')][_0xfafe('0x88')](_0x131b5c)[_0xfafe('0x25')](function(_0xba7d7d){var _0x2791bf={'role':_0x4f898e[_0xfafe('0x89')]['role'],'userProfileId':_0x4f898e[_0xfafe('0x89')][_0xfafe('0x8a')]};if(!_0x2791bf)throw new Error(_0xfafe('0x8b'));if(_0x2791bf['role']===_0xfafe('0x8c')){var _0x2034ae=_0xba7d7d['get']({'plain':!![]});return db[_0xfafe('0x8d')][_0xfafe('0x4b')]({'where':{'name':_0xfafe('0x28'),'userProfileId':_0x2791bf[_0xfafe('0x8a')]},'raw':!![]})[_0xfafe('0x25')](function(_0x3c4d09){if(_0x3c4d09&&_0x3c4d09[_0xfafe('0x8e')]===0x0){return db[_0xfafe('0x29')][_0xfafe('0x88')]({'name':_0x2034ae[_0xfafe('0x2b')],'resourceId':_0x2034ae['id'],'type':_0x3c4d09[_0xfafe('0x2b')],'sectionId':_0x3c4d09['id']},{})[_0xfafe('0x25')](function(){return _0xba7d7d;});}else{return _0xba7d7d;}})['catch'](function(_0x3bcf7d){logger[_0xfafe('0x53')](_0xfafe('0x8f'),_0x3bcf7d);throw _0x3bcf7d;});}return _0xba7d7d;})[_0xfafe('0x25')](respondWithResult(_0x20b5d4,null))[_0xfafe('0x46')](handleError(_0x20b5d4,null));}});}catch(_0x315986){_0x20b5d4[_0xfafe('0x1f')](0x1f4)[_0xfafe('0x2c')](_0x315986);}};function removeReferences(_0x4f8ce5,_0x1eda8f){try{if(_0x4f8ce5){fs[_0xfafe('0x90')](_0x4f8ce5);logger['info'](_0xfafe('0x91'));}if(_0x1eda8f){rimraf(_0x1eda8f,function(){});logger[_0xfafe('0x62')](_0xfafe('0x92'));}}catch(_0x48ca60){logger[_0xfafe('0x53')](_0x48ca60);}}exports['update']=function(_0xa20572,_0x3a03b1,_0x117e71){return db['Plugin'][_0xfafe('0x4b')]({'where':{'id':_0xa20572[_0xfafe('0x48')]['id']}})[_0xfafe('0x25')](handleEntityNotFound(_0x3a03b1,null))[_0xfafe('0x25')](saveUpdates(_0xa20572[_0xfafe('0x89')],null))[_0xfafe('0x25')](respondWithResult(_0x3a03b1,null))['catch'](handleError(_0x3a03b1,null));};exports['delete']=function(_0x3b7abc,_0x2414bb,_0x5a7340){return db['Plugin'][_0xfafe('0x4b')]({'where':{'id':_0x3b7abc['params']['id']}})[_0xfafe('0x25')](function(_0x14681b){if(_0x14681b){return _0x14681b[_0xfafe('0x26')]();}})[_0xfafe('0x25')](function(_0x16d446){rimraf(path[_0xfafe('0x5a')](config['root'],_0xfafe('0x4c'),path[_0xfafe('0x5b')](_0x16d446[_0xfafe('0x4f')])),function(){});return _0x16d446;})['then'](handleEntityNotFound(_0x2414bb,null))[_0xfafe('0x25')](respondWithStatusCode(_0x2414bb,null))[_0xfafe('0x46')](handleError(_0x2414bb,null));};exports[_0xfafe('0x93')]=function(_0x2b7b63,_0x441d85,_0x35d31d){return BPromise['resolve']()[_0xfafe('0x25')](function(){if(!_0x2b7b63['query'][_0xfafe('0x4f')]){throw new Error(_0xfafe('0x94'));}if(!_0x2b7b63['query']['port']){throw new Error(_0xfafe('0x95'));}var _0x3d55ac=_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x96')]?_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x96')]+':'+_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x97')]:'http://localhost:'+_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x97')];var _0x2064ea=_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x98')]?_0x2b7b63['query'][_0xfafe('0x98')]:!![];var _0x1680e4=_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x99')]?_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x99')]:null;var _0x5c3b7e={'method':_0x2b7b63[_0xfafe('0x9a')],'uri':util[_0xfafe('0x4d')](_0xfafe('0x9b'),_0x3d55ac,_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x4f')]),'json':_0x2064ea,'resolveWithFullResponse':!![],'encoding':_0x1680e4,'qs':_0x2b7b63[_0xfafe('0x34')]};if(_0x2b7b63['headers']){_0x5c3b7e[_0xfafe('0x9c')]=_0x2b7b63[_0xfafe('0x9c')];if(_0x5c3b7e[_0xfafe('0x9c')]['content-length']){delete _0x5c3b7e['headers'][_0xfafe('0x9d')];}}if(_0x5c3b7e[_0xfafe('0x9c')][_0xfafe('0x9e')]){delete _0x5c3b7e['headers'][_0xfafe('0x9e')];}return rp(_0x5c3b7e);})[_0xfafe('0x25')](function(_0x3be349){if(_0x3be349){_0x441d85[_0xfafe('0x9f')](_0x3be349[_0xfafe('0x9c')]);logger[_0xfafe('0x62')](_0x3be349[_0xfafe('0x89')]);if(_[_0xfafe('0xa0')](_0x2b7b63[_0xfafe('0x34')][_0xfafe('0x4f')],_0xfafe('0x5f'))&&_0x3be349['statusCode']==0x1f4){return _0x441d85[_0xfafe('0x1d')](_0x3be349[_0xfafe('0xa1')]);}else{return _0x441d85[_0xfafe('0x1f')](_0x3be349[_0xfafe('0xa1')])[_0xfafe('0x2c')](_0x3be349[_0xfafe('0x89')]);}}else{return _0x441d85[_0xfafe('0x1d')](0xc8);}})[_0xfafe('0x46')](handleError(_0x441d85,null));};exports[_0xfafe('0xa2')]=function(_0x2b6a9a,_0x104b58,_0x3c43d5){return BPromise[_0xfafe('0xa3')]()[_0xfafe('0x25')](function(){if(!_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x4f')]){throw new Error(_0xfafe('0x94'));}if(!_0x2b6a9a[_0xfafe('0x34')]['port']){throw new Error(_0xfafe('0x95'));}var _0x29e654=_0x2b6a9a['query'][_0xfafe('0x96')]?_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x96')]+':'+_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x97')]:_0xfafe('0xa4')+_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x97')];var _0x2075a3=_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x98')]?_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x98')]:!![];var _0x4e50f6=_0x2b6a9a[_0xfafe('0x34')][_0xfafe('0x99')]?_0x2b6a9a['query'][_0xfafe('0x99')]:null;var _0x114ce9={'method':_0x2b6a9a['method'],'uri':util['format'](_0xfafe('0x9b'),_0x29e654,_0x2b6a9a['query'][_0xfafe('0x4f')]),'json':_0x2075a3,'resolveWithFullResponse':!![],'encoding':_0x4e50f6,'body':_0x2b6a9a['body']};if(_0x2b6a9a[_0xfafe('0x9c')]){_0x114ce9[_0xfafe('0x9c')]=_0x2b6a9a[_0xfafe('0x9c')];if(_0x114ce9['headers']['content-length']){delete _0x114ce9['headers']['content-length'];}}if(_0x114ce9[_0xfafe('0x9c')]['content-type']){delete _0x114ce9[_0xfafe('0x9c')]['content-type'];}return rp(_0x114ce9);})[_0xfafe('0x25')](function(_0x2df71e){if(_0x2df71e){_0x104b58[_0xfafe('0x9f')](_0x2df71e['headers']);logger[_0xfafe('0x62')](_0x2df71e['body']);return _0x104b58['status'](_0x2df71e[_0xfafe('0xa1')])[_0xfafe('0x2c')](_0x2df71e[_0xfafe('0x89')]);}else{return _0x104b58[_0xfafe('0x1d')](0xc8);}})[_0xfafe('0x46')](handleError(_0x104b58,null));};
\ No newline at end of file