From dc27c0c7a4ea61f1570f31191e2e963a42e6212f Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 16 Mar 2022 13:33:36 -0700 Subject: [PATCH 1/3] Return 0 if looking up page reading progress fails --- .../api/src/resolvers/function_resolvers.ts | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index 1ee95e46c..c53fce576 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -386,6 +386,38 @@ export const functionResolvers = { ? ContentReader.Pdf : ContentReader.Web }, + async readingProgressPercent( + article: { id: string; readingProgressPercent?: number }, + _: unknown, + ctx: WithDataSourcesContext & { claims: Claims } + ) { + // != used here to check for null or undefined + if (article.readingProgressPercent != null) { + return article.readingProgressPercent + } + return ( + await getPageByParam({ + userId: ctx.claims.uid, + _id: article.id, + }) + )?.readingProgressPercent || 0 + }, + async readingProgressAnchorIndex( + article: { id: string; readingProgressAnchorIndex?: number }, + _: unknown, + ctx: WithDataSourcesContext & { claims: Claims } + ) { + // != used here to check for null or undefined + if (article.readingProgressAnchorIndex != null) { + return article.readingProgressAnchorIndex + } + return ( + await getPageByParam({ + userId: ctx.claims.uid, + _id: article.id, + }) + )?.readingProgressAnchorIndex || 0 + }, async highlights( article: { id: string; userId?: string }, _: { input: ArticleHighlightsInput }, From 0314d8cf175c5680d6d058330707eb9e907f56ae Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 16 Mar 2022 13:53:55 -0700 Subject: [PATCH 2/3] Add some extra logging --- packages/api/src/resolvers/function_resolvers.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index c53fce576..3d16b1cd6 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -395,6 +395,7 @@ export const functionResolvers = { if (article.readingProgressPercent != null) { return article.readingProgressPercent } + console.log('looking up reading progress for article', article.id, article) return ( await getPageByParam({ userId: ctx.claims.uid, From 89f3719ba35ad00e41a257aec07c4d999ebb9f1e Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Wed, 16 Mar 2022 14:23:39 -0700 Subject: [PATCH 3/3] Fix linting --- .../api/src/resolvers/function_resolvers.ts | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/packages/api/src/resolvers/function_resolvers.ts b/packages/api/src/resolvers/function_resolvers.ts index 3d16b1cd6..16e86de0e 100644 --- a/packages/api/src/resolvers/function_resolvers.ts +++ b/packages/api/src/resolvers/function_resolvers.ts @@ -395,13 +395,19 @@ export const functionResolvers = { if (article.readingProgressPercent != null) { return article.readingProgressPercent } - console.log('looking up reading progress for article', article.id, article) + console.log( + 'looking up reading progress for article', + article.id, + article + ) return ( - await getPageByParam({ - userId: ctx.claims.uid, - _id: article.id, - }) - )?.readingProgressPercent || 0 + ( + await getPageByParam({ + userId: ctx.claims.uid, + _id: article.id, + }) + )?.readingProgressPercent || 0 + ) }, async readingProgressAnchorIndex( article: { id: string; readingProgressAnchorIndex?: number }, @@ -413,11 +419,13 @@ export const functionResolvers = { return article.readingProgressAnchorIndex } return ( - await getPageByParam({ - userId: ctx.claims.uid, - _id: article.id, - }) - )?.readingProgressAnchorIndex || 0 + ( + await getPageByParam({ + userId: ctx.claims.uid, + _id: article.id, + }) + )?.readingProgressAnchorIndex || 0 + ) }, async highlights( article: { id: string; userId?: string },