From f1d40aefefa27e5f0f25c19cab7b9ac1fbf33418 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Fri, 21 Nov 2025 05:38:50 +0000 Subject: [PATCH 1/3] fix: handle missing deploymentId gracefully --- .../functions/function-[function]/+page.ts | 22 ++++++++++++++----- .../sites/site-[site]/+page.ts | 17 +++++++++----- .../sites/site-[site]/deployments/+page.ts | 19 +++++++++++----- 3 files changed, 41 insertions(+), 17 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts index d5b08e19f4..bc8d205ea2 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts @@ -15,17 +15,27 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) => const parsedQueries = queryParamToMap(query || '[]'); queries.set(parsedQueries); + let activeDeployment = null; + if (data.function.deploymentId) { + try { + activeDeployment = await sdk + .forProject(params.region, params.project) + .functions.getDeployment({ + functionId: params.function, + deploymentId: data.function.deploymentId + }); + } catch (error) { + // active deployment with the requested ID could not be found + activeDeployment = null; + } + } + return { offset, limit, query, installations: data.installations, - activeDeployment: data.function.deploymentId - ? await sdk.forProject(params.region, params.project).functions.getDeployment({ - functionId: params.function, - deploymentId: data.function.deploymentId - }) - : null, + activeDeployment, deploymentList: await sdk .forProject(params.region, params.project) .functions.listDeployments({ diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts index e442376ce0..6c1110a72f 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts @@ -46,11 +46,18 @@ export const load = async ({ params, depends, parent }) => { }) ]); - const deployment = deploymentList?.total - ? await sdk - .forProject(params.region, params.project) - .sites.getDeployment({ siteId: params.site, deploymentId: site.deploymentId }) - : null; + let deployment = null; + if (deploymentList?.total && site.deploymentId) { + try { + deployment = await sdk + .forProject(params.region, params.project) + .sites.getDeployment({ siteId: params.site, deploymentId: site.deploymentId }); + } catch (error) { + // active deployment with the requested ID could not be found + deployment = null; + } + } + return { site, deploymentList, diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts index 059aefc4d6..7c0863210f 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts @@ -37,17 +37,24 @@ export const load = async ({ params, depends, url, route, parent }) => { sdk.forProject(params.region, params.project).vcs.listInstallations() ]); + let activeDeployment = null; + if (site.deploymentId && deploymentList?.total) { + try { + activeDeployment = await sdk + .forProject(params.region, params.project) + .sites.getDeployment({ siteId: params.site, deploymentId: site.deploymentId }); + } catch (error) { + // active deployment with the requested ID could not be found + activeDeployment = null; + } + } + return { offset, limit, query, deploymentList, - activeDeployment: - site.deploymentId && deploymentList?.total - ? await sdk - .forProject(params.region, params.project) - .sites.getDeployment({ siteId: params.site, deploymentId: site.deploymentId }) - : null, + activeDeployment, installations }; }; From 8946e7f6ffd0c5e2c0dd09d5b296965077843907 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Fri, 21 Nov 2025 06:12:59 +0000 Subject: [PATCH 2/3] added types --- .../functions/function-[function]/+page.ts | 3 ++- .../project-[region]-[project]/sites/site-[site]/+page.ts | 3 ++- .../sites/site-[site]/deployments/+page.ts | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts index bc8d205ea2..5f82389622 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts @@ -1,4 +1,5 @@ import { Query } from '@appwrite.io/console'; +import type { Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getQuery, pageToOffset } from '$lib/helpers/load'; import { Dependencies, PAGE_LIMIT } from '$lib/constants'; @@ -15,7 +16,7 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) => const parsedQueries = queryParamToMap(query || '[]'); queries.set(parsedQueries); - let activeDeployment = null; + let activeDeployment: Models.Deployment | null = null; if (data.function.deploymentId) { try { activeDeployment = await sdk diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts index 6c1110a72f..d5d924f37a 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts @@ -1,6 +1,7 @@ import { sdk } from '$lib/stores/sdk'; import { Dependencies } from '$lib/constants'; import { Query } from '@appwrite.io/console'; +import type { Models } from '@appwrite.io/console'; import { RuleType } from '$lib/stores/sdk'; import { DeploymentResourceType } from '$lib/stores/sdk'; @@ -46,7 +47,7 @@ export const load = async ({ params, depends, parent }) => { }) ]); - let deployment = null; + let deployment: Models.Deployment | null = null; if (deploymentList?.total && site.deploymentId) { try { deployment = await sdk diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts index 7c0863210f..92ce25d3f1 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts @@ -1,4 +1,5 @@ import { Query } from '@appwrite.io/console'; +import type { Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getQuery, pageToOffset } from '$lib/helpers/load'; import { Dependencies, PAGE_LIMIT } from '$lib/constants'; @@ -37,7 +38,7 @@ export const load = async ({ params, depends, url, route, parent }) => { sdk.forProject(params.region, params.project).vcs.listInstallations() ]); - let activeDeployment = null; + let activeDeployment: Models.Deployment | null = null; if (site.deploymentId && deploymentList?.total) { try { activeDeployment = await sdk From 667cc6cd6cb229654305b1ec8b5b2b03104a292c Mon Sep 17 00:00:00 2001 From: Harsh Mahajan Date: Fri, 21 Nov 2025 06:14:29 +0000 Subject: [PATCH 3/3] pushed imports together --- .../functions/function-[function]/+page.ts | 3 +-- .../project-[region]-[project]/sites/site-[site]/+page.ts | 3 +-- .../sites/site-[site]/deployments/+page.ts | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts index 5f82389622..4f2c59f583 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/function-[function]/+page.ts @@ -1,5 +1,4 @@ -import { Query } from '@appwrite.io/console'; -import type { Models } from '@appwrite.io/console'; +import { Query, type Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getQuery, pageToOffset } from '$lib/helpers/load'; import { Dependencies, PAGE_LIMIT } from '$lib/constants'; diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts index d5d924f37a..e38c75f6ea 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/+page.ts @@ -1,7 +1,6 @@ import { sdk } from '$lib/stores/sdk'; import { Dependencies } from '$lib/constants'; -import { Query } from '@appwrite.io/console'; -import type { Models } from '@appwrite.io/console'; +import { Query, type Models } from '@appwrite.io/console'; import { RuleType } from '$lib/stores/sdk'; import { DeploymentResourceType } from '$lib/stores/sdk'; diff --git a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts index 92ce25d3f1..26cccb4229 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/site-[site]/deployments/+page.ts @@ -1,5 +1,4 @@ -import { Query } from '@appwrite.io/console'; -import type { Models } from '@appwrite.io/console'; +import { Query, type Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getQuery, pageToOffset } from '$lib/helpers/load'; import { Dependencies, PAGE_LIMIT } from '$lib/constants';