A slightly dynamic administration page. As always, uncertain if this is a good direction.

git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@4062 ed5197a5-7fde-0310-b194-c3ffbd925b24
This commit is contained in:
2022-12-01 00:26:51 +00:00
parent b1ff215ad7
commit d8fb956c14
3 changed files with 43 additions and 12 deletions

View File

@ -6,6 +6,19 @@ var gProcessIndex = 0;
var gProcesses = {};
var gStatsTimer = false;
const k_global_settings = {
index: {
type: 'string',
default_value: '/~core/apps/',
description: 'Default path.',
},
room: {
type: 'boolean',
default_value: true,
description: 'Whether this instance should behave as a room.',
},
};
var gGlobalSettings = {
index: "/~core/apps/",
};
@ -240,6 +253,15 @@ async function getProcessBlob(blobId, key, options) {
}
};
if (process.credentials?.permissions?.administration) {
imports.core.globalSettingsDescriptions = function() {
let settings = Object.assign({}, k_global_settings);
for (let [key, value] of Object.entries(gGlobalSettings)) {
if (settings[key]) {
settings[key].value = value;
}
}
return settings;
};
imports.core.globalSettingsGet = function(key) {
return gGlobalSettings[key];
};

View File

@ -4,6 +4,7 @@ var g_database = new Database('core');
let g_attendants = {};
const k_use_create_history_stream = false;
const k_blobs_concurrent_target = 8;
const k_settings = JSON.parse(g_database.get('settings') ?? '{}');
function following(db, id) {
var o = db.get(id + ":following");
@ -195,7 +196,11 @@ ssb.addRpc(['blobs', 'createWants'], function(request) {
});
ssb.addRpc(['tunnel', 'isRoom'], function(request) {
request.send_json({"name": "tilde friends tunnel", "membership": false, "features": ["tunnel", "room1"]});
if (k_settings.room) {
request.send_json({"name": "tilde friends tunnel", "membership": false, "features": ["tunnel", "room1"]});
} else {
request.send_json(false);
}
});
function notify_attendant_changed(id, type) {