Cursos / Informática para Internet / Desenvolvimento Backend / Aula
Agora que os modelos e a estrutura já estão criados, chegou a hora de realizar as operações diretamente no banco de dados.
Para isso, acompanhe a videoaula para explicação detalhada de como executar as operações de criação, edição, busca e remoção de dados.
Abaixo é apresentado o conteúdo final do arquivo de rota (posts.rota.js
), com as operações realizadas com auxílio do ORM Sequelize.
const express = require('express')
const router = express.Router()
const postMid = require('../middleware/validarPost.middleware')
const { Post } = require('../models')
router.post('/', postMid)
router.put('/', postMid)
router.get('/', async (req, res) => {
const posts = await Post.findAll()
res.json({posts: posts})
})
router.get('/:id', async (req, res) => {
const post = await Post.findByPk(req.params.id)
res.json({posts: post})
})
router.post('/', async (req, res) => {
const post = await Post.create(req.body)
res.json({msg: "Post adicionado com sucesso!"})
})
router.delete('/', async (req, res) => {
const id = req.query.id
const post = await Post.findByPk(id)
if (post){
await post.destroy()
res.json({msg: "Post deletado com sucesso!"})
}else{
res.status(400).json({msg: "Post não encontrado!"})
}
})
router.put('/', async (req, res) => {
const id = req.query.id
const post = await Post.findByPk(id)
if (post){
post.titulo = req.body.titulo
post.texto = req.body.texto
await post.save()
res.json({msg: "Post atualizado com sucesso!"})
}else{
res.status(400).json({msg: "Post não encontrado!"})
}
})
module.exports = router
Versão 5.3 - Todos os Direitos reservados