feat(medusa-js, medusa-react): PublishableKeys SC management (#2734)
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
AdminPublishableApiKeysRes,
|
||||
AdminPostPublishableApiKeysPublishableApiKeyReq,
|
||||
AdminPostPublishableApiKeysReq,
|
||||
AdminPostPublishableApiKeySalesChannelsBatchReq,
|
||||
} from "@medusajs/medusa"
|
||||
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
@@ -97,3 +98,47 @@ export const useAdminRevokePublishableApiKey = (
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminAddPublishableKeySalesChannelsBatch = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminPublishableApiKeysRes>,
|
||||
Error,
|
||||
AdminPostPublishableApiKeySalesChannelsBatchReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostPublishableApiKeySalesChannelsBatchReq) =>
|
||||
client.admin.publishableApiKeys.addSalesChannelsBatch(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminPublishableApiKeysKeys.detailSalesChannels(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminRemovePublishableKeySalesChannelsBatch = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminPublishableApiKeysRes>,
|
||||
Error,
|
||||
AdminPostPublishableApiKeySalesChannelsBatchReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
|
||||
return useMutation(
|
||||
(payload: AdminPostPublishableApiKeySalesChannelsBatchReq) =>
|
||||
client.admin.publishableApiKeys.deleteSalesChannelsBatch(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminPublishableApiKeysKeys.detailSalesChannels(id)],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import {
|
||||
AdminPublishableApiKeysListRes,
|
||||
AdminPublishableApiKeysRes,
|
||||
AdminSalesChannelsListRes,
|
||||
GetPublishableApiKeySalesChannelsParams,
|
||||
GetPublishableApiKeysParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { useQuery } from "react-query"
|
||||
@@ -13,9 +15,17 @@ 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
|
||||
)
|
||||
export const adminPublishableApiKeysKeys = {
|
||||
...queryKeysFactory(ADMIN_PUBLISHABLE_API_KEYS_QUERY_KEY),
|
||||
detailSalesChannels(id: string, query?: any) {
|
||||
return [
|
||||
...this.detail(id),
|
||||
"sales_channels" as const,
|
||||
{ ...(query || {}) },
|
||||
] as const
|
||||
},
|
||||
}
|
||||
|
||||
type PublishableApiKeyQueryKeys = typeof adminPublishableApiKeysKeys
|
||||
|
||||
export const useAdminPublishableApiKey = (
|
||||
@@ -52,3 +62,21 @@ export const useAdminPublishableApiKeys = (
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminPublishableApiKeySalesChannels = (
|
||||
id: string,
|
||||
query?: GetPublishableApiKeySalesChannelsParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminSalesChannelsListRes>,
|
||||
Error,
|
||||
ReturnType<PublishableApiKeyQueryKeys["detailSalesChannels"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminPublishableApiKeysKeys.detailSalesChannels(id, query),
|
||||
() => client.admin.publishableApiKeys.listSalesChannels(id, query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user