From caad7c2fe4d8441d3dc266801533bf5254373e02 Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Sat, 22 Mar 2025 15:00:24 -0700 Subject: [PATCH] add unsubscribe action --- actions/unsubscribeFromPublication.ts | 14 ++++++++++++++ .../[handle]/[publication]/CallToActionButton.tsx | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 actions/unsubscribeFromPublication.ts diff --git a/actions/unsubscribeFromPublication.ts b/actions/unsubscribeFromPublication.ts new file mode 100644 index 00000000..cee81156 --- /dev/null +++ b/actions/unsubscribeFromPublication.ts @@ -0,0 +1,14 @@ +"use server"; +import { supabaseServerClient } from "supabase/serverClient"; +import { getIdentityData } from "./getIdentityData"; + +export async function unsubscribeFromPublication(publication: string) { + let identity = await getIdentityData(); + if (!identity || !identity.email) return null; + //This is an email relation!! + await supabaseServerClient + .from("subscribers_to_publications") + .delete() + .eq("publication", publication) + .eq("identity", identity.email); +} diff --git a/app/lish/[handle]/[publication]/CallToActionButton.tsx b/app/lish/[handle]/[publication]/CallToActionButton.tsx index 8b035279..efc5897c 100644 --- a/app/lish/[handle]/[publication]/CallToActionButton.tsx +++ b/app/lish/[handle]/[publication]/CallToActionButton.tsx @@ -7,7 +7,7 @@ import { NewDraftButton } from "./NewDraftButton"; import { Menu, MenuItem } from "components/Layout"; import { ArrowRightTiny, MoreOptionsTiny, ShareSmall } from "components/Icons"; import { useIdentityData } from "components/IdentityProvider"; -import { unsubscribeFromPublication } from "actions/unsubscribeFromPubliction"; +import { unsubscribeFromPublication } from "actions/unsubscribeFromPublication"; export function CallToActionButton() { let rel = usePublicationRelationship(); -- 2.51.2