From bde08a0d2f9e337968dce531fa89a095c338e26d Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 19 Aug 2026 17:28:14 +0000 Subject: [PATCH] fix(vad-ska-vi-ata): visa betyg (stjarnor) i listan ScoredRecommendation som rankAll returnerar bar inte ratingAverage/ratingCount, sa svaret till mobilen saknade dem helt -> stjarnorna syntes aldrig aven efter satt betyg. Aterkopplar nu betyg per recept fran kandidaterna i svaret. --- apps/api/src/routes/recommendations.ts | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/apps/api/src/routes/recommendations.ts b/apps/api/src/routes/recommendations.ts index b78e1df..4020063 100644 --- a/apps/api/src/routes/recommendations.ts +++ b/apps/api/src/routes/recommendations.ts @@ -511,6 +511,16 @@ export async function recommendationRoutes(app: FastifyInstance) { : "Färdig mat som väntar – snabbaste middagen i huset.", })); + // Betyg (stjärnor) finns på kandidaterna men följer INTE med i + // ScoredRecommendation som rankAll returnerar. Återkoppla dem per recept så + // mobilen kan visa "★ 4,5 · 12" i listan (annars syns aldrig satta betyg). + const ratingByRecipe = new Map( + scoredCandidates.map((c) => [ + c.recipeId, + { average: c.ratingAverage, count: c.ratingCount }, + ]), + ); + return { mealType: q.mealType, context: { @@ -526,7 +536,11 @@ export async function recommendationRoutes(app: FastifyInstance) { view: q.view, }, mealBoxSuggestions, - recommendations, + recommendations: recommendations.map((r) => ({ + ...r, + ratingAverage: ratingByRecipe.get(r.recipeId)?.average ?? null, + ratingCount: ratingByRecipe.get(r.recipeId)?.count ?? 0, + })), }; }); }