Seed core achievements for target user

cgen-7f0f1ffc78a545f9a60c8e000675ded8
This commit is contained in:
Builder.io 2025-10-05 00:08:33 +00:00
parent b756171b8f
commit d9d9e97025

View file

@ -140,7 +140,9 @@ export default async function handler(
}
}
const awardedAchievementIds: string[] = [];
let godModeAwarded = false;
if (targetUserId) {
const progressStats = {
level: 100,
@ -159,35 +161,54 @@ export default async function handler(
})
.eq("id", targetUserId);
const { data: existingGodMode } = await admin
const { data: existingRows, error: existingError } = await admin
.from("user_achievements")
.select("id")
.eq("user_id", targetUserId)
.eq("achievement_id", "god-mode")
.maybeSingle();
.select("achievement_id")
.eq("user_id", targetUserId);
if (existingError) {
throw existingError;
}
const existingIds = new Set((existingRows ?? []).map((row: any) => row.achievement_id));
for (const achievement of CORE_ACHIEVEMENTS) {
if (existingIds.has(achievement.id)) {
if (achievement.id === "god-mode") {
godModeAwarded = true;
}
continue;
}
if (!existingGodMode) {
const { error: insertError } = await admin
.from("user_achievements")
.insert({
id: randomUUID(),
user_id: targetUserId,
achievement_id: "god-mode",
achievement_id: achievement.id,
earned_at: nowIso,
});
if (insertError) {
if (insertError && insertError.code !== "23505") {
throw insertError;
}
awardedAchievementIds.push(achievement.id);
if (achievement.id === "god-mode") {
godModeAwarded = true;
}
}
godModeAwarded = true;
if (!godModeAwarded && existingIds.has("god-mode")) {
godModeAwarded = true;
}
}
return res.json({
ok: true,
achievementsSeeded: achievementResults.length,
godModeAwarded,
awardedAchievementIds,
targetUserId,
});
} catch (error: any) {