54 lines
1.1 KiB
JavaScript
54 lines
1.1 KiB
JavaScript
const router = require('express').Router()
|
|
const { Comment, User, Vote } = require('../db/models')
|
|
module.exports = router
|
|
|
|
router.get('/', async (req, res, next) => {
|
|
try {
|
|
const votes = await Vote.findAll()
|
|
res.send(votes)
|
|
} catch (err) {
|
|
next(err)
|
|
}
|
|
})
|
|
|
|
router.post('/', async (req, res, next) => {
|
|
const {userId, commentId, upvote, downvote} = req.body
|
|
try {
|
|
const votes = await Vote.create({userId, commentId, upvote, downvote})
|
|
res.send(votes)
|
|
} catch (err) {
|
|
next(err)
|
|
}
|
|
})
|
|
|
|
router.get('/:id', async (req, res, next) => {
|
|
try {
|
|
const vote = await Vote.findByPk(+req.params.id)
|
|
res.json(vote)
|
|
} catch (err) {
|
|
next(err)
|
|
}
|
|
})
|
|
|
|
router.post('/:id/delete', async (req, res, next) => {
|
|
try {
|
|
const vote = await Vote.findByPk(+req.params.id)
|
|
await vote.destroy()
|
|
res.json(vote)
|
|
} catch (err) {
|
|
next(err)
|
|
}
|
|
})
|
|
|
|
router.put('/:id/update', async (req, res, next) => {
|
|
const upvote = req.body.downvote
|
|
const downvote = req.body.upvote
|
|
try {
|
|
const vote = await Vote.findByPk(+req.params.id)
|
|
await vote.update({upvote, downvote})
|
|
res.json(vote)
|
|
} catch (err) {
|
|
next(err)
|
|
}
|
|
})
|