From 7f87c4f2c8abb876213a595005e67d770be9cbe4 Mon Sep 17 00:00:00 2001 From: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com> Date: Mon, 3 Apr 2023 17:29:48 +0200 Subject: [PATCH] fix(medusa-react): Query key invalidation (#3686) --- .changeset/fresh-forks-carry.md | 6 +++++ .../src/hooks/admin/claims/mutations.ts | 12 +++++++++- .../src/hooks/admin/orders/mutations.ts | 9 +++++++- .../src/hooks/admin/reservations/mutations.ts | 22 ++++++++++++++++--- .../hooks/admin/stock-locations/mutations.ts | 9 +++++++- .../src/hooks/admin/swaps/mutations.ts | 9 ++++++-- 6 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 .changeset/fresh-forks-carry.md diff --git a/.changeset/fresh-forks-carry.md b/.changeset/fresh-forks-carry.md new file mode 100644 index 0000000000..c4882b3621 --- /dev/null +++ b/.changeset/fresh-forks-carry.md @@ -0,0 +1,6 @@ +--- +"medusa-react": patch +"@medusajs/medusa": patch +--- + +fix(medusa-react): Query key invalidation diff --git a/packages/medusa-react/src/hooks/admin/claims/mutations.ts b/packages/medusa-react/src/hooks/admin/claims/mutations.ts index fc3da7d557..7f0bc763e1 100644 --- a/packages/medusa-react/src/hooks/admin/claims/mutations.ts +++ b/packages/medusa-react/src/hooks/admin/claims/mutations.ts @@ -13,6 +13,8 @@ import { } from "@tanstack/react-query" import { useMedusa } from "../../../contexts/medusa" import { buildOptions } from "../../utils/buildOptions" +import { adminProductKeys } from "../products" +import { adminVariantKeys } from "../variants" import { adminOrderKeys } from "./../orders/queries" export const useAdminCreateClaim = ( @@ -84,7 +86,15 @@ export const useAdminFulfillClaim = ( ...payload }: AdminPostOrdersOrderClaimsClaimFulfillmentsReq & { claim_id: string }) => client.admin.orders.fulfillClaim(orderId, claim_id, payload), - buildOptions(queryClient, adminOrderKeys.detail(orderId), options) + buildOptions( + queryClient, + [ + adminOrderKeys.detail(orderId), + adminVariantKeys.all, + adminProductKeys.lists(), + ], + options + ) ) } diff --git a/packages/medusa-react/src/hooks/admin/orders/mutations.ts b/packages/medusa-react/src/hooks/admin/orders/mutations.ts index 454fdc5956..578b1c3b76 100644 --- a/packages/medusa-react/src/hooks/admin/orders/mutations.ts +++ b/packages/medusa-react/src/hooks/admin/orders/mutations.ts @@ -15,6 +15,8 @@ import { } from "@tanstack/react-query" import { useMedusa } from "../../../contexts/medusa" import { buildOptions } from "../../utils/buildOptions" +import { adminProductKeys } from "../products" +import { adminVariantKeys } from "../variants" import { adminOrderKeys } from "./queries" export const useAdminUpdateOrder = ( @@ -128,7 +130,12 @@ export const useAdminCreateFulfillment = ( client.admin.orders.createFulfillment(orderId, payload), buildOptions( queryClient, - [adminOrderKeys.lists(), adminOrderKeys.detail(orderId)], + [ + adminOrderKeys.lists(), + adminOrderKeys.detail(orderId), + adminVariantKeys.all, + adminProductKeys.lists(), + ], options ) ) diff --git a/packages/medusa-react/src/hooks/admin/reservations/mutations.ts b/packages/medusa-react/src/hooks/admin/reservations/mutations.ts index f77ecd4ec2..ac23ce35af 100644 --- a/packages/medusa-react/src/hooks/admin/reservations/mutations.ts +++ b/packages/medusa-react/src/hooks/admin/reservations/mutations.ts @@ -14,6 +14,7 @@ import { Response } from "@medusajs/medusa-js/src" import { adminReservationsKeys } from "./queries" import { buildOptions } from "../../utils/buildOptions" import { useMedusa } from "../../../contexts" +import { adminVariantKeys } from "../variants" export const useAdminCreateReservation = ( options?: UseMutationOptions< @@ -28,7 +29,14 @@ export const useAdminCreateReservation = ( return useMutation( (payload: AdminPostReservationsReq) => client.admin.reservations.create(payload), - buildOptions(queryClient, [adminReservationsKeys.lists()], options) + buildOptions( + queryClient, + [ + adminReservationsKeys.lists(), + adminVariantKeys.all, + ], + options + ) ) } @@ -48,7 +56,11 @@ export const useAdminUpdateReservation = ( client.admin.reservations.update(id, payload), buildOptions( queryClient, - [adminReservationsKeys.lists(), adminReservationsKeys.detail(id)], + [ + adminReservationsKeys.lists(), + adminReservationsKeys.detail(id), + adminVariantKeys.all, + ], options ) ) @@ -69,7 +81,11 @@ export const useAdminDeleteReservation = ( () => client.admin.reservations.delete(id), buildOptions( queryClient, - [adminReservationsKeys.lists(), adminReservationsKeys.detail(id)], + [ + adminReservationsKeys.lists(), + adminReservationsKeys.detail(id), + adminVariantKeys.all, + ], options ) ) diff --git a/packages/medusa-react/src/hooks/admin/stock-locations/mutations.ts b/packages/medusa-react/src/hooks/admin/stock-locations/mutations.ts index ace0376537..c64b68274c 100644 --- a/packages/medusa-react/src/hooks/admin/stock-locations/mutations.ts +++ b/packages/medusa-react/src/hooks/admin/stock-locations/mutations.ts @@ -11,6 +11,8 @@ import { } from "@tanstack/react-query" import { useMedusa } from "../../../contexts" import { buildOptions } from "../../utils/buildOptions" +import { adminProductKeys } from "../products" +import { adminVariantKeys } from "../variants" import { adminStockLocationsKeys } from "./queries" export const useAdminCreateStockLocation = ( @@ -67,7 +69,12 @@ export const useAdminDeleteStockLocation = ( () => client.admin.stockLocations.delete(id), buildOptions( queryClient, - [adminStockLocationsKeys.lists(), adminStockLocationsKeys.detail(id)], + [ + adminStockLocationsKeys.lists(), + adminStockLocationsKeys.detail(id), + adminVariantKeys.all, + adminProductKeys.lists(), + ], options ) ) diff --git a/packages/medusa-react/src/hooks/admin/swaps/mutations.ts b/packages/medusa-react/src/hooks/admin/swaps/mutations.ts index 7f6f7d4df7..e0a49a9c2f 100644 --- a/packages/medusa-react/src/hooks/admin/swaps/mutations.ts +++ b/packages/medusa-react/src/hooks/admin/swaps/mutations.ts @@ -10,7 +10,7 @@ import { UseMutationOptions, useQueryClient, } from "@tanstack/react-query" -import { adminOrderKeys } from ".." +import { adminOrderKeys, adminProductKeys, adminVariantKeys } from ".." import { useMedusa } from "../../../contexts/medusa" import { buildOptions } from "../../utils/buildOptions" import { adminSwapKeys } from "./queries" @@ -72,7 +72,12 @@ export const useAdminFulfillSwap = ( client.admin.orders.fulfillSwap(orderId, swap_id, payload), buildOptions( queryClient, - [adminOrderKeys.detail(orderId), adminSwapKeys.lists()], + [ + adminOrderKeys.detail(orderId), + adminSwapKeys.lists(), + adminVariantKeys.all, + adminProductKeys.lists(), + ], options ) )