Files
next-template/src/utils/supabase/server.ts
2025-07-09 16:39:31 -05:00

31 lines
813 B
TypeScript

'use server';
import 'server-only';
import { createServerClient } from '@supabase/ssr';
import type { Database } from '@/utils/supabase';
import { cookies } from 'next/headers';
export const SupabaseServer = async () => {
const cookieStore = await cookies();
return createServerClient<Database>(
process.env.NEXT_PUBLIC_SUPABASE_URL!,
process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!,
{
cookies: {
getAll() {
return cookieStore.getAll();
},
setAll(cookiesToSet) {
try {
cookiesToSet.forEach(({ name, value, options }) => {
cookieStore.set(name, value, options);
});
} catch (error) {
console.error(`Error setting cookies: ${error as string}`);
}
},
},
},
);
};