Stop Autumn-only code paths throwing in local-ledger billing mode
Two call sites still hard-required AUTUMN_SECRET_KEY regardless of billing mode: the /api/autumn/$ route (autumn-js's client-side hooks hit it after sign-up/on billing screens) and getBillingUsageEvents (Autumn's per-event usage history). Both now degrade gracefully — 404 and an empty list, respectively — when Autumn isn't configured, the same way subscription.ts's credit checks already do, instead of autumn-js throwing "secret key not found" once a request actually reaches it. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
parent
78d0aaad0c
commit
9298f67c7f
@ -53,7 +53,13 @@ function loadHandler() {
|
||||
}
|
||||
|
||||
async function handleAutumnRequest(request: Request) {
|
||||
if (!isHostedAuthMode(env.AUTH_MODE)) {
|
||||
// 404 in non-hosted modes, and also in hosted mode when Autumn isn't
|
||||
// configured — a direct-Stripe deployment runs the local-ledger billing
|
||||
// fallback instead (see subscription.ts) and has no Autumn customer to
|
||||
// read, so this route has nothing to serve. Checking here, before
|
||||
// loadHandler(), avoids autumn-js throwing "secret key not found" deep
|
||||
// inside the handler once a client request reaches it.
|
||||
if (!isHostedAuthMode(env.AUTH_MODE) || !env.AUTUMN_SECRET_KEY?.trim()) {
|
||||
return new Response("Not found", {
|
||||
status: 404,
|
||||
});
|
||||
|
||||
@ -6,6 +6,7 @@ import {
|
||||
} from "@/shared/billing";
|
||||
import { AppError } from "@/server/lib/errors";
|
||||
import {
|
||||
getOptionalEnvValue,
|
||||
getRequiredEnvValue,
|
||||
isHostedServerAuthMode,
|
||||
} from "@/server/lib/runtime-env";
|
||||
@ -61,6 +62,13 @@ export const getBillingUsageEvents = createServerFn({ method: "POST" })
|
||||
return [];
|
||||
}
|
||||
|
||||
// No Autumn behind this deployment (local-ledger billing fallback, see
|
||||
// subscription.ts) — there's no per-event usage history to page through,
|
||||
// just the running total the ledger keeps.
|
||||
if (!(await getOptionalEnvValue("AUTUMN_SECRET_KEY"))) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const events: BillingUsageEvent[] = [];
|
||||
let offset = 0;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user