feature: add multi IP API
This commit is contained in:
parent
6c974d01e8
commit
0a1c7e434e
33
backend/controllers/ipController.js
Normal file
33
backend/controllers/ipController.js
Normal 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
14
backend/routes/ips.js
Normal 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;
|
||||
@ -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");
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user