From 0016b0a9a7031219ed8ef09462b2eb6777a3bf02 Mon Sep 17 00:00:00 2001 From: Hongbo Wu Date: Tue, 5 Sep 2023 17:43:35 +0800 Subject: [PATCH] fix update library item --- packages/api/src/resolvers/update/index.ts | 14 ++++---------- packages/api/src/services/library_item.ts | 13 ++++++++++--- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/packages/api/src/resolvers/update/index.ts b/packages/api/src/resolvers/update/index.ts index 6671b6f7b..255efd2b5 100644 --- a/packages/api/src/resolvers/update/index.ts +++ b/packages/api/src/resolvers/update/index.ts @@ -1,20 +1,14 @@ -import { LibraryItem, LibraryItemState } from '../../entity/library_item' +import { LibraryItemState } from '../../entity/library_item' import { MutationUpdatePageArgs, UpdatePageError, UpdatePageSuccess, } from '../../generated/graphql' import { updateLibraryItem } from '../../services/library_item' -import { Merge } from '../../util' -import { authorized } from '../../utils/helpers' - -export type UpdatePageSuccessPartial = Merge< - UpdatePageSuccess, - { updatedPage: Partial } -> +import { authorized, libraryItemToArticle } from '../../utils/helpers' export const updatePageResolver = authorized< - UpdatePageSuccessPartial, + UpdatePageSuccess, UpdatePageError, MutationUpdatePageArgs >(async (_, { input }, { uid }) => { @@ -34,6 +28,6 @@ export const updatePageResolver = authorized< uid ) return { - updatedPage, + updatedPage: libraryItemToArticle(updatedPage), } }) diff --git a/packages/api/src/services/library_item.ts b/packages/api/src/services/library_item.ts index 2a8025708..b60713a16 100644 --- a/packages/api/src/services/library_item.ts +++ b/packages/api/src/services/library_item.ts @@ -317,9 +317,16 @@ export const updateLibraryItem = async ( userId: string, pubsub = createPubSubClient() ): Promise => { - const updatedLibraryItem = await authTrx(async (tx) => - tx.withRepository(libraryItemRepository).save({ id, ...libraryItem }) - ) + const updatedLibraryItem = await authTrx(async (tx) => { + const itemRepo = tx.withRepository(libraryItemRepository) + await itemRepo.save({ id, ...libraryItem }) + + return itemRepo.findById(id) + }) + + if (!updatedLibraryItem) { + throw new Error(`Library item ${id} not found`) + } await pubsub.entityUpdated>( EntityType.PAGE,