REST API IN NODE JS

 const express = require('express');

const router = express.Router();

const Todo = require('../models/todo');


// Create a new todo

router.post('/', async (req, res) => {

  try {

    const todo = await Todo.create(req.body);

    res.status(201).json(todo);

  } catch (error) {

    res.status(500).json({ error: 'Failed to create todo' });

  }

});


// Get all todos

router.get('/', async (req, res) => {

  try {

    const todos = await Todo.find();

    res.json(todos);

  } catch (error) {

    res.status(500).json({ error: 'Failed to retrieve todos' });

  }

});


// Update a todo

router.put('/:id', async (req, res) => {

  try {

    const todo = await Todo.findByIdAndUpdate(req.params.id, req.body, { new: true });

    res.json(todo);

  } catch (error) {

    res.status(500).json({ error: 'Failed to update todo' });

  }

});


// Delete a todo

router.delete('/:id', async (req, res) => {

  try {

    await Todo.findByIdAndRemove(req.params.id);

    res.json({ message: 'Todo deleted successfully' });

  } catch (error) {

    res.status(500).json({ error: 'Failed to delete todo' });

  }

});


module.exports = router;