tasks-mockup/server/api/articles.js
2019-09-12 14:08:52 +01:00

57 lines
1.1 KiB
JavaScript

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