Files
medusa-store/packages/medusa-react/src/hooks/admin/auth/mutations.ts
Kasper Fabricius Kristensen 6293fccc65 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.
2023-01-24 12:55:24 +00:00

35 lines
1.0 KiB
TypeScript

import { AdminAuthRes, AdminPostAuthReq } from "@medusajs/medusa"
import { Response } from "@medusajs/medusa-js"
import {
useMutation,
UseMutationOptions,
useQueryClient,
} from "@tanstack/react-query"
import { useMedusa } from "../../../contexts/medusa"
import { buildOptions } from "../../utils/buildOptions"
import { adminAuthKeys } from "./queries"
export const useAdminLogin = (
options?: UseMutationOptions<Response<AdminAuthRes>, Error, AdminPostAuthReq>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
(payload: AdminPostAuthReq) => client.admin.auth.createSession(payload),
buildOptions(queryClient, adminAuthKeys.details(), options)
)
}
export const useAdminDeleteSession = (
options?: UseMutationOptions<Response<void>, Error, void>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
() => client.admin.auth.deleteSession(),
buildOptions(queryClient, adminAuthKeys.details(), options)
)
}