Files
medusa-store/packages/medusa-react/src/hooks/admin/batch-jobs/queries.ts
Oliver Windall Juhl 7302d76e12 feat(medusa,medusa-js,medusa-react): Add BatchJob API support in medusa-js + medusa-react (#1704)
* Add BatchJob API to medusa-js

* Adds BatchJob API hooks

* Fix tests in medusa-react
2022-06-21 11:08:44 +02:00

51 lines
1.3 KiB
TypeScript

import {
AdminBatchJobListRes,
AdminBatchJobRes,
AdminGetBatchParams,
} from "@medusajs/medusa"
import { Response } from "@medusajs/medusa-js"
import { useQuery } from "react-query"
import { useMedusa } from "../../../contexts"
import { UseQueryOptionsWrapper } from "../../../types"
import { queryKeysFactory } from "../../utils/index"
const ADMIN_COLLECTIONS_QUERY_KEY = `admin_batches` as const
export const adminBatchJobsKeys = queryKeysFactory(ADMIN_COLLECTIONS_QUERY_KEY)
type BatchJobsQueryKey = typeof adminBatchJobsKeys
export const useAdminBatchJobs = (
query?: AdminGetBatchParams,
options?: UseQueryOptionsWrapper<
Response<AdminBatchJobListRes>,
Error,
ReturnType<BatchJobsQueryKey["list"]>
>
) => {
const { client } = useMedusa()
const { data, ...rest } = useQuery(
adminBatchJobsKeys.list(query),
() => client.admin.batchJobs.list(query),
options
)
return { ...data, ...rest } as const
}
export const useAdminBatchJob = (
id: string,
options?: UseQueryOptionsWrapper<
Response<AdminBatchJobRes>,
Error,
ReturnType<BatchJobsQueryKey["detail"]>
>
) => {
const { client } = useMedusa()
const { data, ...rest } = useQuery(
adminBatchJobsKeys.detail(id),
() => client.admin.batchJobs.retrieve(id),
options
)
return { ...data, ...rest } as const
}