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, } } }