diff --git a/packages/api/src/generated/graphql.ts b/packages/api/src/generated/graphql.ts index 773e67137..9b0e4f777 100644 --- a/packages/api/src/generated/graphql.ts +++ b/packages/api/src/generated/graphql.ts @@ -725,6 +725,19 @@ export type Feature = { updatedAt?: Maybe; }; +export type Feed = { + __typename?: 'Feed'; + author?: Maybe; + createdAt: Scalars['Date']; + description?: Maybe; + id: Scalars['ID']; + image?: Maybe; + publishedAt?: Maybe; + title: Scalars['String']; + updatedAt: Scalars['Date']; + url: Scalars['String']; +}; + export type FeedArticle = { __typename?: 'FeedArticle'; annotationsCount?: Maybe; @@ -762,6 +775,30 @@ export type FeedArticlesSuccess = { pageInfo: PageInfo; }; +export type FeedEdge = { + __typename?: 'FeedEdge'; + cursor: Scalars['String']; + node: Feed; +}; + +export type FeedsError = { + __typename?: 'FeedsError'; + errorCodes: Array; +}; + +export enum FeedsErrorCode { + BadRequest = 'BAD_REQUEST', + Unauthorized = 'UNAUTHORIZED' +} + +export type FeedsResult = FeedsError | FeedsSuccess; + +export type FeedsSuccess = { + __typename?: 'FeedsSuccess'; + edges: Array; + pageInfo: PageInfo; +}; + export type Filter = { __typename?: 'Filter'; category: Scalars['String']; @@ -1725,6 +1762,7 @@ export type Query = { article: ArticleResult; articleSavingRequest: ArticleSavingRequestResult; deviceTokens: DeviceTokensResult; + feeds: FeedsResult; filters: FiltersResult; getUserPersonalization: GetUserPersonalizationResult; groups: GroupsResult; @@ -1762,6 +1800,14 @@ export type QueryArticleSavingRequestArgs = { }; +export type QueryFeedsArgs = { + after?: InputMaybe; + first?: InputMaybe; + query: Scalars['String']; + sort?: InputMaybe; +}; + + export type QueryRulesArgs = { enabled?: InputMaybe; }; @@ -3459,12 +3505,18 @@ export type ResolversTypes = { DeviceTokensResult: ResolversTypes['DeviceTokensError'] | ResolversTypes['DeviceTokensSuccess']; DeviceTokensSuccess: ResolverTypeWrapper; Feature: ResolverTypeWrapper; + Feed: ResolverTypeWrapper; FeedArticle: ResolverTypeWrapper; FeedArticleEdge: ResolverTypeWrapper; FeedArticlesError: ResolverTypeWrapper; FeedArticlesErrorCode: FeedArticlesErrorCode; FeedArticlesResult: ResolversTypes['FeedArticlesError'] | ResolversTypes['FeedArticlesSuccess']; FeedArticlesSuccess: ResolverTypeWrapper; + FeedEdge: ResolverTypeWrapper; + FeedsError: ResolverTypeWrapper; + FeedsErrorCode: FeedsErrorCode; + FeedsResult: ResolversTypes['FeedsError'] | ResolversTypes['FeedsSuccess']; + FeedsSuccess: ResolverTypeWrapper; Filter: ResolverTypeWrapper; FiltersError: ResolverTypeWrapper; FiltersErrorCode: FiltersErrorCode; @@ -3939,11 +3991,16 @@ export type ResolversParentTypes = { DeviceTokensResult: ResolversParentTypes['DeviceTokensError'] | ResolversParentTypes['DeviceTokensSuccess']; DeviceTokensSuccess: DeviceTokensSuccess; Feature: Feature; + Feed: Feed; FeedArticle: FeedArticle; FeedArticleEdge: FeedArticleEdge; FeedArticlesError: FeedArticlesError; FeedArticlesResult: ResolversParentTypes['FeedArticlesError'] | ResolversParentTypes['FeedArticlesSuccess']; FeedArticlesSuccess: FeedArticlesSuccess; + FeedEdge: FeedEdge; + FeedsError: FeedsError; + FeedsResult: ResolversParentTypes['FeedsError'] | ResolversParentTypes['FeedsSuccess']; + FeedsSuccess: FeedsSuccess; Filter: Filter; FiltersError: FiltersError; FiltersResult: ResolversParentTypes['FiltersError'] | ResolversParentTypes['FiltersSuccess']; @@ -4734,6 +4791,19 @@ export type FeatureResolvers; }; +export type FeedResolvers = { + author?: Resolver, ParentType, ContextType>; + createdAt?: Resolver; + description?: Resolver, ParentType, ContextType>; + id?: Resolver; + image?: Resolver, ParentType, ContextType>; + publishedAt?: Resolver, ParentType, ContextType>; + title?: Resolver; + updatedAt?: Resolver; + url?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + export type FeedArticleResolvers = { annotationsCount?: Resolver, ParentType, ContextType>; article?: Resolver; @@ -4769,6 +4839,27 @@ export type FeedArticlesSuccessResolvers; }; +export type FeedEdgeResolvers = { + cursor?: Resolver; + node?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeedsErrorResolvers = { + errorCodes?: Resolver, ParentType, ContextType>; + __isTypeOf?: IsTypeOfResolverFn; +}; + +export type FeedsResultResolvers = { + __resolveType: TypeResolveFn<'FeedsError' | 'FeedsSuccess', ParentType, ContextType>; +}; + +export type FeedsSuccessResolvers = { + edges?: Resolver, ParentType, ContextType>; + pageInfo?: Resolver; + __isTypeOf?: IsTypeOfResolverFn; +}; + export type FilterResolvers = { category?: Resolver; createdAt?: Resolver; @@ -5266,6 +5357,7 @@ export type QueryResolvers>; articleSavingRequest?: Resolver>; deviceTokens?: Resolver; + feeds?: Resolver>; filters?: Resolver; getUserPersonalization?: Resolver; groups?: Resolver; @@ -6287,11 +6379,16 @@ export type Resolvers = { DeviceTokensResult?: DeviceTokensResultResolvers; DeviceTokensSuccess?: DeviceTokensSuccessResolvers; Feature?: FeatureResolvers; + Feed?: FeedResolvers; FeedArticle?: FeedArticleResolvers; FeedArticleEdge?: FeedArticleEdgeResolvers; FeedArticlesError?: FeedArticlesErrorResolvers; FeedArticlesResult?: FeedArticlesResultResolvers; FeedArticlesSuccess?: FeedArticlesSuccessResolvers; + FeedEdge?: FeedEdgeResolvers; + FeedsError?: FeedsErrorResolvers; + FeedsResult?: FeedsResultResolvers; + FeedsSuccess?: FeedsSuccessResolvers; Filter?: FilterResolvers; FiltersError?: FiltersErrorResolvers; FiltersResult?: FiltersResultResolvers; diff --git a/packages/api/src/generated/schema.graphql b/packages/api/src/generated/schema.graphql index 09150be0c..8455bd80c 100644 --- a/packages/api/src/generated/schema.graphql +++ b/packages/api/src/generated/schema.graphql @@ -641,6 +641,18 @@ type Feature { updatedAt: Date } +type Feed { + author: String + createdAt: Date! + description: String + id: ID! + image: String + publishedAt: Date + title: String! + updatedAt: Date! + url: String! +} + type FeedArticle { annotationsCount: Int article: Article! @@ -674,6 +686,27 @@ type FeedArticlesSuccess { pageInfo: PageInfo! } +type FeedEdge { + cursor: String! + node: Feed! +} + +type FeedsError { + errorCodes: [FeedsErrorCode!]! +} + +enum FeedsErrorCode { + BAD_REQUEST + UNAUTHORIZED +} + +union FeedsResult = FeedsError | FeedsSuccess + +type FeedsSuccess { + edges: [FeedEdge!]! + pageInfo: PageInfo! +} + type Filter { category: String! createdAt: Date! @@ -1294,6 +1327,7 @@ type Query { article(format: String, slug: String!, username: String!): ArticleResult! articleSavingRequest(id: ID, url: String): ArticleSavingRequestResult! deviceTokens: DeviceTokensResult! + feeds(after: String, first: Int, query: String!, sort: SortParams): FeedsResult! filters: FiltersResult! getUserPersonalization: GetUserPersonalizationResult! groups: GroupsResult! diff --git a/packages/api/src/schema.ts b/packages/api/src/schema.ts index 4e0692bcc..24ef1ae9a 100755 --- a/packages/api/src/schema.ts +++ b/packages/api/src/schema.ts @@ -2605,6 +2605,39 @@ const schema = gql` email: String! } + union FeedsResult = FeedsSuccess | FeedsError + + type FeedsSuccess { + edges: [FeedEdge!]! + pageInfo: PageInfo! + } + + type FeedEdge { + cursor: String! + node: Feed! + } + + type FeedsError { + errorCodes: [FeedsErrorCode!]! + } + + enum FeedsErrorCode { + UNAUTHORIZED + BAD_REQUEST + } + + type Feed { + id: ID! + title: String! + url: String! + description: String + image: String + createdAt: Date! + updatedAt: Date! + publishedAt: Date + author: String + } + # Mutations type Mutation { googleLogin(input: GoogleLoginInput!): LoginResult! @@ -2766,6 +2799,12 @@ const schema = gql` filters: FiltersResult! groups: GroupsResult! recentEmails: RecentEmailsResult! + feeds( + after: String + first: Int + query: String! + sort: SortParams + ): FeedsResult! } `