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();