chore: adds webhook types (#4606)

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Dhruwang Jariwala <67850763+Dhruwang@users.noreply.github.com>
This commit is contained in:
Piyush Gupta
2025-01-24 17:53:07 +05:30
committed by GitHub
parent ad842e0e80
commit e691c076a1
35 changed files with 481 additions and 370 deletions
+35
View File
@@ -0,0 +1,35 @@
import { Webhook } from "@prisma/client";
import { revalidateTag } from "next/cache";
interface RevalidateProps {
id?: string;
environmentId?: string;
source?: Webhook["source"];
}
export const webhookCache = {
tag: {
byId(id: string) {
return `webhooks-${id}`;
},
byEnvironmentId(environmentId: string) {
return `environments-${environmentId}-webhooks`;
},
byEnvironmentIdAndSource(environmentId: string, source?: Webhook["source"]) {
return `environments-${environmentId}-sources-${source}-webhooks`;
},
},
revalidate({ id, environmentId, source }: RevalidateProps): void {
if (id) {
revalidateTag(this.tag.byId(id));
}
if (environmentId) {
revalidateTag(this.tag.byEnvironmentId(environmentId));
}
if (environmentId && source) {
revalidateTag(this.tag.byEnvironmentIdAndSource(environmentId, source));
}
},
};