Favorieten toegevoegd aan de navigatiebalk en sidebar.
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
const ProductRepository = require("../repositories/ProductRepository");
|
||||
const ShoppingListRepository = require("../repositories/ShoppingListRepository");
|
||||
const FavoriteService = require("../services/FavoriteService");
|
||||
|
||||
class ShoppingListController {
|
||||
index(req, res) {
|
||||
@@ -63,6 +64,40 @@ class ShoppingListController {
|
||||
res.redirect(`/lists/${list.id}`);
|
||||
}
|
||||
|
||||
clearItems(req, res) {
|
||||
const list = ShoppingListRepository.findById(req.params.id, req.user.household_id);
|
||||
if (!list) return res.status(404).render("errors/404");
|
||||
|
||||
ShoppingListRepository.clearItems(list.id);
|
||||
this.broadcastUpdate(req, list.id);
|
||||
req.flash("success", "Alle producten zijn verwijderd uit de lijst.");
|
||||
res.redirect(`/lists/${list.id}`);
|
||||
}
|
||||
|
||||
addFavoriteProducts(req, res) {
|
||||
const list = ShoppingListRepository.findById(req.params.id, req.user.household_id);
|
||||
if (!list) return res.status(404).render("errors/404");
|
||||
|
||||
const favorites = FavoriteService.getFavorites(req.user.id, req.user.household_id);
|
||||
const items = favorites.map((favorite) => ({
|
||||
list_id: list.id,
|
||||
product_id: favorite.id,
|
||||
amount: 1,
|
||||
checked: 0,
|
||||
sort_order: 0
|
||||
}));
|
||||
|
||||
if (items.length === 0) {
|
||||
req.flash("info", "Je hebt nog geen favorieten om toe te voegen.");
|
||||
return res.redirect(`/lists/${list.id}`);
|
||||
}
|
||||
|
||||
ShoppingListRepository.addItems(list.id, items);
|
||||
this.broadcastUpdate(req, list.id);
|
||||
req.flash("success", `${items.length} favoriete producten toegevoegd aan de lijst.`);
|
||||
res.redirect(`/lists/${list.id}`);
|
||||
}
|
||||
|
||||
deleteItem(req, res) {
|
||||
const list = ShoppingListRepository.findById(req.params.id, req.user.household_id);
|
||||
if (!list) return res.status(404).json({ error: "Lijst niet gevonden" });
|
||||
|
||||
Reference in New Issue
Block a user