Esse erro ocorre quando eu cadastro um livro e era pra ir para a página de listagem de livros só que acaba mostrado a página de erro 500.
//router.js
const LivroDao = require('../infra/livro-dao');
const db = require('../../config/database');
const { check, validationResult } = require('express-validator/check');
module.exports = (app) => {
app.get('/', function(req, resp) {
resp.marko(
require('../views/base/home/home.marko')
);
});
app.get('/livros', function(req, resp) {
const livroDao = new LivroDao(db);
livroDao.lista()
.then(livros => resp.marko(
require('../views/livros/lista/lista.marko'),
{
livro: livros
}
))
.catch(erro => console.log(erro));
});
app.get('/livros/form', function(req, resp) {
resp.marko(require('../views/livros/form/form.marko'), { livro: {} });
});
app.get('/livros/form/:id', function(req, resp) {
const id = req.params.id;
const livroDao = new LivroDao(db);
livroDao.buscaPorId(id)
.then(livros =>
resp.marko(
require('../views/livros/form/form.marko'),
{ livro: livros }
)
)
.catch(erro => console.log(erro));
});
app.post('/livros', [
check('titulo').isLength({ min: 5 }).withMessage('O título deve ser maior que 5'),
check('preco').isCurrency().withMessage('O preço precisa ter um valor monetário válido')
], function(req, res) {
console.log(req.body);
const livroDao = new LivroDao(db);
const erros = validationResult(req)
if(!erros.isEmpty()) {
return res.marko(
require('../views/livros/form/form.marko'),
{
livro: {},
errosValidacao: erros.array()
}
);
}
livroDao.adiciona(req.body)
.then(resp.redirect('/livros'))
.catch(erro => console.log(erro));
});
app.put('/livros', function(req, resp) {
console.log(req.body);
const livroDao = new LivroDao(db);
livroDao.atualiza(req.body)
.then(resp.redirect('/livros'))
.catch(erro => console.log(erro));
});
app.delete('/livros/:id', function(req, resp) {
const id = req.params.id;
const livroDao = new LivroDao(db);
livroDao.remove(id)
.then(() => resp.status(200).end())
.catch(erro => console.log(erro));
});
};