bentosmau
Translate all code comments, strings, and variable names to English
9fae0c6
Raw
History Blame Contribute Delete
1.06 kB
import { Router } from "express";
import { requireAdmin } from "../middlewares/auth.js";
import { generateKey, listKeys, revokeKey } from "../lib/apiKeys.js";
const router = Router();
router.post("/keys", requireAdmin, (req, res) => {
const { name } = req.body as { name?: string };
if (!name || typeof name !== "string" || !name.trim()) {
res.status(400).json({ error: "The 'name' field is required." });
return;
}
const key = generateKey(name.trim());
res.status(201).json({
message: "API key generated. Save it now — it won't be shown again.",
key: key.key,
name: key.name,
createdAt: key.createdAt,
});
});
router.get("/keys", requireAdmin, (_req, res) => {
res.json({ keys: listKeys() });
});
router.delete("/keys/:name", requireAdmin, (req, res) => {
const { name } = req.params;
const ok = revokeKey(name!);
if (!ok) {
res.status(404).json({ error: "Key not found or already revoked." });
return;
}
res.json({ message: `Key '${name}' revoked.` });
});
export default router;