Add fallback to supabase update when /api/profile/ensure returns 404
cgen-e3260a3d006143b9b175d52103ef9d09
This commit is contained in:
parent
f70ffedd4e
commit
6d23639e03
1 changed files with 25 additions and 8 deletions
|
|
@ -148,15 +148,32 @@ export default function Onboarding() {
|
||||||
headers: { "Content-Type": "application/json" },
|
headers: { "Content-Type": "application/json" },
|
||||||
body: JSON.stringify({ id: user.id, profile: payload }),
|
body: JSON.stringify({ id: user.id, profile: payload }),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// If server endpoint missing (404) or returns server error, fallback to direct Supabase client
|
||||||
if (!ensureResp.ok) {
|
if (!ensureResp.ok) {
|
||||||
const text = await ensureResp.text().catch(() => "");
|
// If endpoint not found, attempt client-side upsert via Supabase SDK
|
||||||
let parsedError: any = undefined;
|
if (ensureResp.status === 404) {
|
||||||
try {
|
try {
|
||||||
parsedError = JSON.parse(text);
|
await aethexUserService.updateProfile(user.id, payload as any);
|
||||||
} catch {}
|
} catch (err) {
|
||||||
const message =
|
const text = await ensureResp.text().catch(() => "");
|
||||||
parsedError?.error || text || `HTTP ${ensureResp.status}`;
|
let parsedError: any = undefined;
|
||||||
throw new Error(message);
|
try {
|
||||||
|
parsedError = JSON.parse(text);
|
||||||
|
} catch {}
|
||||||
|
const message = parsedError?.error || text || `HTTP ${ensureResp.status}`;
|
||||||
|
throw new Error(`Server endpoint missing and client fallback failed: ${message}`);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
const text = await ensureResp.text().catch(() => "");
|
||||||
|
let parsedError: any = undefined;
|
||||||
|
try {
|
||||||
|
parsedError = JSON.parse(text);
|
||||||
|
} catch {}
|
||||||
|
const message =
|
||||||
|
parsedError?.error || text || `HTTP ${ensureResp.status}`;
|
||||||
|
throw new Error(message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fire-and-forget interests via server
|
// Fire-and-forget interests via server
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue