Cursos / Informática para Internet / Desenvolvimento Backend / Aula
Inicialmente, é importante lembrar que foi deixada como exercício a implementação da rota de usuários. O código implementado deve ficar de acordo com o código abaixo:
const express = require('express')
const router = express.Router()
const validarUsuario = require('../middleware/validarUsuario.middleware')
const { Usuario } = require('../db/models')
router.post('/', validarUsuario)
router.put('/', validarUsuario)
router.get('/', async (req, res) => {
const usuarios = await Usuario.findAll()
res.json({ usuarios: usuarios })
})
router.get('/:id', async (req, res) => {
const usuario = await Usuario.findByPk(req.params.id)
if (usuario){
res.json({ usuario: usuario })
}else{
res.status(400).json({msg: "Usuário não encontrado!"})
}
})
router.post('/', async (req, res) => {
const usuario = await Usuario.create(req.body)
res.json({ msg: "Usuário adicionado com sucesso!", userId: usuario.id })
})
router.put('/', async (req, res) => {
const id = req.query.id
const usuario = await Usuario.findByPk(id)
if (usuario){
usuario.email = req.body.email
usuario.senha = req.body.senha
await usuario.save()
res.json({ msg: "Usuário atualizado com sucesso!" })
}else{
res.status(400).json({msg: "Usuário não encontrado!"})
}
})
router.delete('/', async (req, res) => {
const id = req.query.id
const usuario = await Usuario.findByPk(id)
if (usuario){
try{
await usuario.destroy()
res.json({msg: "Usuário deletado com sucesso!"})
}catch (error){
res.status(500).json({msg: "Falha ao remover usuário"})
}
}else{
res.status(400).json({msg: "Usuário não encontrado!"})
}
})
module.exports = router;
Visando trabalhos futuros, quando pode ser necessária a aplicação de uma ação em todo o projeto, é preciso criar uma pasta scr na raiz do projeto para colocar todo o código dentro dela. Acompanhe a aula e faça as alterações necessárias.
Até o momento, toda a configuração do sequelize ficou em uma pasta, porém esse não é o padrão. Então, para uma melhor prática, crie um arquivo .sequelizerc.js (arquivo oculto) e adicione a ele as configurações do banco de dados. Ao final, seu arquivo deve ficar como abaixo:
const { resolve } = require('path')
module.exports = {
'config': resolve(__dirname, 'src', 'db', 'config', 'config.json'),
'models-path': resolve(__dirname, 'src', 'db', 'models'),
'migrations-path': resolve(__dirname, 'src', 'db', 'migrations'),
'seeders-path': resolve(__dirname, 'src', 'db', 'seeders'),
}
Versão 5.3 - Todos os Direitos reservados