28 lines
857 B
TypeScript
28 lines
857 B
TypeScript
import { createClient, SupabaseClient } from '@supabase/supabase-js';
|
|
|
|
let _admin: SupabaseClient | null = null;
|
|
|
|
export function getSupabaseAdmin(): SupabaseClient {
|
|
if (_admin) return _admin;
|
|
const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
|
|
const key = process.env.SUPABASE_SERVICE_ROLE_KEY;
|
|
if (!url || !key) {
|
|
throw new Error('Supabase admin env not configured');
|
|
}
|
|
_admin = createClient(url, key, {
|
|
auth: { autoRefreshToken: false, persistSession: false },
|
|
});
|
|
return _admin;
|
|
}
|
|
|
|
export function getSupabaseAnon(): SupabaseClient {
|
|
const url = process.env.NEXT_PUBLIC_SUPABASE_URL;
|
|
const key = process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY;
|
|
if (!url || !key) {
|
|
throw new Error('Supabase anon env not configured');
|
|
}
|
|
return createClient(url, key, {
|
|
auth: { autoRefreshToken: false, persistSession: false },
|
|
});
|
|
}
|