package com.recipeapp.recipe; import com.recipeapp.common.ResourceNotFoundException; import com.recipeapp.household.HouseholdMemberRepository; import com.recipeapp.household.entity.HouseholdMember; import org.springframework.stereotype.Component; import java.util.UUID; @Component public class HouseholdResolver { private final HouseholdMemberRepository householdMemberRepository; public HouseholdResolver(HouseholdMemberRepository householdMemberRepository) { this.householdMemberRepository = householdMemberRepository; } public UUID resolve(String userEmail) { return findMembership(userEmail).getHousehold().getId(); } public UUID resolveUserId(String userEmail) { return findMembership(userEmail).getUser().getId(); } private HouseholdMember findMembership(String userEmail) { return householdMemberRepository.findByUserEmailIgnoreCase(userEmail) .orElseThrow(() -> new ResourceNotFoundException("User is not in a household")); } }