From b3d9089723622bf716ecdbe978a420840fc699b6 Mon Sep 17 00:00:00 2001 From: Jared Pereira Date: Fri, 4 Jul 2025 11:07:45 -0400 Subject: [PATCH] add identity_id col to custom_domains --- actions/domains/addDomain.ts | 26 ++++++++++++------- ..._add_identity_id_rel_to_custom_domains.sql | 5 ++++ 2 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 supabase/migrations/20250704144448_add_identity_id_rel_to_custom_domains.sql diff --git a/actions/domains/addDomain.ts b/actions/domains/addDomain.ts index 12c7b08b..9f17e85c 100644 --- a/actions/domains/addDomain.ts +++ b/actions/domains/addDomain.ts @@ -19,18 +19,19 @@ let supabase = createServerClient( export async function addDomain(domain: string) { let identity = await getIdentityData(); - if (!identity || !identity.email) return {}; + if (!identity || (!identity.email && !identity.atp_did)) return {}; if ( domain.includes("leaflet.pub") && - ![ - "celine@hyperlink.academy", - "brendan@hyperlink.academy", - "jared@hyperlink.academy", - "brendan.schlagel@gmail.com", - ].includes(identity.email) + (!identity.email || + ![ + "celine@hyperlink.academy", + "brendan@hyperlink.academy", + "jared@hyperlink.academy", + "brendan.schlagel@gmail.com", + ].includes(identity.email)) ) return {}; - return await createDomain(domain, identity.email); + return await createDomain(domain, identity.email, identity.id); } export async function addPublicationDomain( @@ -46,7 +47,7 @@ export async function addPublicationDomain( .single(); if (publication?.identity_did !== identity.atp_did) return {}; - let { error } = await createDomain(domain, null); + let { error } = await createDomain(domain, null, identity.id); if (error) return { error }; await supabase.from("publication_domains").insert({ publication: publication_uri, @@ -56,7 +57,11 @@ export async function addPublicationDomain( return {}; } -async function createDomain(domain: string, email: string | null) { +async function createDomain( + domain: string, + email: string | null, + identity_id: string, +) { try { await vercel.projects.addProjectDomain({ idOrName: "prj_9jX4tmYCISnm176frFxk07fF74kG", @@ -87,6 +92,7 @@ async function createDomain(domain: string, email: string | null) { domain, identity: email, confirmed: false, + identity_id, }); return {}; } diff --git a/supabase/migrations/20250704144448_add_identity_id_rel_to_custom_domains.sql b/supabase/migrations/20250704144448_add_identity_id_rel_to_custom_domains.sql new file mode 100644 index 00000000..399c5fbb --- /dev/null +++ b/supabase/migrations/20250704144448_add_identity_id_rel_to_custom_domains.sql @@ -0,0 +1,5 @@ +alter table "public"."custom_domains" add column "identity_id" uuid; + +alter table "public"."custom_domains" add constraint "custom_domains_identity_id_fkey" FOREIGN KEY (identity_id) REFERENCES identities(id) ON DELETE CASCADE not valid; + +alter table "public"."custom_domains" validate constraint "custom_domains_identity_id_fkey"; -- 2.51.2