const express = require("express");
|
|
const port = (() => {
|
const index = process.argv.indexOf("--port");
|
|
if (index >= 0) {
|
return process.argv.indexOf("--port") + 1;
|
}
|
else {
|
return 3000;
|
}
|
})();
|
|
const todos = [];
|
|
const app = express();
|
|
app.use(express.json());
|
|
app.listen(port, "0.0.0.0", () => {
|
console.log(`Server listening on port ${port}`);
|
});
|
|
app.get("/todo", (req, res) => {
|
return res.json(todos);
|
});
|
|
app.get("/todo/:index", (req, res) => {
|
return res.json(todos[req.params.index]);
|
});
|
|
app.post("/todo", (req, res) => {
|
try {
|
todos.push(req.body.name);
|
|
return res.json(todos);
|
}
|
catch(e) {
|
console.error("Unable to parse body");
|
|
return res.status(500).json(todos);
|
}
|
});
|
|
app.put("/todo/:index", (req, res) => {
|
try {
|
todos[req.params.index] = req.body.name;
|
|
return res.json(todos);
|
}
|
catch(e) {
|
console.error("Unable to parse body");
|
|
return res.status(500).json(todos);
|
}
|
});
|
|
app.delete("/todo/:index", (req, res) => {
|
todos.splice(req.params.index, 1);
|
|
return res.json(todos);
|
});
|