1
resposta

Porque em uma aula se verificar o id no Router, enquanto na outra se verifica na classe ?

Olá, após essa aula me surgiu uma duvida por que na aula anterior o ID só foi verificado no arquivo 'Fornecedor.js', enquanto nessa aula a verificação foi feita diretamente nas rotas ?

async atualizar() {
        await TabelaFornecedor.detalhar(this.id);
        const campos = ['empresa','email','categoria'];
        const dadosParaAtualizar = {}

        campos.forEach((campo) => {
            const valor = this[campo];

            if(typeof valor === 'string' && valor.length > 0){
                dadosParaAtualizar[campo] = valor
            }
        })

        if(Object.keys(dadosParaAtualizar).length === 0){
            throw new Error('Não foram fornecidos dados para atualizar');
        }

        await TabelaFornecedor.atualizar(this.id, dadosParaAtualizar)
    }
roteador.delete('/:idFornecedor', async (requisicao, resposta) => {
    try{
        const idFornecedor = requisicao.params.idFornecedor;
        const fornecedor = new Fornecedor({id: idFornecedor})
        await fornecedor.carregar();
        await fornecedor.deletar();
        resposta.end()
    }
    catch(error){
        resposta.send(JSON.stringify({
            mensagem: error.message
        }))
    }
})
1 resposta

Boa tarde Nathan, tudo certo?

Não tenho certeza se entendi a sua dúvida, nós utilizamos o id como identificador único de um fornecedor em qualquer que seja o trecho de código.

Então, precisamos fazer essa verificação nas rotas pois só podemos editar ou deletar um objeto da classe Fornecedor caso ele exista.

Poderia detalhar melhor quais foram as alterações que te deixaram em dúvida?

Qualquer coisa estou no aguardo e bons estudos!