Fix onboarding SQL column names

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Manohar Gupta 2026-05-17 00:15:51 +05:30
parent e7a5de3cc2
commit 514b115326

View file

@ -24,18 +24,19 @@ export async function POST(request: Request) {
const body = await request.json();
const { familyName, memberName, childName, birthDate, sex } = body;
try {
// Create family
const familyId = crypto.randomUUID();
await sql`
INSERT INTO families (id, name, tier, max_children, max_members, created_at, updated_at)
VALUES (${familyId}, ${familyName || "The Family"}, 'free', 3, 4, NOW(), NOW())
`;
await sql.unsafe(
`INSERT INTO families (id, name, tier, created_at, updated_at) VALUES ($1, $2, 'free', NOW(), NOW())`,
[familyId, familyName || "The Family"]
);
// Add member
await sql`
INSERT INTO family_members (id, family_id, user_id, role, display_name, created_at)
VALUES (${crypto.randomUUID()}, ${familyId}, ${userId}, 'admin', ${memberName}, NOW())
`;
await sql.unsafe(
`INSERT INTO family_members (id, family_id, user_id, role, display_name, created_at) VALUES ($1, $2, $3, 'admin', $4, NOW())`,
[crypto.randomUUID(), familyId, userId, memberName]
);
// Create child
const childId = crypto.randomUUID();
@ -48,10 +49,14 @@ export async function POST(request: Request) {
else if (months >= 6) stage = "solids_start";
else if (months >= 3) stage = "infant";
await sql`
INSERT INTO children (id, family_id, name, birth_date, sex, current_stage, created_at)
VALUES (${childId}, ${familyId}, ${childName}, ${birth.toISOString()}, ${sex}, ${stage}, NOW())
`;
await sql.unsafe(
`INSERT INTO children (id, family_id, name, birth_date, sex, current_stage, created_at, updated_at) VALUES ($1, $2, $3, $4, $5, $6, NOW(), NOW())`,
[childId, familyId, childName, birth.toISOString(), sex, stage]
);
return NextResponse.json({ success: true, childId, familyId });
} catch (error) {
console.error("Onboarding error:", error);
return NextResponse.json({ error: String(error) }, { status: 500 });
}
}