From 85cbd4e9d0b45972769a16b840a6fc2c9fc9935d Mon Sep 17 00:00:00 2001 From: Jackson Harper Date: Sun, 5 Jun 2022 10:44:23 -0700 Subject: [PATCH] Handle errors updating elastic when saving pages --- .../Sources/Views/SyncingIcon.swift | 8 ++++ packages/api/src/services/save_page.ts | 39 ++++++++++++++----- 2 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 apple/OmnivoreKit/Sources/Views/SyncingIcon.swift diff --git a/apple/OmnivoreKit/Sources/Views/SyncingIcon.swift b/apple/OmnivoreKit/Sources/Views/SyncingIcon.swift new file mode 100644 index 000000000..a234eb638 --- /dev/null +++ b/apple/OmnivoreKit/Sources/Views/SyncingIcon.swift @@ -0,0 +1,8 @@ +// +// File.swift +// +// +// Created by Jackson Harper on 6/5/22. +// + +import Foundation diff --git a/packages/api/src/services/save_page.ts b/packages/api/src/services/save_page.ts index f56f95884..4d7315a95 100644 --- a/packages/api/src/services/save_page.ts +++ b/packages/api/src/services/save_page.ts @@ -1,6 +1,11 @@ import { PubsubClient } from '../datalayer/pubsub' import { homePageURL } from '../env' -import { Maybe, SavePageInput, SaveResult } from '../generated/graphql' +import { + Maybe, + SaveErrorCode, + SavePageInput, + SaveResult, +} from '../generated/graphql' import { DataModels } from '../resolvers/types' import { generateSlug, stringToHash, validatedDate } from '../utils/helpers' import { parsePreparedContent } from '../utils/parser' @@ -102,14 +107,22 @@ export const savePage = async ( state: ArticleSavingRequestStatus.Succeeded, }) if (existingPage) { - await updatePage( - existingPage.id, - { - savedAt: new Date(), - archivedAt: undefined, - }, - ctx - ) + if ( + !(await updatePage( + existingPage.id, + { + savedAt: new Date(), + archivedAt: undefined, + }, + ctx + )) + ) { + console.log('FAILED TO UPDATE EXISTING PAGE WITH', input) + return { + errorCodes: [SaveErrorCode.Unknown], + message: 'Failed to update existing page', + } + } input.clientRequestId = existingPage.id } else if (shouldParseInBackend(input)) { await createPageSaveRequest( @@ -120,7 +133,13 @@ export const savePage = async ( input.clientRequestId ) } else { - await createPage(articleToSave, ctx) + if (!(await createPage(articleToSave, ctx))) { + console.log('FAILED TO CREATE PAGE WITH INPUT', input) + return { + errorCodes: [SaveErrorCode.Unknown], + message: 'Failed to create new page', + } + } } return {