1
resposta

Problema ao refatorar o PATCH

Tentei refatorar o PATCH. De início no atendimento.js da pasta models tirei a linha do const sql e da conexão, deixando da seguinte forma:

altera(id, valores) { if(valores.data) { valores.data = moment(valores.data, 'DD/MM/YYYY').format('YYYY-MM-DD HH:mm:ss') } return repositorio.altera(id,valores) }

Indo para o atendimento.js de repositorios, criei o metodo altera:

altera(id, valores){ const sql = 'UPDATE Atendimentos SET ? WHERE id=?' return query(sql, id, valores) }`

Depois fui para o atendimento, js de controllers:

` app.patch('/atendimentos/:id', (req,res) => { const id = parseInt(req.params.id) const valores = req.body

    Atendimento.altera(id, valores)
        .then(() =>
             res.status(200).json({...valores,id})
        )
        .catch( erros => res.status(400).json(erros))
})```

Porém, ao realizar o teste no postman, o seguinte erro foi retornado: "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 '14 WHERE id=?' at line 1"

1 resposta

Acho que você inverteu id e valores. Tente return query(sql, valores, id)