From 0d914f59738ad9ebad5627d7ecc38c85582c7d19 Mon Sep 17 00:00:00 2001 From: robbond Date: Thu, 5 Mar 2026 13:32:29 +0000 Subject: [PATCH] fix(domains): prevent status enrichment from filtering domains --- app/dashboard/page.tsx | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx index 1cba05c..49aefba 100644 --- a/app/dashboard/page.tsx +++ b/app/dashboard/page.tsx @@ -50,7 +50,7 @@ export default async function DashboardPage() { supabase .from("plesk_domains") .select( - "id, plesk_instance_id, subscription_id, status, domain_name, hosting_type, source_created_at, aliases_count, updated_at, subscription:plesk_subscriptions(status)", + "id, plesk_instance_id, subscription_id, status, domain_name, hosting_type, source_created_at, aliases_count, updated_at", ) .eq("agency_id", context.agencyId) .order("updated_at", { ascending: false }) @@ -107,15 +107,36 @@ export default async function DashboardPage() { source_created_at: string | null; aliases_count: number | null; updated_at: string; - subscription: { - status: string | null; - } | null; }> | null; }, { data: BillingSummary | null }, { data: ActionLogSummary[] | null }, ]; + const domainSubscriptionIds = Array.from( + new Set( + (domains ?? []) + .map((domain) => domain.subscription_id) + .filter((id): id is string => Boolean(id)), + ), + ); + + const { data: domainSubscriptions } = + domainSubscriptionIds.length > 0 + ? await supabase + .from("plesk_subscriptions") + .select("id, status") + .eq("agency_id", context.agencyId) + .in("id", domainSubscriptionIds) + : { data: [] }; + + const subscriptionStatusById = new Map( + (domainSubscriptions ?? []).map((subscription: any) => [ + String(subscription.id), + subscription?.status ? String(subscription.status) : null, + ]), + ); + const autoSyncByInstance = new Map< string, { status: string; created_at: string; error_message: string | null } @@ -171,9 +192,9 @@ export default async function DashboardPage() { instances={instances ?? []} subscriptions={subscriptions ?? []} domains={(domains ?? []).map((domain) => { - const joinedStatus = Array.isArray(domain.subscription) - ? domain.subscription[0]?.status - : domain.subscription?.status; + const joinedStatus = domain.subscription_id + ? subscriptionStatusById.get(domain.subscription_id) + : null; return { ...domain, -- 2.39.5