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.
This commit is contained in:
@@ -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,
|
||||
})),
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user