implement server plugin system

This commit is contained in:
Nystik
2026-03-26 23:55:12 +01:00
parent 80bf7436d9
commit c32ade2f65
7 changed files with 446 additions and 1 deletions

View File

@@ -0,0 +1,30 @@
const fs = require("fs");
const path = require("path");
async function load(filePath) {
try {
const content = await fs.promises.readFile(filePath, "utf-8");
return JSON.parse(content);
} catch {
return {};
}
}
async function save(filePath, data) {
await fs.promises.mkdir(path.dirname(filePath), { recursive: true });
await fs.promises.writeFile(filePath, JSON.stringify(data, null, 2));
}
function getEnabledVaults(config, pluginId) {
return config[pluginId]?.enabledVaults || [];
}
function setEnabledVaults(config, pluginId, vaultIds) {
if (!config[pluginId]) {
config[pluginId] = {};
}
config[pluginId].enabledVaults = vaultIds;
}
module.exports = { load, save, getEnabledVaults, setEnabledVaults };