From 2b8e99ca8e4d1128a58863fd5fc8edd79fe9a5b5 Mon Sep 17 00:00:00 2001 From: "Builder.io" Date: Sun, 28 Sep 2025 07:14:49 +0000 Subject: [PATCH] Use proper upsert for awarding achievements to avoid duplicate key errors cgen-5db038e31ab84dcd92d09aa52e4a0291 --- server/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/index.ts b/server/index.ts index 44dc5b1a..e4cbb85c 100644 --- a/server/index.ts +++ b/server/index.ts @@ -214,7 +214,7 @@ export function createServer() { if (!rows.length) return res.json({ ok: true, awarded: [] }); const { error: iErr } = await adminSupabase .from("user_achievements") - .insert(rows, { upsert: true }); + .upsert(rows, { onConflict: "user_id,achievement_id" as any }); if (iErr && iErr.code !== "23505") return res.status(500).json({ error: iErr.message }); return res.json({ ok: true, awarded: rows.length });