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..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,4 +1,4 @@ -import { Query } 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'; @@ -15,17 +15,27 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) => const parsedQueries = queryParamToMap(query || '[]'); queries.set(parsedQueries); + let activeDeployment: Models.Deployment | null = 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..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,6 +1,6 @@ import { sdk } from '$lib/stores/sdk'; import { Dependencies } from '$lib/constants'; -import { Query } from '@appwrite.io/console'; +import { Query, type Models } from '@appwrite.io/console'; import { RuleType } from '$lib/stores/sdk'; import { DeploymentResourceType } from '$lib/stores/sdk'; @@ -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: Models.Deployment | null = 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..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,4 +1,4 @@ -import { Query } 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'; @@ -37,17 +37,24 @@ export const load = async ({ params, depends, url, route, parent }) => { sdk.forProject(params.region, params.project).vcs.listInstallations() ]); + let activeDeployment: Models.Deployment | null = 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 }; };