Multi tenant DB, registratie per huishouden V1.2

This commit is contained in:
2026-08-09 19:50:53 +02:00
parent 1f9fd73026
commit c37b8956d4
15 changed files with 148 additions and 96 deletions
+10 -10
View File
@@ -4,16 +4,16 @@ const CategoryRepository = require("../repositories/CategoryRepository");
class CategoryService {
getCategories() {
getCategories(householdId) {
return CategoryRepository.getAll();
return CategoryRepository.getAll(householdId);
}
getCategory(id) {
getCategory(id, householdId) {
return CategoryRepository.findById(id);
return CategoryRepository.findById(id, householdId);
}
@@ -25,23 +25,23 @@ class CategoryService {
}
updateCategory(id, data) {
updateCategory(id, householdId, data) {
return CategoryRepository.update(id, data);
return CategoryRepository.update(id, householdId, data);
}
categoryHasProducts(id) {
categoryHasProducts(id, householdId) {
return CategoryRepository.hasProducts(id);
return CategoryRepository.hasProducts(id, householdId);
}
deleteCategory(id) {
deleteCategory(id, householdId) {
return CategoryRepository.delete(id);
return CategoryRepository.delete(id, householdId);
}
+5 -5
View File
@@ -82,9 +82,9 @@ class MenuService {
}
getNewProducts(menu) {
getNewProducts(menu, householdId) {
const existingNames = new Set(
ProductRepository.getAll().map(product => normalizeName(product.name))
ProductRepository.getAll(householdId).map(product => normalizeName(product.name))
);
const seen = new Set();
const newProducts = [];
@@ -104,12 +104,12 @@ class MenuService {
addToShoppingList(householdId, name, menu) {
const products = ProductRepository.getAll();
const products = ProductRepository.getAll(householdId);
const productsByName = new Map(
products.map(product => [normalizeName(product.name), product])
);
const insertProduct = db.prepare(`
INSERT INTO products (name, category_id, barcode) VALUES (?, NULL, NULL)
INSERT INTO products (name, category_id, barcode, household_id) VALUES (?, NULL, NULL, ?)
`);
const insertList = db.prepare(`
INSERT INTO shopping_lists (household_id, name) VALUES (?, ?)
@@ -132,7 +132,7 @@ class MenuService {
let product = productsByName.get(key);
if (!product) {
const result = insertProduct.run(ingredient.name);
const result = insertProduct.run(ingredient.name, householdId);
product = { id: result.lastInsertRowid, name: ingredient.name };
productsByName.set(key, product);
}
+10 -10
View File
@@ -5,9 +5,9 @@ require("../repositories/ProductRepository");
class ProductService {
getProducts() {
getProducts(householdId) {
return ProductRepository.getAll();
return ProductRepository.getAll(householdId);
}
@@ -26,30 +26,30 @@ class ProductService {
}
getProduct(id) {
getProduct(id, householdId) {
return ProductRepository.findById(id);
return ProductRepository.findById(id, householdId);
}
updateProduct(id, data) {
updateProduct(id, householdId, data) {
return ProductRepository.update(id, data);
return ProductRepository.update(id, householdId, data);
}
productHasListItems(id) {
productHasListItems(id, householdId) {
return ProductRepository.hasListItems(id);
return ProductRepository.hasListItems(id, householdId);
}
deleteProduct(id) {
deleteProduct(id, householdId) {
return ProductRepository.delete(id);
return ProductRepository.delete(id, householdId);
}