Files
mealprep/backend/src/main/java/com/recipeapp/recipe/HouseholdResolver.java
Marcel Raddatz 9ec703abcd Implement Recipe, Planning, Shopping, Pantry, and Admin domains
Outside-in TDD for all 5 remaining domains (128 tests total):
- Recipe: CRUD, ingredients autocomplete/patch, tags, categories (27 tests)
- Planning: week plans, slots, confirm, suggestions, variety score, cooking logs (24 tests)
- Shopping: generate from plan, publish, check/add/remove items (15 tests)
- Pantry: CRUD with expiry sorting (11 tests)
- Admin: user management, password reset, audit logging (13 tests)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 21:56:51 +02:00

32 lines
1.0 KiB
Java

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"));
}
}