From 25401575e122e3a60ad4869d14c624f29324eae4 Mon Sep 17 00:00:00 2001 From: Lauren Liberda Date: Thu, 29 Jul 2021 02:12:46 +0200 Subject: [PATCH] item deleting --- src/items/items.resolver.ts | 5 +++++ src/items/items.service.ts | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/src/items/items.resolver.ts b/src/items/items.resolver.ts index ded1df4..68b46b6 100644 --- a/src/items/items.resolver.ts +++ b/src/items/items.resolver.ts @@ -57,4 +57,9 @@ export class ItemsResolver { async createItem(@Args('itemData') itemData: NewItemInput) { return this.itemsService.createItem(itemData); } + + @Mutation((returns) => ItemModel) + async deleteItem(@Args('id', { type: () => ID }) itemId: string) { + return this.itemsService.deleteItem(itemId); + } } diff --git a/src/items/items.service.ts b/src/items/items.service.ts index c93dcee..b8a3765 100644 --- a/src/items/items.service.ts +++ b/src/items/items.service.ts @@ -117,4 +117,14 @@ export class ItemsService { return item; } + + async deleteItem(id: string) { + const item = await this.itemRepository.findOne(this.eans.toID(id)); + if (!item) { + return null; + } + // will fail if item has children + await this.itemRepository.remove(item); + return item; + } }