Favorieten toegevoegd aan de navigatiebalk en sidebar.
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
const FavoriteRepository = require("../repositories/FavoriteRepository");
|
||||
const ProductRepository = require("../repositories/ProductRepository");
|
||||
|
||||
class FavoriteService {
|
||||
getFavorites(userId, householdId) {
|
||||
return FavoriteRepository.getByHousehold(householdId);
|
||||
}
|
||||
|
||||
getFavoriteIds(userId, householdId) {
|
||||
return FavoriteRepository.getIdsByHousehold(householdId);
|
||||
}
|
||||
|
||||
toggleFavorite(userId, productId, householdId) {
|
||||
const product = ProductRepository.findById(productId, householdId);
|
||||
if (!product) return false;
|
||||
|
||||
const current = FavoriteRepository.find(householdId, productId);
|
||||
if (current) {
|
||||
FavoriteRepository.remove(householdId, productId);
|
||||
return false;
|
||||
}
|
||||
|
||||
FavoriteRepository.add(householdId, productId);
|
||||
return true;
|
||||
}
|
||||
|
||||
removeFavorite(userId, productId, householdId) {
|
||||
const product = ProductRepository.findById(productId, householdId);
|
||||
if (!product) return false;
|
||||
|
||||
return FavoriteRepository.remove(householdId, productId).changes > 0;
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = new FavoriteService();
|
||||
Reference in New Issue
Block a user