From 22961b56e1eccfd178ea15767835be5d06ae1e43 Mon Sep 17 00:00:00 2001 From: Steven Nguyen Date: Mon, 7 Aug 2023 12:34:05 -0700 Subject: [PATCH] Replace sorting by $createdAt with natural order By sorting on Query.orderDesc(''), results are still ordered by newest results first, but the performance is much better than sorting by $createdAt. --- src/routes/console/account/organizations/+page.ts | 2 +- src/routes/console/organization-[organization]/+page.ts | 3 ++- src/routes/console/project-[project]/auth/+page.ts | 2 +- src/routes/console/project-[project]/auth/teams/+page.ts | 2 +- .../auth/teams/team-[team]/members/+page.ts | 2 +- src/routes/console/project-[project]/databases/+page.ts | 2 +- .../databases/database-[database]/+page.ts | 2 +- .../database-[database]/collection-[collection]/+layout.ts | 2 +- .../database-[database]/collection-[collection]/+page.ts | 2 +- .../collection-[collection]/attributes/relationship.svelte | 2 +- .../document-[document]/attributes/relationship.svelte | 2 +- src/routes/console/project-[project]/functions/+page.ts | 6 +++++- .../functions/function-[function]/+page.ts | 3 ++- .../functions/function-[function]/executions/+page.ts | 3 ++- src/routes/console/project-[project]/storage/+page.ts | 2 +- .../project-[project]/storage/bucket-[bucket]/+page.ts | 2 +- 16 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/routes/console/account/organizations/+page.ts b/src/routes/console/account/organizations/+page.ts index f3cef11bbc..0b89b1d302 100644 --- a/src/routes/console/account/organizations/+page.ts +++ b/src/routes/console/account/organizations/+page.ts @@ -15,7 +15,7 @@ export const load: PageLoad = async ({ url, route }) => { organizations: await sdk.forConsole.teams.list([ Query.offset(offset), Query.limit(limit), - Query.orderDesc('$createdAt') + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/organization-[organization]/+page.ts b/src/routes/console/organization-[organization]/+page.ts index 1b1b703102..fab93a7b4c 100644 --- a/src/routes/console/organization-[organization]/+page.ts +++ b/src/routes/console/organization-[organization]/+page.ts @@ -15,7 +15,8 @@ export const load: PageLoad = async ({ params, url, route }) => { projects: await sdk.forConsole.projects.list([ Query.offset(offset), Query.equal('teamId', params.organization), - Query.limit(CARD_LIMIT) + Query.limit(CARD_LIMIT), + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/project-[project]/auth/+page.ts b/src/routes/console/project-[project]/auth/+page.ts index 97b6ad3d30..11d7937066 100644 --- a/src/routes/console/project-[project]/auth/+page.ts +++ b/src/routes/console/project-[project]/auth/+page.ts @@ -16,7 +16,7 @@ export const load: PageLoad = async ({ url, route }) => { search, page, users: await sdk.forProject.users.list( - [Query.limit(limit), Query.offset(offset), Query.orderDesc('$createdAt')], + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], search ) }; diff --git a/src/routes/console/project-[project]/auth/teams/+page.ts b/src/routes/console/project-[project]/auth/teams/+page.ts index e54ff32e65..8691685327 100644 --- a/src/routes/console/project-[project]/auth/teams/+page.ts +++ b/src/routes/console/project-[project]/auth/teams/+page.ts @@ -16,7 +16,7 @@ export const load: PageLoad = async ({ url, route }) => { search, page, teams: await sdk.forProject.teams.list( - [Query.limit(limit), Query.offset(offset), Query.orderDesc('$createdAt')], + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], search ) }; diff --git a/src/routes/console/project-[project]/auth/teams/team-[team]/members/+page.ts b/src/routes/console/project-[project]/auth/teams/team-[team]/members/+page.ts index 2350d7f611..dede7fe004 100644 --- a/src/routes/console/project-[project]/auth/teams/team-[team]/members/+page.ts +++ b/src/routes/console/project-[project]/auth/teams/team-[team]/members/+page.ts @@ -18,7 +18,7 @@ export const load: PageLoad = async ({ params, depends, url, route }) => { limit, memberships: await sdk.forProject.teams.listMemberships( teamId, - [Query.limit(limit), Query.offset(offset), Query.orderDesc('$createdAt')], + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], search ) }; diff --git a/src/routes/console/project-[project]/databases/+page.ts b/src/routes/console/project-[project]/databases/+page.ts index 2a9e3446a2..052dd118be 100644 --- a/src/routes/console/project-[project]/databases/+page.ts +++ b/src/routes/console/project-[project]/databases/+page.ts @@ -17,7 +17,7 @@ export const load: PageLoad = async ({ url, route }) => { databases: await sdk.forProject.databases.list([ Query.limit(limit), Query.offset(offset), - Query.orderDesc('$createdAt') + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/+page.ts b/src/routes/console/project-[project]/databases/database-[database]/+page.ts index 1a2e91a3b1..943f594bc5 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/+page.ts +++ b/src/routes/console/project-[project]/databases/database-[database]/+page.ts @@ -17,7 +17,7 @@ export const load: PageLoad = async ({ params, url, route }) => { collections: await sdk.forProject.databases.listCollections(params.database, [ Query.limit(limit), Query.offset(offset), - Query.orderDesc('$createdAt') + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts index 4f8cfc2edf..7f4f6779ba 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts @@ -19,7 +19,7 @@ export const load: LayoutLoad = async ({ params, depends }) => { ), subNavigation: SubNavigation, allCollections: await sdk.forProject.databases.listCollections(params.database, [ - Query.orderDesc('$createdAt') + Query.orderDesc('') ]) }; } catch (e) { diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+page.ts b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+page.ts index ef7a3de276..c75c93dfc1 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+page.ts +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+page.ts @@ -18,7 +18,7 @@ export const load: PageLoad = async ({ params, depends, url, route }) => { documents: await sdk.forProject.databases.listDocuments( params.database, params.collection, - [Query.limit(limit), Query.offset(offset), Query.orderDesc('$createdAt')] + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')] ) }; }; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/relationship.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/relationship.svelte index 501ee1dc5c..bf43c03999 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/relationship.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/attributes/relationship.svelte @@ -74,7 +74,7 @@ if (search) { const collections = await sdk.forProject.databases.listCollections( databaseId, - [Query.orderDesc('$createdAt')], + [Query.orderDesc('')], search ); return collections; diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/relationship.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/relationship.svelte index 2731ad750e..c9bf71b4fc 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/relationship.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/document-[document]/attributes/relationship.svelte @@ -61,7 +61,7 @@ const documents = await sdk.forProject.databases.listDocuments( databaseId, attribute.relatedCollection, - [Query.startsWith('$id', search), Query.orderDesc('$createdAt')] + [Query.startsWith('$id', search), Query.orderDesc('')] ); return documents; } else { diff --git a/src/routes/console/project-[project]/functions/+page.ts b/src/routes/console/project-[project]/functions/+page.ts index dd5f0c40be..e71a4fb87c 100644 --- a/src/routes/console/project-[project]/functions/+page.ts +++ b/src/routes/console/project-[project]/functions/+page.ts @@ -13,6 +13,10 @@ export const load: PageLoad = async ({ url, depends, route }) => { return { offset, limit, - functions: await sdk.forProject.functions.list([Query.limit(limit), Query.offset(offset)]) + functions: await sdk.forProject.functions.list([ + Query.limit(limit), + Query.offset(offset), + Query.orderDesc('') + ]) }; }; diff --git a/src/routes/console/project-[project]/functions/function-[function]/+page.ts b/src/routes/console/project-[project]/functions/function-[function]/+page.ts index a9b390a49d..986de1bf6a 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/+page.ts +++ b/src/routes/console/project-[project]/functions/function-[function]/+page.ts @@ -15,7 +15,8 @@ export const load: PageLoad = async ({ params, depends, url, route }) => { limit, deployments: await sdk.forProject.functions.listDeployments(params.function, [ Query.limit(limit), - Query.offset(offset) + Query.offset(offset), + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/project-[project]/functions/function-[function]/executions/+page.ts b/src/routes/console/project-[project]/functions/function-[function]/executions/+page.ts index f1d9b8bfd4..86ef6c966c 100644 --- a/src/routes/console/project-[project]/functions/function-[function]/executions/+page.ts +++ b/src/routes/console/project-[project]/functions/function-[function]/executions/+page.ts @@ -15,7 +15,8 @@ export const load: PageLoad = async ({ params, depends, url, route }) => { limit, executions: await sdk.forProject.functions.listExecutions(params.function, [ Query.limit(limit), - Query.offset(offset) + Query.offset(offset), + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/project-[project]/storage/+page.ts b/src/routes/console/project-[project]/storage/+page.ts index 08c03c8ec7..cb8268b862 100644 --- a/src/routes/console/project-[project]/storage/+page.ts +++ b/src/routes/console/project-[project]/storage/+page.ts @@ -15,7 +15,7 @@ export const load: PageLoad = async ({ url, route }) => { buckets: await sdk.forProject.storage.listBuckets([ Query.limit(limit), Query.offset(offset), - Query.orderDesc('$createdAt') + Query.orderDesc('') ]) }; }; diff --git a/src/routes/console/project-[project]/storage/bucket-[bucket]/+page.ts b/src/routes/console/project-[project]/storage/bucket-[bucket]/+page.ts index 219c82b34a..203ea24108 100644 --- a/src/routes/console/project-[project]/storage/bucket-[bucket]/+page.ts +++ b/src/routes/console/project-[project]/storage/bucket-[bucket]/+page.ts @@ -17,7 +17,7 @@ export const load: PageLoad = async ({ params, depends, url, route }) => { search, files: await sdk.forProject.storage.listFiles( params.bucket, - [Query.limit(limit), Query.offset(offset), Query.orderDesc('$createdAt')], + [Query.limit(limit), Query.offset(offset), Query.orderDesc('')], search ) };