**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.
35 lines
1.0 KiB
TypeScript
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)
|
|
)
|
|
}
|