From 9d8d2e40d78f67a8403ca41a188f659980774eb1 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Fri, 18 Mar 2022 10:29:01 +0800 Subject: [PATCH] reduce time to save reading progress in elastic update --- packages/api/src/resolvers/article/index.ts | 25 ++++++++++----------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 71b372a0f..e1337f7e8 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -707,9 +707,9 @@ export const saveArticleReadingProgressResolver = authorized< { input: { id, readingProgressPercent, readingProgressAnchorIndex } }, { claims: { uid }, pubsub } ) => { - const userArticleRecord = await getPageByParam({ userId: uid, _id: id }) + const page = await getPageByParam({ userId: uid, _id: id }) - if (!userArticleRecord) { + if (!page) { return { errorCodes: [SaveArticleReadingProgressErrorCode.NotFound] } } @@ -725,26 +725,25 @@ export const saveArticleReadingProgressResolver = authorized< // be greater than the current reading progress. const shouldUpdate = readingProgressPercent === 0 || - (userArticleRecord.readingProgressPercent || 0) < - readingProgressPercent || - (userArticleRecord.readingProgressAnchorIndex || 0) < - readingProgressAnchorIndex + page.readingProgressPercent < readingProgressPercent || + page.readingProgressAnchorIndex < readingProgressAnchorIndex - const updatedArticle = Object.assign(userArticleRecord, { + const updatedPart = { readingProgressPercent: shouldUpdate ? readingProgressPercent - : userArticleRecord.readingProgressPercent, + : page.readingProgressPercent, readingProgressAnchorIndex: shouldUpdate ? readingProgressAnchorIndex - : userArticleRecord.readingProgressAnchorIndex, - }) + : page.readingProgressAnchorIndex, + } - shouldUpdate && (await updatePage(id, updatedArticle, { pubsub, uid })) + shouldUpdate && (await updatePage(id, updatedPart, { pubsub, uid })) return { updatedArticle: { - ...updatedArticle, - isArchived: !!updatedArticle.archivedAt, + ...page, + ...updatedPart, + isArchived: !!page.archivedAt, }, } }