From 24cdac95cde6a7681489c0a510ec4f528c65fe29 Mon Sep 17 00:00:00 2001 From: Owen Date: Sun, 7 Dec 2025 22:13:26 -0500 Subject: [PATCH] Fix not rebuilding site resources from blueprint --- server/lib/blueprints/applyBlueprint.ts | 17 +++++++---------- .../routers/siteResource/updateSiteResource.ts | 8 ++++++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/server/lib/blueprints/applyBlueprint.ts b/server/lib/blueprints/applyBlueprint.ts index 86a18c8c..6168f85d 100644 --- a/server/lib/blueprints/applyBlueprint.ts +++ b/server/lib/blueprints/applyBlueprint.ts @@ -133,15 +133,12 @@ export async function applyBlueprint({ `Updating client resource ${result.newSiteResource.siteResourceId} on site ${site.sites.siteId}` ); - if (result.oldSiteResource) { - // this was an update - await handleMessagingForUpdatedSiteResource( - result.oldSiteResource, - result.newSiteResource, - { siteId: site.sites.siteId, orgId: site.sites.orgId }, - trx - ); - } + await handleMessagingForUpdatedSiteResource( + result.oldSiteResource, + result.newSiteResource, + { siteId: site.sites.siteId, orgId: site.sites.orgId }, + trx + ); // await addClientTargets( // site.newt.newtId, @@ -188,4 +185,4 @@ export async function applyBlueprint({ } return blueprint; -} \ No newline at end of file +} diff --git a/server/routers/siteResource/updateSiteResource.ts b/server/routers/siteResource/updateSiteResource.ts index 9161c509..efc4939b 100644 --- a/server/routers/siteResource/updateSiteResource.ts +++ b/server/routers/siteResource/updateSiteResource.ts @@ -328,23 +328,27 @@ export async function updateSiteResource( } export async function handleMessagingForUpdatedSiteResource( - existingSiteResource: SiteResource, + existingSiteResource: SiteResource | undefined, updatedSiteResource: SiteResource, site: { siteId: number; orgId: string }, trx: Transaction ) { const { mergedAllClients } = await rebuildClientAssociationsFromSiteResource( - existingSiteResource, // we want to rebuild based on the existing resource then we will apply the change to the destination below + existingSiteResource || updatedSiteResource, // we want to rebuild based on the existing resource then we will apply the change to the destination below trx ); // after everything is rebuilt above we still need to update the targets and remote subnets if the destination changed const destinationChanged = + existingSiteResource && existingSiteResource.destination !== updatedSiteResource.destination; const aliasChanged = + existingSiteResource && existingSiteResource.alias !== updatedSiteResource.alias; + // if the existingSiteResource is undefined (new resource) we don't need to do anything here, the rebuild above handled it all + if (destinationChanged || aliasChanged) { const [newt] = await trx .select()