Files
ACVE/lib/supabase/server.ts
2026-02-17 00:07:00 +00:00

36 lines
893 B
TypeScript
Executable File

import { cookies } from "next/headers";
import { createServerClient, type CookieOptions } from "@supabase/ssr";
import { readSupabasePublicConfig } from "@/lib/supabase/config";
export const supabaseServer = async () => {
const config = readSupabasePublicConfig();
if (!config) {
return null;
}
const cookieStore = await cookies();
return createServerClient(config.url, config.anonKey, {
cookies: {
getAll() {
return cookieStore.getAll();
},
setAll(
cookiesToSet: Array<{
name: string;
value: string;
options?: CookieOptions;
}>,
) {
try {
cookiesToSet.forEach(({ name, value, options }) => {
cookieStore.set(name, value, options);
});
} catch {
// Server Components may not be able to write cookies.
}
},
},
});
};