no throw 202 (#20339)

This commit is contained in:
sean-brydon
2025-03-24 16:48:38 +00:00
committed by GitHub
parent c7641f852f
commit e4cfaa56f0
@@ -1,6 +1,5 @@
import logger from "@calcom/lib/logger";
import { HttpCode } from "./__handler";
import type { LazyModule, SWHMap } from "./__handler";
type Data = SWHMap["invoice.paid"]["data"];
@@ -30,10 +29,20 @@ const stripeWebhookProductHandler = (handlers: Handlers) => async (data: Data) =
}
const handlerGetter = handlers[productId as keyof typeof handlers];
if (!handlerGetter) throw new HttpCode(202, `No product handler found for product: ${productId}`);
/**
* If no handler is found, we skip the product. A handler could be null if we don't need webhooks to handle the business logic for the product.
*/
if (!handlerGetter) {
log.error(`Skipping product: ${productId} because no handler found`);
return { success: true };
}
const handler = (await handlerGetter())?.default;
// auto catch unsupported Stripe products.
if (!handler) throw new HttpCode(202, `No product handler found for product: ${productId}`);
if (!handler) {
log.error(`Skipping product: ${productId} because no handler found`);
return { success: true };
}
return await handler(data);
};