2
0
Fork 0

WIP open file for a while

This commit is contained in:
Willem 2017-06-10 16:53:29 +02:00
parent f937019e42
commit d280fb9af3
122 changed files with 5702 additions and 10 deletions

View file

@ -0,0 +1,55 @@
var configRegistry = require('./../../../config-registry');
module.exports = (function () {
var createPluginInfo = function() {
var result = {};
for (var pluginIdx in configRegistry.getMasterConfig().plugins) {
var plugin = configRegistry.getMasterConfig().plugins[pluginIdx];
var pluginExtensions = Object.keys(plugin).slice(0,-1);
//TODO: pluginExtensions.remove('tmeta');
var pluginData = {
extensions: pluginExtensions,
tmeta: plugin.tmeta,
troutes: plugin.troutes
};
result[plugin.tmeta.key] = pluginData;
}
return result;
};
var createPluginKeyList = function() {
var result = [];
for (var pluginIdx in configRegistry.getMasterConfig().plugins) {
var plugin = configRegistry.getMasterConfig().plugins[pluginIdx];
result.push(plugin.tmeta.key);
}
return result;
};
return function ServerInfoPluginsPlugin() {
this.configPlugin = function (ctx) {
ctx.key='serverInfoPlugins';
ctx.description='Makes the server plugins info public as json';
ctx.localDir = __dirname;
ctx.localConfigTemplate = 'info-plugins.json';
};
this.configServer = function(ctx) {
ctx.server.get(ctx.createSlugApiServerBase(),ctx.renderFunctionJSON(function () {
return {
plugins: {
keys: {
registrated: createPluginKeyList(),
backends: Object.keys(configRegistry.getMasterConfig().backends),
validators: Object.keys(configRegistry.getMasterConfig().validators)
},
info: createPluginInfo()
}
}
}));
};
};
})();

View file

@ -0,0 +1,12 @@
{
"masterTEntityTemplate": {
"tmeta": { "tplugin": { "serverInfoPlugins": {
"tslug": "info/plugins"
}}}
},
"masterTEntityTHelp": {
"tmeta": { "tplugin": { "serverInfoPlugins": {
"tslug": "The info plugins slug."
}}}
}
}

View file

@ -0,0 +1,28 @@
module.exports = (function () {
var timeBoot = new Date().getTime();
return function ServerInfoUptimePlugin() {
this.configPlugin = function (ctx) {
ctx.key='serverInfoUptime';
ctx.description='Makes the server uptime info public as json';
ctx.localDir = __dirname;
ctx.localConfigTemplate = 'info-uptime.json';
};
this.configServer = function(ctx) {
ctx.server.get(ctx.createSlugApiServerBase(),ctx.renderFunctionJSON(function () {
var timeNow = new Date().getTime();
return {
serverInfoUptime: {
time_boot: timeBoot,
time_now: timeNow,
uptime: timeNow-timeBoot
}
}
}));
};
};
})();

View file

@ -0,0 +1,12 @@
{
"masterTEntityTemplate": {
"tmeta": { "tplugin": { "serverInfoUptime": {
"tslug": "info/uptime"
}}}
},
"masterTEntityTHelp": {
"tmeta": { "tplugin": { "serverInfoUptime": {
"tslug": "The info uptime slug."
}}}
}
}