text: const router = require('express').Router();
  const { Tag, Product, ProductTag } = require('../../models');
  
  // The `/api/tags` endpoint
  
  router.get('/', async (req, res) => {
    // find all tags
    // be sure to include its associated Product data
    // include data from the Product model, which is related to each Tag through ProductTag
  
    try {
      const tagData = await Tag.findAll({
        
            include: [
              {
                model: Product, 
                through: ProductTag,
              }
            ]
      })
      res.status(200).json(tagData);
    } catch (err) {
      res.status(500).json(err)
    }
  });
  
  router.get('/:id', async (req, res) => {
    // find a single tag by its `id`
    // be sure to include its associated Product data
    try {
      const tagData = await Tag.findOne({
        where: {
          id: req.params.id,
        },
        include: [
          {
            model: Product,
            through: ProductTag
          }
        ]
      })
      if (!tagData) {
        res.status(400).json({ message: 'No tag was found with this id!' });
        return;
      }
      res.status(200).json(tagData)
    } catch (err) {
      res.status(500).json(err)
    }
  });
  
  router.post('/', (req, res) => {
    // create a new tag
    Tag.create({
      tag_name: req.body.tag_name
    })
      .then(tagData => res.json(tagData))
      .catch(err => {
        console.log(err);
        res.status(500).json(err)
      })
  });
  
  router.put('/:id', async (req, res) => {
    // update a tag's name by its `id` value
    try {
      const tagData = await Tag.update(req.body, {
        where: {
          id: req.params.id
        }
      });
      if (!tagData[0]) {
        res.status(400).json({message: 'No tag was found with this id!'});
        return;
      }
      res.status(200).json(tagData)
    } catch (err) {
      res.status(500).json(err);
    }
  });
  
  router.delete('/:id', async (req, res) => {
    // delete on tag by its `id` value
    try {
      const tagData = await Tag.destroy({
        where: {
          id: req.params.id
        }
      }) 
      console.log(tagData)
      if (!tagData) {
        res.status(400).json({message: 'No tag was found with this id!'});
        return;
      }
      res.status(200).json(tagData)
    } catch (err) {
      res.status(500).json(err);
    }
  });
  
  module.exports = router;
  