Merge pull request #3131 from omnivore-app/fix/following-api
fix/following api
This commit is contained in:
@ -94,6 +94,7 @@ export type Article = {
|
||||
contentReader: ContentReader;
|
||||
createdAt: Scalars['Date'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
folder: Scalars['String'];
|
||||
hasContent?: Maybe<Scalars['Boolean']>;
|
||||
hash: Scalars['String'];
|
||||
highlights: Array<Highlight>;
|
||||
@ -2290,16 +2291,20 @@ export type SearchItem = {
|
||||
contentReader: ContentReader;
|
||||
createdAt: Scalars['Date'];
|
||||
description?: Maybe<Scalars['String']>;
|
||||
folder: Scalars['String'];
|
||||
highlights?: Maybe<Array<Highlight>>;
|
||||
id: Scalars['ID'];
|
||||
image?: Maybe<Scalars['String']>;
|
||||
isArchived: Scalars['Boolean'];
|
||||
labels?: Maybe<Array<Label>>;
|
||||
language?: Maybe<Scalars['String']>;
|
||||
links?: Maybe<Scalars['JSON']>;
|
||||
originalArticleUrl?: Maybe<Scalars['String']>;
|
||||
ownedByViewer?: Maybe<Scalars['Boolean']>;
|
||||
pageId?: Maybe<Scalars['ID']>;
|
||||
pageType: PageType;
|
||||
previewContent?: Maybe<Scalars['String']>;
|
||||
previewContentType?: Maybe<Scalars['String']>;
|
||||
publishedAt?: Maybe<Scalars['Date']>;
|
||||
quote?: Maybe<Scalars['String']>;
|
||||
readAt?: Maybe<Scalars['Date']>;
|
||||
@ -4402,6 +4407,7 @@ export type ArticleResolvers<ContextType = ResolverContext, ParentType extends R
|
||||
contentReader?: Resolver<ResolversTypes['ContentReader'], ParentType, ContextType>;
|
||||
createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
|
||||
description?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
folder?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
||||
hasContent?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
|
||||
hash?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
||||
highlights?: Resolver<Array<ResolversTypes['Highlight']>, ParentType, ContextType, Partial<ArticleHighlightsArgs>>;
|
||||
@ -5695,16 +5701,20 @@ export type SearchItemResolvers<ContextType = ResolverContext, ParentType extend
|
||||
contentReader?: Resolver<ResolversTypes['ContentReader'], ParentType, ContextType>;
|
||||
createdAt?: Resolver<ResolversTypes['Date'], ParentType, ContextType>;
|
||||
description?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
folder?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
|
||||
highlights?: Resolver<Maybe<Array<ResolversTypes['Highlight']>>, ParentType, ContextType>;
|
||||
id?: Resolver<ResolversTypes['ID'], ParentType, ContextType>;
|
||||
image?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
isArchived?: Resolver<ResolversTypes['Boolean'], ParentType, ContextType>;
|
||||
labels?: Resolver<Maybe<Array<ResolversTypes['Label']>>, ParentType, ContextType>;
|
||||
language?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
links?: Resolver<Maybe<ResolversTypes['JSON']>, ParentType, ContextType>;
|
||||
originalArticleUrl?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
ownedByViewer?: Resolver<Maybe<ResolversTypes['Boolean']>, ParentType, ContextType>;
|
||||
pageId?: Resolver<Maybe<ResolversTypes['ID']>, ParentType, ContextType>;
|
||||
pageType?: Resolver<ResolversTypes['PageType'], ParentType, ContextType>;
|
||||
previewContent?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
previewContentType?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
publishedAt?: Resolver<Maybe<ResolversTypes['Date']>, ParentType, ContextType>;
|
||||
quote?: Resolver<Maybe<ResolversTypes['String']>, ParentType, ContextType>;
|
||||
readAt?: Resolver<Maybe<ResolversTypes['Date']>, ParentType, ContextType>;
|
||||
|
||||
@ -69,6 +69,7 @@ type Article {
|
||||
contentReader: ContentReader!
|
||||
createdAt: Date!
|
||||
description: String
|
||||
folder: String!
|
||||
hasContent: Boolean
|
||||
hash: String!
|
||||
highlights(input: ArticleHighlightsInput): [Highlight!]!
|
||||
@ -1746,16 +1747,20 @@ type SearchItem {
|
||||
contentReader: ContentReader!
|
||||
createdAt: Date!
|
||||
description: String
|
||||
folder: String!
|
||||
highlights: [Highlight!]
|
||||
id: ID!
|
||||
image: String
|
||||
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
|
||||
|
||||
@ -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: '',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@ -396,6 +396,7 @@ const schema = gql`
|
||||
readAt: Date
|
||||
recommendations: [Recommendation!]
|
||||
wordsCount: Int
|
||||
folder: String!
|
||||
}
|
||||
|
||||
# Query: article
|
||||
@ -1611,6 +1612,10 @@ const schema = gql`
|
||||
wordsCount: Int
|
||||
content: String
|
||||
archivedAt: Date
|
||||
previewContent: String
|
||||
previewContentType: String
|
||||
links: JSON
|
||||
folder: String!
|
||||
}
|
||||
|
||||
type SearchItemEdge {
|
||||
|
||||
@ -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 serviceBaseUrl = process.env.INTERNAL_SVC_ENDPOINT
|
||||
const token = process.env.PUBSUB_VERIFICATION_TOKEN
|
||||
if (!serviceBaseUrl || !token) {
|
||||
throw 'Environment not configured correctly'
|
||||
}
|
||||
|
||||
// save page
|
||||
const task = await createCloudTask(FOLLOWING_HANDLER_URL, input)
|
||||
const taskHandlerUrl = `${serviceBaseUrl}svc/following/save?token=${token}`
|
||||
const task = await createCloudTask(taskHandlerUrl, input)
|
||||
console.log('Created task', task)
|
||||
|
||||
return !!task
|
||||
|
||||
@ -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,
|
||||
|
||||
Reference in New Issue
Block a user