text: const router = require('express').Router();
  const withAuth = require('../../utils/auth');
  const sequelize = require('../../config/connection');
  
  const { Post, User, Vote, Comment } = require('../../models');
  
  // get all users
  
  router.get('/', (req, res) => {
      Post.findAll({
          attributes: [
            'id',
            'title',
            'description',
            'created_at',
          ],
          order: [['created_at', 'DESC']], 
          include: [
              {
                model: Comment,
                attributes: ['id', 'comment_text', 'post_id', 'user_id', 'created_at'],
                include: {
                  model: User,
                  attributes: ['username']
                }
              },
  
              {
                  model: User,
                  attributes: ['username']
              }
          ]
      })
          .then(dbPostData => res.json(dbPostData))
          .catch(err => {
              console.log(err);
              res.status(500).json(err);
          });
  });
  
  router.get('/:id', (req, res) => {
    Post.findOne({
      where: {
        id: req.params.id
      },
      attributes: [
        'id',
        'title',
        'description',
        'created_at',
      ],
      include: [
        {
          model: Comment,
          attributes: ['id', 'comment_text', 'post_id', 'user_id', 'created_at'],
          include: {
            model: User,
            attributes: ['username']
          }
        },
        {
          model: User,
          attributes: ['username']
        }
      ]
    })
      .then(dbPostData => {
        if (!dbPostData) {
          res.status(404).json({ message: 'No post found with this id' });
          return;
        }
        res.json(dbPostData);
      })
      .catch(err => {
        console.log(err);
        res.status(500).json(err);
      });
  });
  
  router.post('/', (req, res) => {
    // expects {title: 'Taskmaster goes public!': 'https://taskmaster.com/press', user_id: 1}
    Post.create({
      title: req.body.title,
      description: req.body.description,
      user_id: req.session.user_id
    })
      .then(dbPostData => res.json(dbPostData))
      .catch(err => {
        console.log(err);
        res.status(500).json(err);
      });
  });
  
  router.put('/:id', (req, res) => {
    Post.update(
      {
        title: req.body.title,
        description: req.body.description
      },
  
      {
        where: {
          id: req.params.id
        }
      }
    )
      .then(dbPostData =>{
        if (!dbPostData) {
          res.status(404).json({message: 'No post found with this id'});
          return;
        }
        res.json(dbPostData);
      })
      .catch(err => {
        console.log(err);
        res.status(500).json(err);
      })
  })
  
  router.delete('/:id', (req, res) => {
    Post.destroy({
      where: {
        id: req.params.id
      }
    })
      .then(dbPostData => {
        if (!dbPostData) {
          res.status(404).json({ message: 'No post found with this id' });
          return;
        }
        res.json(dbPostData);
      })
      .catch(err => {
        console.log(err);
        res.status(500).json(err);
      });
  });
  
  
  
  
  module.exports = router;
  