Cursos / Informática para Internet / Desenvolvimento Backend / Aula

arrow_back Aula 06 - Banco de dados relacional (parte 1)

Manipulando dados no Banco de dados


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