Files
documenso/packages/lib/server-only/webhooks/get-all-webhooks-by-event-trigger.ts
2025-02-13 14:10:38 +11:00

40 lines
779 B
TypeScript

import type { WebhookTriggerEvents } from '@prisma/client';
import { prisma } from '@documenso/prisma';
export type GetAllWebhooksByEventTriggerOptions = {
event: WebhookTriggerEvents;
userId: number;
teamId?: number;
};
export const getAllWebhooksByEventTrigger = async ({
event,
userId,
teamId,
}: GetAllWebhooksByEventTriggerOptions) => {
return prisma.webhook.findMany({
where: {
enabled: true,
eventTriggers: {
has: event,
},
...(teamId
? {
team: {
id: teamId,
members: {
some: {
userId,
},
},
},
}
: {
userId,
teamId: null,
}),
},
});
};