From 6f2f3b3529b8311e1743ffbf9561258e6c58f149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Kr=C3=BCger?= Date: Sat, 7 Mar 2026 10:54:29 +0100 Subject: [PATCH] fix: deduplicate model photos in public resolver to match admin behavior Co-Authored-By: Claude Sonnet 4.6 --- packages/backend/src/graphql/resolvers/models.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/backend/src/graphql/resolvers/models.ts b/packages/backend/src/graphql/resolvers/models.ts index f694370..9b4d56d 100644 --- a/packages/backend/src/graphql/resolvers/models.ts +++ b/packages/backend/src/graphql/resolvers/models.ts @@ -12,10 +12,12 @@ async function enrichModel(db: any, user: any) { .where(eq(user_photos.user_id, user.id)) .orderBy(user_photos.sort); - return { - ...user, - photos: photoRows.map((p: any) => ({ id: p.id, filename: p.filename })), - }; + const seen = new Set(); + const photos = photoRows + .filter((p: any) => p.id && !seen.has(p.id) && seen.add(p.id)) + .map((p: any) => ({ id: p.id, filename: p.filename })); + + return { ...user, photos }; } builder.queryField("models", (t) =>