ledgerone_backend/src/supabase/supabase.service.ts
2026-02-24 21:45:18 +00:00

34 lines
855 B
TypeScript

import { Injectable } from "@nestjs/common";
import { createClient, SupabaseClient } from "@supabase/supabase-js";
@Injectable()
export class SupabaseService {
private readonly client: SupabaseClient;
constructor() {
const url = this.requireEnv("SUPABASE_URL");
const serviceKey =
process.env.SUPABASE_SERVICE_KEY ?? process.env.SUPABASE_ANON_KEY;
if (!serviceKey) {
throw new Error(
"Missing SUPABASE_SERVICE_KEY (preferred) or SUPABASE_ANON_KEY environment variable."
);
}
this.client = createClient(url, serviceKey, {
auth: { persistSession: false }
});
}
getClient() {
return this.client;
}
private requireEnv(name: string) {
const value = process.env[name];
if (!value) {
throw new Error(`Missing ${name} environment variable.`);
}
return value;
}
}