tasks-backend/api/users.js

55 lines
1.0 KiB
JavaScript

const router = require('express').Router()
const { User } = require('../db/models')
module.exports = router
/* CREATE */
router.post('/', async (req, res, next) => {
try {
const user = await User.create(req.body)
res.json(user)
} catch (err) {
next(err)
}
})
/* READ */
router.get('/', async (req, res, next) => {
try {
const users = await User.findAll()
res.send(users)
} catch (err) {
next(err)
}
})
router.get('/:id', async (req, res, next) => {
try {
const user = await User.findByPk(req.params.id)
res.json(user)
} catch (err) {
next(err)
}
})
/* UPDATE */
router.put('/:id', async (req, res, next) => {
try {
const user = await User.findByPk(req.params.id)
await user.update(req.body)
res.json(user)
} catch (err) {
next(err)
}
})
/* DELETE */
router.post('/:id/delete', async (req, res, next) => {
try {
const user = await User.findByPk(req.params.id)
user.destroy({ force: true })
res.json(user)
} catch (err) {
next(err)
}
})