Files
medusa-store/packages/medusa-react/src/hooks/admin/publishable-api-keys/queries.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

55 lines
1.5 KiB
TypeScript

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
}