Files
PantryHub/services/FavoriteService.js
T

36 lines
1.1 KiB
JavaScript

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