cal.pub0.org/packages/trpc/server/routers/viewer/apps/updateAppCredentials.valida...

25 lines
730 B
TypeScript

import { TRPCError } from "@trpc/server";
import type { UpdateAppCredentialsOptions } from "./updateAppCredentials.handler";
const validators = {
paypal: () => import("@calcom/paypal/lib/updateAppCredentials.validator"),
};
export const handleCustomValidations = async ({
ctx,
input,
appId,
}: UpdateAppCredentialsOptions & { appId: string }) => {
const { key } = input;
const validatorGetter = validators[appId as keyof typeof validators];
// If no validator is found, return the key as is
if (!validatorGetter) return key;
try {
const validator = (await validatorGetter()).default;
return await validator({ input, ctx });
} catch (error) {
throw new TRPCError({ code: "BAD_REQUEST" });
}
};