Files
medusa-store/packages/medusa-react/src/hooks/admin/publishable-api-keys/mutations.ts
Frane Polić 3de553c27f feat(medusa-js, medusa-react): PublishableApiKeys clients (#2582)
**What**
- add `PublishableApiKeys` endpoints to the `medusa-js` and `medusa-react` clients

--- 

RESOLVES CORE-791
DEPENDS ON https://github.com/medusajs/medusa/pull/2567
2022-11-15 15:41:58 +00:00

67 lines
1.7 KiB
TypeScript

import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
import { Response } from "@medusajs/medusa-js"
import {
AdminPublishableApiKeyDeleteRes,
AdminPublishableApiKeysRes,
} from "@medusajs/medusa"
import { buildOptions } from "../../utils/buildOptions"
import { useMedusa } from "../../../contexts"
import { adminPublishableApiKeysKeys } from "."
export const useAdminCreatePublishableApiKey = (
options?: UseMutationOptions<Response<AdminPublishableApiKeysRes>, Error, {}>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
(payload: {}) => client.admin.publishableApiKeys.create(payload),
buildOptions(queryClient, [adminPublishableApiKeysKeys.lists()], options)
)
}
export const useAdminDeletePublishableApiKey = (
id: string,
options?: UseMutationOptions<
Response<AdminPublishableApiKeyDeleteRes>,
Error,
void
>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
() => client.admin.publishableApiKeys.delete(id),
buildOptions(
queryClient,
[
adminPublishableApiKeysKeys.detail(id),
adminPublishableApiKeysKeys.lists(),
],
options
)
)
}
export const useAdminRevokePublishableApiKey = (
id: string,
options?: UseMutationOptions<Response<AdminPublishableApiKeysRes>, Error>
) => {
const { client } = useMedusa()
const queryClient = useQueryClient()
return useMutation(
() => client.admin.publishableApiKeys.revoke(id),
buildOptions(
queryClient,
[
adminPublishableApiKeysKeys.lists(),
adminPublishableApiKeysKeys.detail(id),
],
options
)
)
}