Uma das coisas que eu gostaria de ver mais nos cursos, é o "caminho do herói", quando a gente já aprendeu algo em algum curso anterior e existe uma forma mais prática de fazer o código de forma mais limpa e ainda assim ir aumentando a dificuldade gradualmente, sempre aplicando o conhecimento que já vimos nos cursos anteriores.
Eu tenho a seguinte sugestão de código para o arquivo index.js da pasta routes, já que o arquivos index.js da pasta models que é criada pelo Sequelize (até onde me lembro) nós não precisamos ao criar um novo model abrir esse arquivo para adicionar a importação desse novo model manualmente, por que não fazemos o mesmo com o index de routes e utilizamos o fs que já vimos em cursos anteriores da trilha de NodeJS? Assim podemos ler todos os arquivos da pasta routes que terminam em "Routes.js" (evitando a importação de outros arquivos como por exemplo o próprio index.js) e fazer a importação automatica dos arquivos que criamos e evitamos possíveis erros quando a aplicação ficar maior. Aqui está a minha sugestão de código:
const fs = require('fs');
const path = require('path');
module.exports = (app) => {
const routesPath = path.join(__dirname); //caminho da pasta local
fs.readdirSync(routesPath).forEach(file => {
if (file.endsWith('Route.js')) {
// somente queremos os arquivos que terminam em Route.js
// se não for um arquivo assim, ele será ignorado (como é o caso do index.js)
const route = require(path.join(routesPath, file));
app.use(express.json(), route);
}
});
};
Outro ponto importante foi levantado nesse tópico do Leonardo em abril de 2024, a pergunta dele era o que aconteceria se na URI fosse passado por exemplo o o id 2 (/pessoas/2/matriculas) e o corpo da requisição fosse passado o corpo abaixo:
{
"status": "cancelado",
"estudanteId": 1,
"cursoId": 2
}
Qual id seria alterado no banco de dados? De acordo com o nosso código, seria alterado o id 1 que é passado no corpo da requisição, já que de fato não estamos fazendo absolutamente nada com o id que é fornecido na URI e inclusive fica essa observação, por qual motivo estamos forçando uma rota que devo passar um id que simplesmente não vamos sequer ler o seu valor e usar para nada?
A princípio eu faria essas alterações nessa aula, acredito que fosse interessante sempre usar as melhores técnicas de tudo que já aprendemos e usar nos cursos seguintes, para que o aluno possa não somente aprender a escrever um código, mas que possa aprender a escrever um código mais próximo do código real que encontraremos em uma empresa e evitar ao mesmo tempo, ter que fazer 10 cursos para aprender o tudo que poderíamos ter visto em 3 ou 4 cursos mais complexos.
Ainda assim eu gosto da linguagem dos professores! Alura sempre tem cursos bons!