fix: make revenuecat config optional in api

This commit is contained in:
Arthur Belleville 2026-05-06 23:44:02 +02:00
parent 8a99a1a792
commit 0a647fc7c4
No known key found for this signature in database
2 changed files with 10 additions and 24 deletions

View file

@ -59,21 +59,16 @@ describe("createConfig revenuecat env", () => {
expect(config.REVENUECAT_ANNUAL_PRODUCT_ID).toBe("annual_ios");
});
it("throws when the revenuecat webhook auth header is missing", () => {
it("defaults revenuecat env to empty strings when unset", () => {
setRequiredBaseEnv();
process.env.REVENUECAT_WEBHOOK_AUTH_HEADER = "";
expect(() => createConfig(baseSecrets)).toThrow(
"Missing required environment variable: REVENUECAT_WEBHOOK_AUTH_HEADER"
);
});
it("throws when the annual product id is missing", () => {
setRequiredBaseEnv();
process.env.REVENUECAT_SOLO_PRODUCT_ID = "";
process.env.REVENUECAT_ANNUAL_PRODUCT_ID = "";
expect(() => createConfig(baseSecrets)).toThrow(
"Missing required environment variable: REVENUECAT_ANNUAL_PRODUCT_ID"
);
const config = createConfig(baseSecrets);
expect(config.REVENUECAT_WEBHOOK_AUTH_HEADER).toBe("");
expect(config.REVENUECAT_SOLO_PRODUCT_ID).toBe("");
expect(config.REVENUECAT_ANNUAL_PRODUCT_ID).toBe("");
});
});

View file

@ -136,18 +136,9 @@ export function createConfig(secrets?: Secrets): AppConfig {
"STRIPE_FOUNDER_PRICE_ID",
process.env.STRIPE_FOUNDER_PRICE_ID
),
REVENUECAT_WEBHOOK_AUTH_HEADER: validateEnvVar(
"REVENUECAT_WEBHOOK_AUTH_HEADER",
process.env.REVENUECAT_WEBHOOK_AUTH_HEADER
),
REVENUECAT_SOLO_PRODUCT_ID: validateEnvVar(
"REVENUECAT_SOLO_PRODUCT_ID",
process.env.REVENUECAT_SOLO_PRODUCT_ID
),
REVENUECAT_ANNUAL_PRODUCT_ID: validateEnvVar(
"REVENUECAT_ANNUAL_PRODUCT_ID",
process.env.REVENUECAT_ANNUAL_PRODUCT_ID
),
REVENUECAT_WEBHOOK_AUTH_HEADER: process.env.REVENUECAT_WEBHOOK_AUTH_HEADER || "",
REVENUECAT_SOLO_PRODUCT_ID: process.env.REVENUECAT_SOLO_PRODUCT_ID || "",
REVENUECAT_ANNUAL_PRODUCT_ID: process.env.REVENUECAT_ANNUAL_PRODUCT_ID || "",
EMAIL_USER: validateEnvVar("EMAIL_USER", process.env.EMAIL_USER),
EMAIL_CLIENT_ID: validateEnvVar("EMAIL_CLIENT_ID", process.env.EMAIL_CLIENT_ID),
EMAIL_CLIENT_SECRET: isTestMode