feature: add multi IP API
This commit is contained in:
@@ -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" });
|
||||||
|
};
|
||||||
@@ -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 path = require("path");
|
||||||
|
|
||||||
const resourceRoutes = require("./routes/resources");
|
const resourceRoutes = require("./routes/resources");
|
||||||
|
const ipRoutes = require("./routes/ips");
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
|
|
||||||
@@ -15,6 +16,9 @@ app.use("/resman", express.static(path.join(__dirname, "public")));
|
|||||||
/* API routes */
|
/* API routes */
|
||||||
app.use("/resman/api/resources", resourceRoutes);
|
app.use("/resman/api/resources", resourceRoutes);
|
||||||
|
|
||||||
|
app.use("/resman/api", ipRoutes);
|
||||||
|
|
||||||
|
|
||||||
app.listen(3000, () => {
|
app.listen(3000, () => {
|
||||||
console.log("ResMan running on port 3000");
|
console.log("ResMan running on port 3000");
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user