Files
wr.do/lib/domainConfig.ts
2025-05-21 19:15:10 +08:00

35 lines
900 B
TypeScript

import { getAllDomains } from "@/lib/dto/domains";
export async function getDomainConfig() {
return await getAllDomains();
}
export async function getCloudflareCredentials(domain_name: string) {
try {
const domains = await getAllDomains();
const domain = domains.list.find((d) => d.domain_name === domain_name);
if (!domain || !domain.cf_api_key || !domain.cf_email) {
throw new Error(
`No Cloudflare credentials found for domain: ${domain_name}`,
);
}
let apiKey = domain.cf_api_key;
if (domain.cf_api_key_encrypted) {
// TODO
apiKey = decrypt(apiKey);
}
return {
api_key: apiKey,
email: domain.cf_email,
};
} catch (error) {
throw new Error(`Failed to fetch credentials: ${error.message}`);
}
}
function decrypt(encryptedKey: string) {
return encryptedKey; // Replace with actual decryption logic
}