handle blocks in other project routes

This commit is contained in:
Damodar Lohani
2025-06-05 01:19:33 +00:00
parent 8c5129f6f2
commit ac85bfccaa
5 changed files with 113 additions and 59 deletions
@@ -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'
});
}
};
@@ -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<string, string> })[]; // Add typing for message.data
}
};
total: number;
messages: (Models.Message & { data: Record<string, string> })[]; // 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'
}
)
}
};
@@ -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'
});
}
};
@@ -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'
});
}
};
@@ -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'
}
);
}
};