From 19ed5501f6684d940037de2fdb5c16d1489ded56 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Mon, 19 Aug 2024 10:09:42 +0800 Subject: [PATCH] fix: select readable_content from library_item table if content is requested by search api --- packages/api/src/resolvers/article/index.ts | 10 +++++----- packages/api/src/resolvers/function_resolvers.ts | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 287bdf38c..e4e34e912 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -596,7 +596,7 @@ export const searchResolver = authorized< >, SearchError, QuerySearchArgs ->(async (_obj, params, { uid }) => { +>(async (_obj, params, { uid }, info) => { const startCursor = params.after || '' const first = Math.min(params.first || 10, 100) // limit to 100 items @@ -605,9 +605,11 @@ export const searchResolver = authorized< return { errorCodes: [SearchErrorCode.QueryTooLong] } } + const isContentRequested = isFieldInSelectionSet(info, 'content') + const searchLibraryItemArgs = { includePending: true, - includeContent: params.includeContent ?? true, // by default include content for offline use for now + includeContent: params.includeContent || isContentRequested, includeDeleted: params.query?.includes('in:trash'), query: params.query, useFolders: params.query?.includes('use:folders'), @@ -698,12 +700,10 @@ export const updatesSinceResolver = authorized< folder || 'all' } updated:${startDate.toISOString()} sort:${sort.by}-${sort.order}` - const isContentRequested = isFieldInSelectionSet(info, 'content') - const searchLibraryItemArgs = { includeDeleted: true, query, - includeContent: isContentRequested, + includeContent: false, } const libraryItems = await searchLibraryItems( diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index d3cd06b1a..d042b7811 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -577,6 +577,7 @@ export const functionResolvers = { pageType: (item: LibraryItem) => item.itemType, highlightsCount: (item: LibraryItem) => item.highlightAnnotations?.length, ...readingProgressHandlers, + content: (item: LibraryItem) => item.readableContent, }, PageInfo: { async totalCount(