diff --git a/index.js b/index.js index 2757dc5..5e29e9c 100644 --- a/index.js +++ b/index.js @@ -3,12 +3,16 @@ const express = require('express'); const app = express(); const PORT = 3000; -const todos = [ +app.use(express.json()); + +let todos = [ { id: 1, title: 'Buy groceries', done: false }, { id: 2, title: 'Walk the dog', done: true }, { id: 3, title: 'Read a book', done: false }, ]; +let nextId = 4; + app.get('/healthz', (req, res) => { res.json({ ok: true }); }); @@ -17,6 +21,23 @@ app.get('/todos', (req, res) => { res.json(todos); }); +app.post('/todos', (req, res) => { + const { title } = req.body; + const todo = { id: nextId++, title, done: false }; + todos.push(todo); + res.status(201).json(todo); +}); + +app.delete('/todos/:id', (req, res) => { + const id = parseInt(req.params.id, 10); + const index = todos.findIndex(t => t.id === id); + if (index === -1) { + return res.status(404).end(); + } + todos.splice(index, 1); + res.status(204).end(); +}); + app.listen(PORT, () => { console.log(`Server listening on http://localhost:${PORT}`); });