From a2ce98229e3a977d91086e64e67e53ef1d0371e9 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 17 Mar 2022 10:54:00 +0800 Subject: [PATCH] =?UTF-8?q?default=20sort=20by=20savedAt=20to=20avoid=20re?= =?UTF-8?q?cent=20read=20page=20to=20appear=20on=20top=20of=E2=80=A6=20(#2?= =?UTF-8?q?54)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * default sort by savedAt to avoid recent read page to appear on top of the list * revert lint on generated code --- packages/api/src/elastic/index.ts | 3 ++- packages/api/src/generated/graphql.ts | 1 + packages/api/src/generated/schema.graphql | 1 + packages/api/src/schema.ts | 1 + packages/api/src/utils/search.ts | 7 ++++--- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/api/src/elastic/index.ts b/packages/api/src/elastic/index.ts index 72ae06b6e..95ea0a709 100644 --- a/packages/api/src/elastic/index.ts +++ b/packages/api/src/elastic/index.ts @@ -393,7 +393,8 @@ export const searchPages = async ( inFilter, } = args const sortOrder = sort?.order === SortOrder.Ascending ? 'asc' : 'desc' - const sortField = sort?.by === SortBy.Score ? '_score' : 'updatedAt' + // default sort by saved_at + const sortField = sort?.by === SortBy.Score ? '_score' : 'savedAt' const includeLabels = labelFilters.filter( (filter) => filter.type === LabelFilterType.INCLUDE ) diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index f7ae663ec..2820f2ab1 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -1512,6 +1512,7 @@ export type SignupSuccess = { }; export enum SortBy { + SavedAt = 'SAVED_AT', Score = 'SCORE', UpdatedTime = 'UPDATED_TIME' } diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index 426b31a3c..83124233a 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -1133,6 +1133,7 @@ type SignupSuccess { } enum SortBy { + SAVED_AT SCORE UPDATED_TIME } diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index 04885cdf0..1ad07cbb8 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -27,6 +27,7 @@ const schema = gql` enum SortBy { UPDATED_TIME SCORE + SAVED_AT } enum ContentReader { diff --git a/packages/api/src/utils/search.ts b/packages/api/src/utils/search.ts index 240757979..4efbd3045 100644 --- a/packages/api/src/utils/search.ts +++ b/packages/api/src/utils/search.ts @@ -123,15 +123,16 @@ const parseSortParams = (str?: string): SortParams | undefined => { order?.toUpperCase() === 'ASC' ? SortOrder.Ascending : SortOrder.Descending switch (sort.toUpperCase()) { - case 'UPDATED_AT': + case 'UPDATED_TIME': + case 'SAVED_AT': return { - by: SortBy.UpdatedTime, + by: SortBy.SavedAt, order: sortOrder, } case 'SCORE': + // sort by score does not need an order return { by: SortBy.Score, - order: sortOrder, } } }