feature: add multi IP API

This commit is contained in:
root 2026-03-05 17:45:26 +01:00
parent 6c974d01e8
commit 0a1c7e434e
3 changed files with 51 additions and 0 deletions

View File

@ -0,0 +1,33 @@
const pool = require("../db");
/* LIST IPs for resource */
exports.getByResource = async (req, res) => {
const [rows] = await pool.query(
"SELECT * FROM resource_ips WHERE resource_id = ?",
[req.params.id]
);
res.json(rows);
};
/* ADD IP */
exports.create = async (req, res) => {
const { ip, type, comment } = req.body;
await pool.query(
"INSERT INTO resource_ips (resource_id, ip, type, comment) VALUES (?, ?, ?, ?)",
[req.params.id, ip, type, comment]
);
res.json({ message: "IP added" });
};
/* DELETE IP */
exports.remove = async (req, res) => {
await pool.query(
"DELETE FROM resource_ips WHERE id = ?",
[req.params.id]
);
res.json({ message: "IP deleted" });
};

14
backend/routes/ips.js Normal file
View File

@ -0,0 +1,14 @@
const express = require("express");
const router = express.Router();
const controller = require("../controllers/ipController");
/* list IPs for resource */
router.get("/resources/:id/ips", controller.getByResource);
/* add IP to resource */
router.post("/resources/:id/ips", controller.create);
/* delete IP */
router.delete("/ips/:id", controller.remove);
module.exports = router;

View File

@ -3,6 +3,7 @@ const cors = require("cors");
const path = require("path");
const resourceRoutes = require("./routes/resources");
const ipRoutes = require("./routes/ips");
const app = express();
@ -15,6 +16,9 @@ app.use("/resman", express.static(path.join(__dirname, "public")));
/* API routes */
app.use("/resman/api/resources", resourceRoutes);
app.use("/resman/api", ipRoutes);
app.listen(3000, () => {
console.log("ResMan running on port 3000");
});