hotfix(medusa-react): Invalidate query keys on successful mutations (#3099)

**What**
- Fixes an issue where query keys weren't invalidated on successful mutations.

**How**
- Update `buildOptions` function to be called per `QueryKey` instead of passing them all as a single query key, resulting in no matches found.
- Fixes imports that aren't compatible with ESM modules.
This commit is contained in:
Kasper Fabricius Kristensen authored and GitHub committed 2023-01-24 12:55:24 +00:00
1 parent a248bf6e4f
commit 6293fccc65
15 files changed
+21 -14

No files matched your search

+5
View File
@@ -0,0 +1,5 @@
---
"medusa-react": patch
---
hotfix(medusa-react): Fixes an issue where queries weren't properly invalidated on successful mutations
@@ -5,9 +5,9 @@ import {
UseMutationOptions, UseMutationOptions,
useQueryClient, useQueryClient,
} from "@tanstack/react-query" } from "@tanstack/react-query"
import { adminAuthKeys } from "."
import { useMedusa } from "../../../contexts/medusa" import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminAuthKeys } from "./queries"
export const useAdminLogin = ( export const useAdminLogin = (
options?: UseMutationOptions<Response<AdminAuthRes>, Error, AdminPostAuthReq> options?: UseMutationOptions<Response<AdminAuthRes>, Error, AdminPostAuthReq>
@@ -12,9 +12,9 @@ import {
UseMutationOptions, UseMutationOptions,
useQueryClient, useQueryClient,
} from "@tanstack/react-query" } from "@tanstack/react-query"
import { adminCollectionKeys } from "."
import { useMedusa } from "../../../contexts/medusa" import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminCollectionKeys } from "./queries"
export const useAdminCreateCollection = ( export const useAdminCreateCollection = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -8,9 +8,9 @@ import {
UseMutationOptions, UseMutationOptions,
useQueryClient, useQueryClient,
} from "@tanstack/react-query" } from "@tanstack/react-query"
import { adminCurrenciesKeys } from "."
import { useMedusa } from "../../../contexts/medusa" import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminCurrenciesKeys } from "./queries"
export const useAdminUpdateCurrency = ( export const useAdminUpdateCurrency = (
code: string, code: string,
@@ -9,9 +9,9 @@ import {
UseMutationOptions, UseMutationOptions,
useQueryClient, useQueryClient,
} from "@tanstack/react-query" } from "@tanstack/react-query"
import { adminGiftCardKeys } from "."
import { useMedusa } from "../../../contexts/medusa" import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminGiftCardKeys } from "./queries"
export const useAdminCreateGiftCard = ( export const useAdminCreateGiftCard = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -10,9 +10,9 @@ import {
UseMutationOptions, UseMutationOptions,
useQueryClient, useQueryClient,
} from "@tanstack/react-query" } from "@tanstack/react-query"
import { adminNoteKeys } from "."
import { useMedusa } from "../../../contexts/medusa" import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminNoteKeys } from "./queries"
export const useAdminCreateNote = ( export const useAdminCreateNote = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -15,10 +15,10 @@ import {
AdminPostOrderEditsReq, AdminPostOrderEditsReq,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { adminOrderEditsKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminOrderKeys } from "../orders" import { adminOrderKeys } from "../orders"
import { adminOrderEditsKeys } from "./queries"
export const useAdminCreateOrderEdit = ( export const useAdminCreateOrderEdit = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -11,9 +11,9 @@ import {
AdminUpdatePaymentCollectionsReq, AdminUpdatePaymentCollectionsReq,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { adminPaymentCollectionQueryKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminPaymentCollectionQueryKeys } from "./queries"
export const useAdminDeletePaymentCollection = ( export const useAdminDeletePaymentCollection = (
id: string, id: string,
@@ -11,9 +11,9 @@ import {
AdminRefundRes, AdminRefundRes,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { adminPaymentQueryKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminPaymentQueryKeys } from "./queries"
export const useAdminPaymentsCapturePayment = ( export const useAdminPaymentsCapturePayment = (
id: string, id: string,
@@ -13,9 +13,9 @@ import {
AdminPublishableApiKeysRes, AdminPublishableApiKeysRes,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { adminPublishableApiKeysKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminPublishableApiKeysKeys } from "./queries"
export const useAdminCreatePublishableApiKey = ( export const useAdminCreatePublishableApiKey = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -9,9 +9,9 @@ import {
UseMutationOptions, UseMutationOptions,
useQueryClient, useQueryClient,
} from "@tanstack/react-query" } from "@tanstack/react-query"
import { adminReturnReasonKeys } from "."
import { useMedusa } from "../../../contexts/medusa" import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { adminReturnReasonKeys } from "./queries"
export const useAdminCreateReturnReason = ( export const useAdminCreateReturnReason = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -10,9 +10,9 @@ import {
StorePostOrderEditsOrderEditDecline, StorePostOrderEditsOrderEditDecline,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { orderEditQueryKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { orderEditQueryKeys } from "./queries"
export const useDeclineOrderEdit = ( export const useDeclineOrderEdit = (
id: string, id: string,
@@ -10,9 +10,9 @@ import {
StorePostCustomersCustomerOrderClaimReq, StorePostCustomersCustomerOrderClaimReq,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { orderKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { orderKeys } from "./queries"
export const useRequestOrderAccess = ( export const useRequestOrderAccess = (
options?: UseMutationOptions< options?: UseMutationOptions<
@@ -13,9 +13,9 @@ import {
StorePostPaymentCollectionsBatchSessionsReq, StorePostPaymentCollectionsBatchSessionsReq,
} from "@medusajs/medusa" } from "@medusajs/medusa"
import { paymentCollectionQueryKeys } from "."
import { useMedusa } from "../../../contexts" import { useMedusa } from "../../../contexts"
import { buildOptions } from "../../utils/buildOptions" import { buildOptions } from "../../utils/buildOptions"
import { paymentCollectionQueryKeys } from "./queries"
export const useManageMultiplePaymentSessions = ( export const useManageMultiplePaymentSessions = (
id: string, id: string,
@@ -23,7 +23,9 @@ export const buildOptions = <
} }
if (queryKey !== undefined) { if (queryKey !== undefined) {
queryClient.invalidateQueries(queryKey) queryKey.forEach((key) => {
queryClient.invalidateQueries({ queryKey: key as QueryKey })
})
} }
}, },
} }