From f4b0109e5574c1c8862cef5b738cecf0005b9468 Mon Sep 17 00:00:00 2001 From: Fredrik Ringqvist <35255659+fredrikphotowall@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:44:38 +0200 Subject: [PATCH] Add sending of cache invalidation events for several product edits (#177) --- src/resolvers/products-resolver.ts | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/resolvers/products-resolver.ts b/src/resolvers/products-resolver.ts index 02ffa72..5ac2573 100644 --- a/src/resolvers/products-resolver.ts +++ b/src/resolvers/products-resolver.ts @@ -310,6 +310,7 @@ export const productMutationTypeDefs = { productId, markets, ); + await sendProductUpdatedEvent([productId], ['blacklisting']); return (dataSources.productApi).getProduct(productId); }, @@ -365,6 +366,7 @@ export const productMutationTypeDefs = { groupId, uris, ); + await sendProductUpdatedEvent([productId], ['interiors']); return (dataSources.productApi).getProduct(productId); }, @@ -420,9 +422,11 @@ export const productMutationTypeDefs = { { printId, widthMm, heightMm, cropX, cropY, border }, { dataSources }, ): Promise { - return (( + const defaults = await (( dataSources.printProductDefaultsApi )).updateDefaults(printId, widthMm, heightMm, cropX, cropY, border); + await sendProductUpdatedEvent([printId], ['print-defaults']); + return defaults; }, /** @@ -469,6 +473,8 @@ export const productMutationTypeDefs = { height.toString(), ); + await sendProductUpdatedEvent([productId], ['product']); + const product = await (dataSources.productApi).getProduct( productId, ); @@ -488,6 +494,7 @@ export const productMutationTypeDefs = { productId, articleNumbers, ); + await sendProductUpdatedEvent([productId], ['add-related-products']); return (dataSources.productApi).getProduct(productId); }, @@ -504,6 +511,10 @@ export const productMutationTypeDefs = { productId, relatedProductIds, ); + await sendProductUpdatedEvent( + [productId, ...relatedProductIds], + ['remove-related-products'], + ); return (dataSources.productApi).getProduct(productId); }, @@ -574,6 +585,7 @@ export const productMutationTypeDefs = { productIds, markets, ); + await sendProductUpdatedEvent(productIds, ['blacklisting']); return { value: 'OK', };