cal.pub0.org/lib/validations/webhook.ts

57 lines
1.3 KiB
TypeScript
Raw Normal View History

import { z } from "zod";
import { _WebhookModel as Webhook } from "@calcom/prisma/zod";
const schemaWebhookBaseBodyParams = Webhook.pick({
id: true,
userId: true,
eventTypeId: true,
eventTriggers: true,
active: true,
subscriberUrl: true,
payloadTemplate: true,
}).partial();
2022-05-20 19:48:24 +00:00
// const schemaWebhookCreateParams = z
// .object({
// id: z.string(),
// subscriberUrl: z.string(),
// })
// .strict();
export const schemaWebhookCreateBodyParams = schemaWebhookBaseBodyParams.merge(
z.object({
id: z.string(),
subscriberUrl: z.string(),
})
2022-05-20 19:48:24 +00:00
);
2022-05-20 19:48:24 +00:00
// const schemaWebhookEditParams = z
// .object({
// payloadTemplate: z.string().optional(),
// /** @todo: don't use any here and validate eventTriggers proper */
// eventTriggers: z.any(),
// subscriberUrl: z.string().optional(),
// })
// .strict();
2022-05-20 19:48:24 +00:00
export const schemaWebhookEditBodyParams = schemaWebhookBaseBodyParams.merge(
z.object({
2022-05-19 11:08:44 +00:00
payloadTemplate: z.string().optional(),
2022-05-19 23:47:17 +00:00
/** @todo: don't use any here and validate eventTriggers proper */
2022-05-19 22:58:42 +00:00
eventTriggers: z.any(),
2022-05-19 11:10:27 +00:00
subscriberUrl: z.string().optional(),
})
2022-05-20 19:48:24 +00:00
);
export const schemaWebhookReadPublic = Webhook.pick({
id: true,
userId: true,
eventTypeId: true,
2022-05-19 11:05:25 +00:00
payloadTemplate: true,
eventTriggers: true,
// eventType: true,
// app: true,
2022-05-19 11:05:25 +00:00
appId: true,
});