From 12c18a36619992ffe5cb2abc96c78a43f1e78955 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 15 Nov 2023 15:53:01 +0800 Subject: [PATCH 1/5] add preview content to the search API response --- packages/api/src/generated/graphql.ts | 6 ++++++ packages/api/src/generated/schema.graphql | 3 +++ packages/api/src/schema.ts | 3 +++ 3 files changed, 12 insertions(+) diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index e6c518eeb..6ecd3b7c9 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -2296,10 +2296,13 @@ export type SearchItem = { isArchived: Scalars['Boolean']; labels?: Maybe>; language?: Maybe; + links?: Maybe; originalArticleUrl?: Maybe; ownedByViewer?: Maybe; pageId?: Maybe; pageType: PageType; + previewContent?: Maybe; + previewContentType?: Maybe; publishedAt?: Maybe; quote?: Maybe; readAt?: Maybe; @@ -5701,10 +5704,13 @@ export type SearchItemResolvers; labels?: Resolver>, ParentType, ContextType>; language?: Resolver, ParentType, ContextType>; + links?: Resolver, ParentType, ContextType>; originalArticleUrl?: Resolver, ParentType, ContextType>; ownedByViewer?: Resolver, ParentType, ContextType>; pageId?: Resolver, ParentType, ContextType>; pageType?: Resolver; + previewContent?: Resolver, ParentType, ContextType>; + previewContentType?: Resolver, ParentType, ContextType>; publishedAt?: Resolver, ParentType, ContextType>; quote?: Resolver, ParentType, ContextType>; readAt?: Resolver, ParentType, ContextType>; diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index 01ea5b6b3..46065f740 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -1752,10 +1752,13 @@ type SearchItem { isArchived: Boolean! labels: [Label!] language: String + links: JSON originalArticleUrl: String ownedByViewer: Boolean pageId: ID pageType: PageType! + previewContent: String + previewContentType: String publishedAt: Date quote: String readAt: Date diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index 1ddb694b9..f4bf15de9 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -1611,6 +1611,9 @@ const schema = gql` wordsCount: Int content: String archivedAt: Date + previewContent: String + previewContentType: String + links: JSON } type SearchItemEdge { From 5057448c4f315b080d1b87b2f32b82cd23115b5b Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 15 Nov 2023 15:58:17 +0800 Subject: [PATCH 2/5] update following task handler url --- packages/rss-handler/src/index.ts | 15 +++++++++------ packages/rss-handler/src/task.ts | 1 - 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/packages/rss-handler/src/index.ts b/packages/rss-handler/src/index.ts index 1c06b413b..03d53e85f 100644 --- a/packages/rss-handler/src/index.ts +++ b/packages/rss-handler/src/index.ts @@ -5,11 +5,7 @@ import * as dotenv from 'dotenv' // see https://github.com/motdotla/dotenv#how-d import * as jwt from 'jsonwebtoken' import Parser, { Item } from 'rss-parser' import { promisify } from 'util' -import { - CONTENT_FETCH_URL, - createCloudTask, - FOLLOWING_HANDLER_URL, -} from './task' +import { CONTENT_FETCH_URL, createCloudTask } from './task' interface RssFeedRequest { subscriptionIds: string[] @@ -189,8 +185,15 @@ const createFollowingTask = async ( try { console.log('Creating task', input.url) + const apiEndpoint = process.env.REST_BACKEND_ENDPOINT + const token = process.env.PUBSUB_VERIFICATION_TOKEN + if (!apiEndpoint || !token) { + throw 'Environment not configured correctly' + } + // save page - const task = await createCloudTask(FOLLOWING_HANDLER_URL, input) + const taskHandlerUrl = `${apiEndpoint}/svc/following/save?token=${token}` + const task = await createCloudTask(taskHandlerUrl, input) console.log('Created task', task) return !!task diff --git a/packages/rss-handler/src/task.ts b/packages/rss-handler/src/task.ts index 9fe02fca7..8a89fbd43 100644 --- a/packages/rss-handler/src/task.ts +++ b/packages/rss-handler/src/task.ts @@ -4,7 +4,6 @@ import { CloudTasksClient, protos } from '@google-cloud/tasks' const cloudTask = new CloudTasksClient() export const CONTENT_FETCH_URL = process.env.CONTENT_FETCH_GCF_URL -export const FOLLOWING_HANDLER_URL = process.env.FOLLOWING_HANDLER_URL export const createCloudTask = async ( taskHandlerUrl: string | undefined, From f9b389edad4b4d5d6067f0d7efa53c38ec1fbb38 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 15 Nov 2023 17:25:14 +0800 Subject: [PATCH 3/5] add folder to article and search item type --- packages/api/src/generated/graphql.ts | 4 ++++ packages/api/src/generated/schema.graphql | 2 ++ packages/api/src/schema.ts | 2 ++ 3 files changed, 8 insertions(+) diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index 6ecd3b7c9..164ac7de4 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -94,6 +94,7 @@ export type Article = { contentReader: ContentReader; createdAt: Scalars['Date']; description?: Maybe; + folder: Scalars['String']; hasContent?: Maybe; hash: Scalars['String']; highlights: Array; @@ -2290,6 +2291,7 @@ export type SearchItem = { contentReader: ContentReader; createdAt: Scalars['Date']; description?: Maybe; + folder: Scalars['String']; highlights?: Maybe>; id: Scalars['ID']; image?: Maybe; @@ -4405,6 +4407,7 @@ export type ArticleResolvers; createdAt?: Resolver; description?: Resolver, ParentType, ContextType>; + folder?: Resolver; hasContent?: Resolver, ParentType, ContextType>; hash?: Resolver; highlights?: Resolver, ParentType, ContextType, Partial>; @@ -5698,6 +5701,7 @@ export type SearchItemResolvers; createdAt?: Resolver; description?: Resolver, ParentType, ContextType>; + folder?: Resolver; highlights?: Resolver>, ParentType, ContextType>; id?: Resolver; image?: Resolver, ParentType, ContextType>; diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index 46065f740..52e666e42 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -69,6 +69,7 @@ type Article { contentReader: ContentReader! createdAt: Date! description: String + folder: String! hasContent: Boolean hash: String! highlights(input: ArticleHighlightsInput): [Highlight!]! @@ -1746,6 +1747,7 @@ type SearchItem { contentReader: ContentReader! createdAt: Date! description: String + folder: String! highlights: [Highlight!] id: ID! image: String diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index f4bf15de9..c869bb8ce 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -396,6 +396,7 @@ const schema = gql` readAt: Date recommendations: [Recommendation!] wordsCount: Int + folder: String! } # Query: article @@ -1614,6 +1615,7 @@ const schema = gql` previewContent: String previewContentType: String links: JSON + folder: String! } type SearchItemEdge { From 25d012300706ddb197d079d2fd9c3d6f4afa7be6 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 15 Nov 2023 17:41:28 +0800 Subject: [PATCH 4/5] fix tests --- packages/api/src/resolvers/article/index.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 8f9adaedb..42b209349 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -193,7 +193,7 @@ export const createArticleResolver = authorized< let domContent = null let itemType = PageType.Unknown - const DUMMY_RESPONSE = { + const DUMMY_RESPONSE: CreateArticleSuccess = { user, created: false, createdArticle: { @@ -215,6 +215,7 @@ export const createArticleResolver = authorized< highlights: [], savedAt: new Date(), updatedAt: new Date(), + folder: '', }, } From 148f329770f79f6f39768f3e414e00038b8ff924 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Thu, 16 Nov 2023 11:54:34 +0800 Subject: [PATCH 5/5] use service base url --- packages/rss-handler/src/index.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/rss-handler/src/index.ts b/packages/rss-handler/src/index.ts index 03d53e85f..2c4461c99 100644 --- a/packages/rss-handler/src/index.ts +++ b/packages/rss-handler/src/index.ts @@ -185,14 +185,14 @@ const createFollowingTask = async ( try { console.log('Creating task', input.url) - const apiEndpoint = process.env.REST_BACKEND_ENDPOINT + const serviceBaseUrl = process.env.INTERNAL_SVC_ENDPOINT const token = process.env.PUBSUB_VERIFICATION_TOKEN - if (!apiEndpoint || !token) { + if (!serviceBaseUrl || !token) { throw 'Environment not configured correctly' } // save page - const taskHandlerUrl = `${apiEndpoint}/svc/following/save?token=${token}` + const taskHandlerUrl = `${serviceBaseUrl}svc/following/save?token=${token}` const task = await createCloudTask(taskHandlerUrl, input) console.log('Created task', task)