Estava finalizando o curso de Stream e Manipulação de arquivos. Na hora de refatorar os métodos, eu não consigo finalizar o PATCH.
O controller do patch:
app.patch('/atendimentos/:id', (req, res) => {
const id = parseInt(req.params.id);
const valores = req.body;
Atendimentos.altera(id, valores)
.then(resultados => res.json({...valores, id}))
.catch(erro => res.status(400).json(erro))
});
O model:
altera(id, valores){
return repositorios.altera(id, valores)
.then(resultados => { return (resultados)})
}
O repositorio:
altera(valores, id){
const sql = 'UPDATE Atendimentos SET ? WHERE id=?';
return query(sql, valores, id)
}
Menssagem de erro do Mysql: "sqlMessage": "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 1"
A SQL sendo executada:
"sql": "UPDATE Atendimentos SET pet
= 'Marte 4', servico
= 'tosa e banho', status
= 'feito', data
= '24/09/2021' WHERE id = ?"
EU não entendi como o id não captura e guarda na variável.