Files
ignis/apps/ignis-server/server/routes/plugins.js
2026-05-21 17:26:08 +02:00

45 lines
991 B
JavaScript

const express = require("express");
const {
getDiscoveredPlugins,
enablePluginForVault,
disablePluginForVault,
} = require("../plugin-system/manager");
const router = express.Router();
router.get("/", (req, res) => {
res.json(getDiscoveredPlugins());
});
router.post("/:pluginId/enable", async (req, res) => {
const vaultId = req.body?.vault;
if (!vaultId) {
return res.status(400).json({ error: "Missing vault ID" });
}
try {
await enablePluginForVault(req.params.pluginId, vaultId);
res.json({ ok: true });
} catch (e) {
res.status(400).json({ error: e.message });
}
});
router.post("/:pluginId/disable", async (req, res) => {
const vaultId = req.body?.vault;
if (!vaultId) {
return res.status(400).json({ error: "Missing vault ID" });
}
try {
await disablePluginForVault(req.params.pluginId, vaultId);
res.json({ ok: true });
} catch (e) {
res.status(400).json({ error: e.message });
}
});
module.exports = router;