SOURCE.IO / src /lib /podcast.ts
Adeen
Fix FN_URL in podcast.ts to use runtime config
ce95630
import { supabase, SUPABASE_URL } from "@/integrations/supabase/client";
const FN_URL = (name: string) =>
`${SUPABASE_URL}/functions/v1/${name}`;
export async function generatePodcast(documentId: string): Promise<{ ok: boolean; status: string }> {
const { data: { session } } = await supabase.auth.getSession();
const token = session?.access_token;
if (!token) throw new Error("Not authenticated");
const resp = await fetch(FN_URL("generate_podcast"), {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${token}`,
},
body: JSON.stringify({ document_id: documentId }),
});
if (!resp.ok) {
if (resp.status === 429) throw new Error("Rate limit exceeded β€” try again shortly.");
if (resp.status === 402) throw new Error("Out of AI credits β€” add funds in Settings β†’ Workspace β†’ Usage.");
const t = await resp.text();
throw new Error(t || `Podcast generation failed (${resp.status})`);
}
return await resp.json();
}