const { createClient } = require('@supabase/supabase-js');

let client = null;
let serviceClient = null;

function getSupabaseClient() {
  if (!client) {
    client = createClient(
      process.env.SUPABASE_URL,
      process.env.SUPABASE_ANON_KEY
    );
  }
  return client;
}

function getSupabaseServiceClient() {
  if (!serviceClient) {
    // SUPABASE_SERVICE_ROLE_KEY is the canonical name across .env.example
    // and the Next.js side. The fallback to SUPABASE_SERVICE_KEY supports
    // any deployment still set with the legacy variable so the rename
    // doesn't take down a running instance — remove the fallback once all
    // Coolify envs are updated.
    serviceClient = createClient(
      process.env.SUPABASE_URL,
      process.env.SUPABASE_SERVICE_ROLE_KEY || process.env.SUPABASE_SERVICE_KEY
    );
  }
  return serviceClient;
}

module.exports = { getSupabaseClient, getSupabaseServiceClient };
