Open LuiosDyet opened 2 years ago
Sprint 5 esto sigue sin estar resuelto!
En este caso, de acuerdo al video que explica Luis lo que debíamos hacer llamar a la función de getProducts() en cada método del controlador para que, por ejemplo, al borrar un producto, vuelva a requerir los productos en el controlador correspondiente y lo modifique ya que si lo tenemos definido en una variable fuera de cada método del controlador (global), al actualizar o borrar no se verá el cambio realizado porque ya tomó los productos en la función definida al principio const products = db.getProducts();
Por ejemplo, hacerlo de la siguiente forma:
destroy: (req, res) => { const products = db.getProducts(); const index = products.findIndex((p) => p.id == req.params.id);
if(products[index].image != '/images/default-image.png')
{
fs.unlinkSync( path.join(__dirname,'../public/'+ products[index].image));
}
products.splice(index,1);
db.saveProducts(products);
res.redirect("/");
}
Saludos
https://github.com/0322CDFSNCN16LAED/grupo-07/blob/604d6f9e1b9798e28179b5b88841a98857c819ea/controllers/productsController.js#L4
// Llamar la función cada vez que se ejecute un método del controlador // pueden seguir esta conversación que da una pista de este error // https://discord.com/channels/955297766001750076/979147632289128478/990372302833201172 // const products = db.getProducts();