I am trying to make an update route using NODE (Express and Sequelize).
I’m having trouble trying to make the update item for my database.
Here is how I’m trying to do it:
app.put('/updateitem/:id', async(req, res)=>{
const itemId = req.params.id;
const resultado = await item.replaceOne({_id: itemId}, req.body)
console.log(resultado)
Item.update({
Codigo: req.body.Codigo,
Descricao: req.body.Descricao,
Quantidade: req.body.Quantidade,
Preco: req.body.Preco,
Pcompra: req.body.Pcompra,
Lucroliq: req.body.Preco - req.body.Pcompra,
Lucro: (((req.body.Preco - req.body.Pcompra) / req.body.Pcompra) * 100).toFixed(2),},
{where: {'id': req.params.id}})})
I’m also using Handlebars which I don’t think is handling the item id in the url in the correct way.
<form action="/updateitem:id" method="PUT">
<p>Código</p>
<input type="text" value="{{item.Codigo}}" name="Codigo" placeholder="Codigo do Produto"> <br><br><br>
<p>Descrição</p>
<input type="text" value="{{item.Descricao}}" name="Descricao" placeholder="Descricao do Produto"> <br><br><br>
<p>Quantidade</p>
<input type="text" value="{{item.Quantidade}}" name="Quantidade" placeholder="Quantidade de itens"> <br><br><br>
<p>Preço</p>
<input type="text" value="{{item.Preco}}" name="Preco" placeholder="Preço do Produto"><br><br><br>
<p>Preço de Compra</p>
<input type="text" value="{{item.Pcompra}}" name="Pcompra" placeholder="Preço de Compra"> <br><br><br>
<input type="submit" value="Enviar">
</form>
I also tried using <form action="/updateitem:{{id}}" method="PUT">
and <form action="/updateitem:{{item.id}}" method="PUT">
and they both didn’t work (maybe because of the put route).
1
<form action="/updateitem/{{item.id}}" method="PUT">
2