1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| const express = require('express');
const app = express();
let todos = [ { id: 1, content: 'HTML', completed: false }, { id: 2, content: 'CSS', completed: true }, { id: 3, content: 'Javascirpt', completed: false } ];
app.use(express.static('public')); app.use(express.json()); app.use(express.urlencoded({ extended: true }));
app.get('/todos', (req, res) => { todos.sort((t1, t2) => t2.id - t1.id); res.send(todos); });
app.post('/todos', (req, res) => { console.log(req.body); todos = [req.body, ...todos]; res.send(todos); });
app.patch('/todos/:id', (req, res) => { const { id } = req.params; const { completed } = req.body; todos = todos.map((todo) => (todo.id === +id ? { ...todo, completed } : todo)); res.send(todos); });
app.delete('/todos/:id', (req, res) => { const { id } = req.params; todos = todos.filter((todo) => todo.id !== +id); res.send(todos); });
app.delete('/completedTodos', (req, res) => { todos = todos.filter((todo) => !todo.completed); res.send(todos); });
app.patch('/todos', (req, res) => { const { completed } = req.body; todos = todos.map((todo) => ({ ...todo, completed })); res.send(todos); });
app.listen(3000, () => { console.log('Server listening on port 3000'); });
|