Files
Jyotisha/frontend/src/lib/epay/availability.ts
T
linmeng f4e35974c6
Deploy staging to test server / deploy (push) Failing after 14m49s
Revert "merge: sync GitHub staging to Gitea"
This reverts commit a55c69115d, reversing
changes made to 02c9c9f3d6.
2026-07-30 14:38:17 +08:00

44 lines
1.1 KiB
TypeScript

import "server-only";
import { createAdminSupabaseClient } from "@/lib/supabase/admin";
function strictEnvironmentChatEnabled() {
const value = process.env.EPAY_CHAT_ENABLED?.trim().toLowerCase();
return value === "true" || value === "1";
}
function environmentConfigComplete() {
return Boolean(
process.env.EPAY_GATEWAY_URL?.trim()
&& process.env.EPAY_PID?.trim()
&& process.env.EPAY_KEY?.trim(),
);
}
export async function readEpayAvailability() {
try {
const { data, error } = await createAdminSupabaseClient()
.from("epay_settings")
.select("gateway_url,pid,encrypted_key,notify_url,return_url,site_name,chat_enabled")
.eq("id", true)
.maybeSingle();
if (error?.code === "42P01") {
return { enabled: strictEnvironmentChatEnabled() && environmentConfigComplete() };
}
if (error || !data) return { enabled: false };
return {
enabled: Boolean(
data.chat_enabled
&& data.gateway_url
&& data.pid
&& data.encrypted_key
&& data.notify_url
&& data.return_url
&& data.site_name,
),
};
} catch {
return { enabled: false };
}
}