Public Access
feat(meals): suggest complementary sides
This commit is contained in:
@@ -29,6 +29,7 @@ from app.services.planner.filter import filter_recipes
|
||||
from app.services.planner.score import score_recipes
|
||||
from app.services.planner.select import select_set
|
||||
from app.services.planner.types import GenerationResult
|
||||
from app.services.meal_pairings import components_with_suggested_sides
|
||||
|
||||
|
||||
def _load_match_index(db: Session) -> Dict[UUID, List[dict]]:
|
||||
@@ -234,9 +235,11 @@ def generate_meal_plan(
|
||||
db.flush()
|
||||
|
||||
_dinner_days = [1, 3, 5] # Mon, Wed, Fri — spread across the week
|
||||
recipe_by_id = {recipe.id: recipe for recipe in recipes}
|
||||
for index, scored_recipe in enumerate(chosen):
|
||||
day = _dinner_days[index] if index < len(_dinner_days) else index + 1
|
||||
meal_type = MealType.DINNER
|
||||
recipe = recipe_by_id.get(scored_recipe.recipe_id)
|
||||
item = MealPlanItem(
|
||||
meal_plan_id=plan.id,
|
||||
recipe_id=scored_recipe.recipe_id,
|
||||
@@ -245,7 +248,11 @@ def generate_meal_plan(
|
||||
approval_status=MealPlanItemStatus.pending,
|
||||
estimated_cost=scored_recipe.cost.total_cost,
|
||||
score=scored_recipe.score,
|
||||
components=scored_recipe.components,
|
||||
components=components_with_suggested_sides(
|
||||
recipe,
|
||||
meal_type,
|
||||
scored_recipe.components,
|
||||
),
|
||||
)
|
||||
db.add(item)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user