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
This commit is contained in:
@@ -17,6 +17,7 @@ export * from "./price-lists"
|
||||
export * from "./product-tags"
|
||||
export * from "./product-types"
|
||||
export * from "./products"
|
||||
export * from "./publishable-api-keys"
|
||||
export * from "./regions"
|
||||
export * from "./return-reasons"
|
||||
export * from "./returns"
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
@@ -0,0 +1,66 @@
|
||||
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
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
import {
|
||||
AdminPublishableApiKeysListRes,
|
||||
AdminPublishableApiKeysRes,
|
||||
GetPublishableApiKeysParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { useQuery } from "react-query"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
|
||||
import { queryKeysFactory } from "../../utils"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
|
||||
const ADMIN_PUBLISHABLE_API_KEYS_QUERY_KEY =
|
||||
`admin_publishable_api_keys` as const
|
||||
|
||||
export const adminPublishableApiKeysKeys = queryKeysFactory(
|
||||
ADMIN_PUBLISHABLE_API_KEYS_QUERY_KEY
|
||||
)
|
||||
type PublishableApiKeyQueryKeys = typeof adminPublishableApiKeysKeys
|
||||
|
||||
export const useAdminPublishableApiKey = (
|
||||
id: string,
|
||||
query?: GetPublishableApiKeysParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminPublishableApiKeysRes>,
|
||||
Error,
|
||||
ReturnType<PublishableApiKeyQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminPublishableApiKeysKeys.detail(id),
|
||||
() => client.admin.publishableApiKeys.retrieve(id, query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminPublishableApiKeys = (
|
||||
query?: GetPublishableApiKeysParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminPublishableApiKeysListRes>,
|
||||
Error,
|
||||
ReturnType<PublishableApiKeyQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminPublishableApiKeysKeys.list(query),
|
||||
() => client.admin.publishableApiKeys.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
Reference in New Issue
Block a user