From 01e95c3598c2a2db4e70873ee651ffdf9df21343 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Wed, 13 Jul 2022 11:34:20 +0800 Subject: [PATCH] check if page saved by adding links before creating by extension --- packages/api/src/resolvers/article/index.ts | 36 +++++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/packages/api/src/resolvers/article/index.ts b/packages/api/src/resolvers/article/index.ts index 679757f33..76cb8014c 100644 --- a/packages/api/src/resolvers/article/index.ts +++ b/packages/api/src/resolvers/article/index.ts @@ -324,20 +324,15 @@ export const createArticleResolver = authorized< ) } - // create new page in elastic - if (!pageId) { - const newPageId = await createPage(articleToSave, { ...ctx, uid }) - if (!newPageId) { - return pageError( - { - errorCodes: [CreateArticleErrorCode.ElasticError], - }, - ctx, - pageId - ) - } - articleToSave.id = newPageId - } else { + if ( + pageId || + (pageId = ( + await getPageByParam({ + userId: uid, + url: articleToSave.url, + }) + )?.id) + ) { // update existing page's state from processing to succeeded articleToSave.archivedAt = archive ? saveTime : null const updated = await updatePage(pageId, articleToSave, { @@ -354,6 +349,19 @@ export const createArticleResolver = authorized< pageId ) } + } else { + // create new page in elastic + const newPageId = await createPage(articleToSave, { ...ctx, uid }) + if (!newPageId) { + return pageError( + { + errorCodes: [CreateArticleErrorCode.ElasticError], + }, + ctx, + pageId + ) + } + articleToSave.id = newPageId } log.info(