import "server-only"; import type { ServerEnvironment } from "@salixcommerce/config/server"; import { serverEnvironment } from "@/config/server"; import { emptyAdminRepository } from "./empty-admin-repository"; import type { AdminRepository } from "./repository"; import { createSupabaseAdminRepository } from "./supabase-admin-repository"; export function createAdminRepository(environment: ServerEnvironment): AdminRepository { if ( environment.SALIX_SUPABASE_URL === undefined || environment.SALIX_SUPABASE_SERVICE_ROLE_KEY === undefined ) { return emptyAdminRepository; } return createSupabaseAdminRepository({ serviceRoleKey: environment.SALIX_SUPABASE_SERVICE_ROLE_KEY, url: environment.SALIX_SUPABASE_URL, }); } export const adminRepository = createAdminRepository(serverEnvironment); export const adminAuthConfigured = serverEnvironment.SALIX_SUPABASE_URL !== undefined && serverEnvironment.SALIX_SUPABASE_PUBLISHABLE_KEY !== undefined && serverEnvironment.SALIX_SUPABASE_SERVICE_ROLE_KEY !== undefined;