Sessions 5-7a: 955 tests, deployment ready
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
import { createClient, type SupabaseClient } from '@supabase/supabase-js';
|
||||
|
||||
const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
|
||||
const anonKey = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
|
||||
|
||||
let browserClient: SupabaseClient | null = null;
|
||||
|
||||
export function getBrowserSupabase(): SupabaseClient | null {
|
||||
if (typeof window === 'undefined') return null;
|
||||
if (!url || !anonKey) return null;
|
||||
if (browserClient) return browserClient;
|
||||
browserClient = createClient(url, anonKey, {
|
||||
auth: {
|
||||
persistSession: true,
|
||||
autoRefreshToken: true,
|
||||
detectSessionInUrl: true,
|
||||
},
|
||||
});
|
||||
return browserClient;
|
||||
}
|
||||
|
||||
export function getServerSupabase(authHeader?: string | null): SupabaseClient | null {
|
||||
if (!url || !anonKey) return null;
|
||||
return createClient(url, anonKey, {
|
||||
auth: { persistSession: false, autoRefreshToken: false },
|
||||
global: authHeader ? { headers: { Authorization: authHeader } } : undefined,
|
||||
});
|
||||
}
|
||||
|
||||
export function getServiceRoleSupabase(): SupabaseClient | null {
|
||||
const serviceKey = process.env.SUPABASE_SERVICE_ROLE_KEY;
|
||||
if (!url || !serviceKey) return null;
|
||||
return createClient(url, serviceKey, {
|
||||
auth: { persistSession: false, autoRefreshToken: false },
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user