Files
formbricks/apps/web/lib/cache/membership.ts
2024-12-13 05:23:22 +00:00

27 lines
635 B
TypeScript

import { revalidateTag } from "next/cache";
interface RevalidateProps {
userId?: string;
organizationId?: string;
}
export const membershipCache = {
tag: {
byOrganizationId(organizationId: string) {
return `organizations-${organizationId}-memberships`;
},
byUserId(userId: string) {
return `users-${userId}-memberships`;
},
},
revalidate: ({ organizationId, userId }: RevalidateProps): void => {
if (organizationId) {
revalidateTag(membershipCache.tag.byOrganizationId(organizationId));
}
if (userId) {
revalidateTag(membershipCache.tag.byUserId(userId));
}
},
};