import "server-only"; import type { ServerEnvironment } from "@salixcommerce/config/server"; import { applicationConfiguration } from "@/config/public"; import { serverEnvironment } from "@/config/server"; import { emptyCommerceRepository } from "./empty-commerce-repository"; import type { CommerceRepository } from "./repository"; import { createSupabaseCommerceRepository } from "./supabase-commerce-repository"; export function createCommerceRepository(environment: ServerEnvironment): CommerceRepository { if ( environment.SALIX_SUPABASE_URL === undefined || environment.SALIX_SUPABASE_SERVICE_ROLE_KEY === undefined ) { return emptyCommerceRepository; } return createSupabaseCommerceRepository({ currency: applicationConfiguration.business.currency, serviceRoleKey: environment.SALIX_SUPABASE_SERVICE_ROLE_KEY, url: environment.SALIX_SUPABASE_URL, }); } export const commerceEnabled = serverEnvironment.SALIX_SUPABASE_URL !== undefined && serverEnvironment.SALIX_SUPABASE_SERVICE_ROLE_KEY !== undefined; export const commerceRepository = createCommerceRepository(serverEnvironment);