29 lines
940 B
TypeScript
29 lines
940 B
TypeScript
|
import appStore from "@calcom/app-store";
|
||
|
import { EventTypeAppsList } from "@calcom/app-store/utils";
|
||
|
|
||
|
import { AppCategories, Payment, Prisma } from ".prisma/client";
|
||
|
|
||
|
const deletePayment = async (
|
||
|
paymentId: Payment["id"],
|
||
|
paymentAppCredentials: {
|
||
|
key: Prisma.JsonValue;
|
||
|
appId: string | null;
|
||
|
app: {
|
||
|
dirName: string;
|
||
|
categories: AppCategories[];
|
||
|
} | null;
|
||
|
}
|
||
|
): Promise<boolean> => {
|
||
|
const paymentApp = appStore[paymentAppCredentials?.app?.dirName as keyof typeof appStore];
|
||
|
if (!(paymentApp && "lib" in paymentApp && "PaymentService" in paymentApp.lib)) {
|
||
|
console.warn(`payment App service of type ${paymentApp} is not implemented`);
|
||
|
return false;
|
||
|
}
|
||
|
const PaymentService = paymentApp.lib.PaymentService;
|
||
|
const paymentInstance = new PaymentService(paymentAppCredentials);
|
||
|
const deleted = await paymentInstance.deletePayment(paymentId);
|
||
|
return deleted;
|
||
|
};
|
||
|
|
||
|
export { deletePayment };
|