import type { Payment } from "@calcom/prisma/client"; function hasStringProp(x: unknown, key: T): x is { [key in T]: string } { return !!x && typeof x === "object" && key in x; } export function getClientSecretFromPayment( payment: Omit, "data"> & { data: Record } ) { if ( payment.paymentOption === "HOLD" && hasStringProp(payment.data, "setupIntent") && hasStringProp(payment.data.setupIntent, "client_secret") ) { return payment.data.setupIntent.client_secret; } if (hasStringProp(payment.data, "client_secret")) { return payment.data.client_secret; } return ""; }