debug: improve logging for profile ensure endpoint

cgen-e760c158cc8a45009ef1e20a541e7cd6
This commit is contained in:
Builder.io 2025-09-28 04:14:05 +00:00
parent af9edd7b24
commit 234ef0fea8

View file

@ -84,16 +84,26 @@ export function createServer() {
app.post("/api/profile/ensure", async (req, res) => { app.post("/api/profile/ensure", async (req, res) => {
const { id, profile } = req.body || {}; const { id, profile } = req.body || {};
console.log("[API] /api/profile/ensure called", { id, profile });
if (!id) return res.status(400).json({ error: "missing id" }); if (!id) return res.status(400).json({ error: "missing id" });
try { try {
const { data, error } = await adminSupabase const resp = await adminSupabase
.from("user_profiles") .from("user_profiles")
.upsert({ id, ...profile }, { onConflict: "id" }) .upsert({ id, ...profile }, { onConflict: "id" })
.select() .select();
.single(); // Supabase may return { data, error } or throw. Normalize response
if (error) return res.status(500).json({ error: error.message }); const data = (resp as any).data ?? null;
res.json(data); const error = (resp as any).error ?? null;
if (error) {
console.error("[API] /api/profile/ensure supabase error:", error);
return res.status(500).json({ error: error.message || String(error) });
}
// If data is an array, pick the first
const row = Array.isArray(data) ? data[0] : data;
console.log("[API] /api/profile/ensure success", { row });
res.json(row || {});
} catch (e: any) { } catch (e: any) {
console.error("[API] /api/profile/ensure exception:", e);
res.status(500).json({ error: e?.message || String(e) }); res.status(500).json({ error: e?.message || String(e) });
} }
}); });