diff --git a/apps/api/pages/api/webhooks/[id]/_patch.ts b/apps/api/pages/api/webhooks/[id]/_patch.ts index faba47d863..0a9b63f0de 100644 --- a/apps/api/pages/api/webhooks/[id]/_patch.ts +++ b/apps/api/pages/api/webhooks/[id]/_patch.ts @@ -69,7 +69,12 @@ import { schemaWebhookEditBodyParams, schemaWebhookReadPublic } from "~/lib/vali export async function patchHandler(req: NextApiRequest) { const { prisma, query, userId, isAdmin } = req; const { id } = schemaQueryIdAsString.parse(query); - const { eventTypeId, userId: bodyUserId, ...data } = schemaWebhookEditBodyParams.parse(req.body); + const { + eventTypeId, + userId: bodyUserId, + eventTriggers, + ...data + } = schemaWebhookEditBodyParams.parse(req.body); const args: Prisma.WebhookUpdateArgs = { where: { id }, data }; if (eventTypeId) { @@ -88,7 +93,8 @@ export async function patchHandler(req: NextApiRequest) { } if (args.data.eventTriggers) { - args.data.eventTriggers = [...new Set(args.data.eventTriggers)]; + const eventTriggersSet = new Set(eventTriggers); + args.data.eventTriggers = Array.from(eventTriggersSet); } const result = await prisma.webhook.update(args); diff --git a/apps/api/pages/api/webhooks/_post.ts b/apps/api/pages/api/webhooks/_post.ts index 9647a11738..e08d59d29d 100644 --- a/apps/api/pages/api/webhooks/_post.ts +++ b/apps/api/pages/api/webhooks/_post.ts @@ -66,7 +66,12 @@ import { schemaWebhookCreateBodyParams, schemaWebhookReadPublic } from "~/lib/va */ async function postHandler(req: NextApiRequest) { const { userId, isAdmin, prisma } = req; - const { eventTypeId, userId: bodyUserId, ...body } = schemaWebhookCreateBodyParams.parse(req.body); + const { + eventTypeId, + userId: bodyUserId, + eventTriggers, + ...body + } = schemaWebhookCreateBodyParams.parse(req.body); const args: Prisma.WebhookCreateArgs = { data: { id: uuidv4(), ...body } }; // If no event type, we assume is for the current user. If admin we run more checks below... @@ -88,7 +93,8 @@ async function postHandler(req: NextApiRequest) { } if (args.data.eventTriggers) { - args.data.eventTriggers = [...new Set(args.data.eventTriggers)]; + const eventTriggersSet = new Set(eventTriggers); + args.data.eventTriggers = Array.from(eventTriggersSet); } const data = await prisma.webhook.create(args);