Merge pull request #2454 from appwrite/6.1.41

Fix: documents not loading
This commit is contained in:
Jake Barnby
2025-10-07 19:10:04 +13:00
committed by GitHub
6 changed files with 17 additions and 35 deletions
+4 -1
View File
@@ -92,7 +92,10 @@
"@sentry/cli",
"esbuild",
"svelte-preprocess"
]
],
"overrides": {
"devalue": "5.3.2"
}
},
"packageManager": "pnpm@10.13.1"
}
+7 -4
View File
@@ -4,6 +4,9 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
overrides:
devalue: 5.3.2
importers:
.:
@@ -1973,8 +1976,8 @@ packages:
engines: {node: '>=0.10'}
hasBin: true
devalue@5.1.1:
resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==}
devalue@5.3.2:
resolution: {integrity: sha512-UDsjUbpQn9kvm68slnrs+mfxwFkIflOhkanmyabZ8zOYk8SMEIbJ3TK+88g70hSIeytu4y18f0z/hYHMTrXIWw==}
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
@@ -4682,7 +4685,7 @@ snapshots:
'@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.25.3)(vite@6.2.3(@types/node@22.13.14)(sass@1.86.0))
'@types/cookie': 0.6.0
cookie: 0.6.0
devalue: 5.1.1
devalue: 5.3.2
esm-env: 1.2.2
import-meta-resolve: 4.1.0
kleur: 4.1.5
@@ -5572,7 +5575,7 @@ snapshots:
detect-libc@1.0.3:
optional: true
devalue@5.1.1: {}
devalue@5.3.2: {}
devlop@1.1.0:
dependencies:
@@ -4,10 +4,8 @@ import { sdk } from '$lib/stores/sdk';
import { Query } from '@appwrite.io/console';
import type { PageLoad } from './$types';
import { queries, queryParamToMap } from '$lib/components/filters';
import { buildWildcardAttributesQuery } from './document-[document]/attributes/store';
export const load: PageLoad = async ({ params, depends, url, route, parent }) => {
const { collection } = await parent();
export const load: PageLoad = async ({ params, depends, url, route }) => {
depends(Dependencies.DOCUMENTS);
const page = getPage(url);
@@ -32,8 +30,7 @@ export const load: PageLoad = async ({ params, depends, url, route, parent }) =>
Query.limit(limit),
Query.offset(offset),
Query.orderDesc(''),
...parsedQueries.values(),
...buildWildcardAttributesQuery(collection)
...parsedQueries.values()
])
};
};
@@ -4,7 +4,6 @@ import type { LayoutLoad } from './$types';
import Breadcrumbs from './breadcrumbs.svelte';
import Header from './header.svelte';
import type { Attributes } from '../store';
import { buildWildcardAttributesQuery } from './attributes/store';
export const load: LayoutLoad = async ({ params, parent, depends }) => {
const { collection } = await parent();
@@ -12,12 +11,7 @@ export const load: LayoutLoad = async ({ params, parent, depends }) => {
const document = await sdk
.forProject(params.region, params.project)
.databases.getDocument(
params.database,
params.collection,
params.document,
buildWildcardAttributesQuery(collection)
);
.databases.getDocument(params.database, params.collection, params.document);
/**
* Sanitize DateTime to remove UTC Timezone section.
@@ -90,11 +90,11 @@
if (isRelationship(attribute)) {
if (isRelationshipToMany(attribute as Models.AttributeRelationship)) {
const workIds = workAttribute.map((doc: string | Record<string, unknown>) =>
const workIds = workAttribute?.map((doc: string | Record<string, unknown>) =>
typeof doc === 'string' ? doc : doc.$id
);
const relatedIds = docAttribute.map((doc: string | Record<string, unknown>) =>
const relatedIds = docAttribute?.map((doc: string | Record<string, unknown>) =>
typeof doc === 'string' ? doc : doc.$id
);
return !symmetricDifference(workIds, relatedIds).length;
@@ -1,4 +1,4 @@
import { type Models, Query } from '@appwrite.io/console';
import { type Models } from '@appwrite.io/console';
import type { Attributes } from '../../store';
export function isRelationshipToMany(attribute: Models.AttributeRelationship) {
@@ -20,18 +20,3 @@ export function isString(attribute: Attributes): attribute is Models.AttributeSt
if (!attribute) return false;
return attribute?.type === 'string';
}
/**
* Returns select queries for all main and related fields in a collection.
*/
export function buildWildcardAttributesQuery(
collection: Models.Collection | null = null
): string[] {
return [
...(collection?.attributes
?.filter((attr) => attr.status === 'available' && isRelationship(attr))
?.map((attr) => Query.select([`${attr.key}.*`])) ?? []),
Query.select(['*'])
];
}