zie vorige message

This commit is contained in:
2026-08-09 19:55:00 +02:00
parent c37b8956d4
commit 7ef4852efd
15 changed files with 98 additions and 16 deletions
+18 -4
View File
@@ -22,6 +22,7 @@ class AuthController {
const name = (req.body.name || "").trim();
const email = (req.body.email || "").trim().toLowerCase();
const password = req.body.password || "";
const inviteCode = (req.body.household_code || "").trim();
if (name.length < 2 || !/^\S+@\S+\.\S+$/.test(email) || password.length < 8) {
req.flash("error", "Vul een naam, geldig e-mailadres en een wachtwoord van minimaal 8 tekens in.");
@@ -45,6 +46,15 @@ class AuthController {
}
const invitedHousehold = inviteCode
? HouseholdService.findByInviteCode(inviteCode)
: null;
if (inviteCode && !invitedHousehold) {
req.flash("error", "De huishoudcode bestaat niet.");
return res.redirect("/register");
}
const passwordHash = await bcrypt.hash(
password,
@@ -73,10 +83,14 @@ class AuthController {
const userId = result.lastInsertRowid;
HouseholdService.createForUser(
userId,
`${name} huishouden`
);
if (invitedHousehold) {
HouseholdService.addMember(invitedHousehold.id, userId);
} else {
HouseholdService.createForUser(
userId,
`${name} huishouden`
);
}
req.session.userId = userId;
+9
View File
@@ -54,6 +54,15 @@ class ShoppingListController {
res.redirect(`/lists/${list.id}`);
}
resetItems(req, res) {
const list = ShoppingListRepository.findById(req.params.id, req.user.household_id);
if (!list) return res.status(404).render("errors/404");
ShoppingListRepository.resetItems(list.id);
this.broadcastUpdate(req, list.id);
req.flash("success", "Alle producten staan weer open.");
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" });