Award Founding Member on verified email in check-verification endpoint

cgen-bab14ff37f4745e6bc0752e504052be4
This commit is contained in:
Builder.io 2025-10-17 23:59:22 +00:00
parent a29e359b40
commit 58392aa19b

View file

@ -143,6 +143,33 @@ export function createServer() {
}
const verified = Boolean(user?.email_confirmed_at || user?.confirmed_at);
if (verified) {
try {
// Look up the Founding Member achievement
const { data: ach, error: aErr } = await adminSupabase
.from("achievements")
.select("id")
.eq("name", "Founding Member")
.maybeSingle();
if (!aErr && ach?.id) {
// Award it if not already awarded
const { error: uaErr } = await adminSupabase
.from("user_achievements")
.upsert(
{ user_id: user.id, achievement_id: ach.id },
{ onConflict: "user_id,achievement_id" as any },
);
if (uaErr) {
console.warn("Failed to award Founding Member:", uaErr);
}
}
} catch (awardErr) {
console.warn("Awarding achievement on verification failed", awardErr);
}
}
return res.json({ verified, user });
} catch (e: any) {
console.error("[API] check verification exception", e);