From ac85bfccaa6714cd3c7a4d5b05c3407b3f7e4736 Mon Sep 17 00:00:00 2001 From: Damodar Lohani Date: Thu, 5 Jun 2025 01:19:33 +0000 Subject: [PATCH] handle blocks in other project routes --- .../functions/+layout.ts | 34 +++++++++++------ .../messaging/+page.ts | 38 +++++++++++++------ .../settings/+page.ts | 33 ++++++++++------ .../project-[region]-[project]/sites/+page.ts | 38 ++++++++++++------- .../storage/+page.ts | 29 +++++++++----- 5 files changed, 113 insertions(+), 59 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/functions/+layout.ts b/src/routes/(console)/project-[region]-[project]/functions/+layout.ts index 4cc6fe3d9..fa4a5aa51 100644 --- a/src/routes/(console)/project-[region]-[project]/functions/+layout.ts +++ b/src/routes/(console)/project-[region]-[project]/functions/+layout.ts @@ -4,21 +4,31 @@ import { sdk } from '$lib/stores/sdk'; import { Query } from '@appwrite.io/console'; import { Dependencies } from '$lib/constants'; import type { LayoutLoad } from './$types'; +import { error } from '@sveltejs/kit'; export const load: LayoutLoad = async ({ depends, params }) => { depends(Dependencies.FUNCTION_INSTALLATIONS); - const [runtimesList, installations, specificationsList] = await Promise.all([ - sdk.forProject(params.region, params.project).functions.listRuntimes(), - sdk.forProject(params.region, params.project).vcs.listInstallations([Query.limit(100)]), - sdk.forProject(params.region, params.project).functions.listSpecifications() - ]); + try { - return { - header: Header, - breadcrumbs: Breadcrumbs, - runtimesList, - installations, - specificationsList - }; + const [runtimesList, installations, specificationsList] = await Promise.all([ + sdk.forProject(params.region, params.project).functions.listRuntimes(), + sdk.forProject(params.region, params.project).vcs.listInstallations([Query.limit(100)]), + sdk.forProject(params.region, params.project).functions.listSpecifications() + ]); + + return { + header: Header, + breadcrumbs: Breadcrumbs, + runtimesList, + installations, + specificationsList + }; + } catch (e) { + error(e.code || 500, { + message: e.message, + type: e.type || 'unknown', + resource: 'functions' + }); + } }; diff --git a/src/routes/(console)/project-[region]-[project]/messaging/+page.ts b/src/routes/(console)/project-[region]-[project]/messaging/+page.ts index 0436e02e7..7d4397fd2 100644 --- a/src/routes/(console)/project-[region]-[project]/messaging/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/messaging/+page.ts @@ -12,6 +12,7 @@ import { import { sdk } from '$lib/stores/sdk'; import { Query, type Models } from '@appwrite.io/console'; import type { PageLoad } from './$types'; +import { error } from '@sveltejs/kit'; export const load: PageLoad = async ({ depends, url, route, params }) => { depends(Dependencies.MESSAGING_MESSAGES); @@ -26,14 +27,8 @@ export const load: PageLoad = async ({ depends, url, route, params }) => { const parsedQueries = queryParamToMap(query || '[]'); queries.set(parsedQueries); - return { - offset, - limit, - search, - query, - page, - view, - messages: (await sdk + try { + const messages = (await sdk .forProject(params.region, params.project) .messaging.listMessages( [ @@ -44,8 +39,27 @@ export const load: PageLoad = async ({ depends, url, route, params }) => { ], search || undefined )) as { - total: number; - messages: (Models.Message & { data: Record })[]; // Add typing for message.data - } - }; + total: number; + messages: (Models.Message & { data: Record })[]; // Add typing for message.data + }; + + return { + messages, + offset, + limit, + search, + query, + page, + view, + }; + } catch (e) { + return error( + e.code || 500, + { + message: e.message, + type: e.type || 'unknown', + resource: 'messaging' + } + ) + } }; diff --git a/src/routes/(console)/project-[region]-[project]/settings/+page.ts b/src/routes/(console)/project-[region]-[project]/settings/+page.ts index e6f31e223..be82f4724 100644 --- a/src/routes/(console)/project-[region]-[project]/settings/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/settings/+page.ts @@ -2,6 +2,7 @@ import { Dependencies, PAGE_LIMIT } from '$lib/constants'; import { sdk } from '$lib/stores/sdk'; import { Query } from '@appwrite.io/console'; import type { PageLoad } from './$types'; +import { error } from '@sveltejs/kit'; export const load: PageLoad = async ({ depends, url, params }) => { depends(Dependencies.PROJECT_VARIABLES); @@ -9,17 +10,25 @@ export const load: PageLoad = async ({ depends, url, params }) => { const limit = PAGE_LIMIT; const offset = Number(url.searchParams.get('offset') ?? 0); - const [variables, installations] = await Promise.all([ - sdk.forProject(params.region, params.project).projectApi.listVariables(), - sdk - .forProject(params.region, params.project) - .vcs.listInstallations([Query.limit(limit), Query.offset(offset)]) - ]); + try { + const [variables, installations] = await Promise.all([ + sdk.forProject(params.region, params.project).projectApi.listVariables(), + sdk + .forProject(params.region, params.project) + .vcs.listInstallations([Query.limit(limit), Query.offset(offset)]) + ]); - return { - limit, - offset, - variables, - installations - }; + return { + limit, + offset, + variables, + installations + }; + } catch (e) { + error(e.code || 500, { + message: e.message, + type: e.type || 'unknown', + resource: 'project' + }); + } }; diff --git a/src/routes/(console)/project-[region]-[project]/sites/+page.ts b/src/routes/(console)/project-[region]-[project]/sites/+page.ts index b76ee678e..c32143162 100644 --- a/src/routes/(console)/project-[region]-[project]/sites/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/sites/+page.ts @@ -2,6 +2,7 @@ import { Query, type Models } from '@appwrite.io/console'; import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, getView, pageToOffset, View } from '$lib/helpers/load'; import { CARD_LIMIT, Dependencies } from '$lib/constants'; +import { error } from '@sveltejs/kit'; export const load = async ({ url, depends, route, params }) => { depends(Dependencies.SITES); @@ -26,19 +27,28 @@ export const load = async ({ url, depends, route, params }) => { } as Models.SiteList }; - const siteList = await sdk - .forProject(params.region, params.project) - .sites.list( - [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], - search || undefined - ); + try { + const siteList = await sdk + .forProject(params.region, params.project) + .sites.list( + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], + search || undefined + ); - return { - sitesLive, - offset, - limit, - search, - siteList, - view - }; + return { + sitesLive, + offset, + limit, + search, + siteList, + view + }; + } catch (e) { + error(e.code || 500, + { + message: e.message, + type: e.type || 'unknown', + resource: 'sites' + }); + } }; diff --git a/src/routes/(console)/project-[region]-[project]/storage/+page.ts b/src/routes/(console)/project-[region]-[project]/storage/+page.ts index 61cb3d856..361dd0548 100644 --- a/src/routes/(console)/project-[region]-[project]/storage/+page.ts +++ b/src/routes/(console)/project-[region]-[project]/storage/+page.ts @@ -3,6 +3,7 @@ import { sdk } from '$lib/stores/sdk'; import { getLimit, getPage, getSearch, getView, pageToOffset, View } from '$lib/helpers/load'; import { CARD_LIMIT } from '$lib/constants'; import type { PageLoad } from './$types'; +import { error } from '@sveltejs/kit'; export const load: PageLoad = async ({ url, route, params }) => { const page = getPage(url); @@ -10,17 +11,27 @@ export const load: PageLoad = async ({ url, route, params }) => { const view = getView(url, route, View.Grid); const limit = getLimit(url, route, CARD_LIMIT); const offset = pageToOffset(page, limit); - - return { - offset, - limit, - view, - search, - buckets: await sdk + try { + const buckets = await sdk .forProject(params.region, params.project) .storage.listBuckets( [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], search || undefined - ) - }; + ); + + return { + offset, + limit, + view, + search, + buckets, + }; + } catch (e) { + error(e.code || 500, { + message: e.message, + type: e.type || 'unknown', + resource: 'storage' + } + ); + } };