feat: medusa-react admin hooks (#978)
* add: medusa admin hooks + tests * fix: remove unneeded props * fix: deps * fix: deps * fix: deps * fix: failing tests * fix: failing tests * fix: query key * add: yarn workspaces * fix: linting medusa-react * fix: add prepare script * fix: buildOptions * fix: useAdminShippingOptions query * fix: use qs instead for query params (#1019) * fix: formatting * debug: ci pipeline * debug: log node_modules structure * debug: use lerna bootstrap * debug: update node version * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: print pkgs in workspace * debug: add explicit build step * fix: jsdoc * debug: run build step * debug: fix build errors * debug: add build step to integration tests * fix: failing test * cleanup Co-authored-by: Sebastian Rindom <seb@medusajs.com> Co-authored-by: Sebastian Rindom <skrindom@gmail.com>
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
export * from "./queries"
|
||||
export * from "./mutations"
|
||||
131
packages/medusa-react/src/hooks/admin/draft-orders/mutations.ts
Normal file
131
packages/medusa-react/src/hooks/admin/draft-orders/mutations.ts
Normal file
@@ -0,0 +1,131 @@
|
||||
import { adminDraftOrderKeys } from "./queries"
|
||||
import {
|
||||
AdminDraftOrdersDeleteRes,
|
||||
AdminDraftOrdersRes,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsItemReq,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsReq,
|
||||
AdminPostDraftOrdersDraftOrderRegisterPaymentRes,
|
||||
AdminPostDraftOrdersDraftOrderReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMutation, UseMutationOptions, useQueryClient } from "react-query"
|
||||
import { useMedusa } from "../../../contexts/medusa"
|
||||
import { buildOptions } from "../../utils/buildOptions"
|
||||
|
||||
export const useAdminCreateDraftOrder = (
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDraftOrdersDraftOrderReq) =>
|
||||
client.admin.draftOrders.create(payload),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.lists(), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminUpdateDraftOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDraftOrdersDraftOrderReq) =>
|
||||
client.admin.draftOrders.update(id, payload),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminDraftOrderKeys.detail(id), adminDraftOrderKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDeleteDraftOrder = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDraftOrdersDeleteRes>, Error, void>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.draftOrders.delete(id),
|
||||
buildOptions(
|
||||
queryClient,
|
||||
[adminDraftOrderKeys.detail(id), adminDraftOrderKeys.lists()],
|
||||
options
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderRegisterPayment = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminPostDraftOrdersDraftOrderRegisterPaymentRes>,
|
||||
Error,
|
||||
void
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
() => client.admin.draftOrders.markPaid(id),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderAddLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsReq
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(payload: AdminPostDraftOrdersDraftOrderLineItemsReq) =>
|
||||
client.admin.draftOrders.addLineItem(id, payload),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderRemoveLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<Response<AdminDraftOrdersRes>, Error, string>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
(itemId: string) => client.admin.draftOrders.removeLineItem(id, itemId),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
|
||||
export const useAdminDraftOrderUpdateLineItem = (
|
||||
id: string,
|
||||
options?: UseMutationOptions<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
AdminPostDraftOrdersDraftOrderLineItemsItemReq & { item_id: string }
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const queryClient = useQueryClient()
|
||||
return useMutation(
|
||||
({
|
||||
item_id,
|
||||
...payload
|
||||
}: AdminPostDraftOrdersDraftOrderLineItemsItemReq & { item_id: string }) =>
|
||||
client.admin.draftOrders.updateLineItem(id, item_id, payload),
|
||||
buildOptions(queryClient, adminDraftOrderKeys.detail(id), options)
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
import {
|
||||
AdminDraftOrdersListRes,
|
||||
AdminDraftOrdersRes,
|
||||
AdminGetDraftOrdersParams,
|
||||
} 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_DRAFT_ORDERS_QUERY_KEY = `admin_draft_orders` as const
|
||||
|
||||
export const adminDraftOrderKeys = queryKeysFactory(
|
||||
ADMIN_DRAFT_ORDERS_QUERY_KEY
|
||||
)
|
||||
|
||||
type DraftOrderQueryKeys = typeof adminDraftOrderKeys
|
||||
|
||||
export const useAdminDraftOrders = (
|
||||
query?: AdminGetDraftOrdersParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDraftOrdersListRes>,
|
||||
Error,
|
||||
ReturnType<DraftOrderQueryKeys["list"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDraftOrderKeys.list(query),
|
||||
() => client.admin.draftOrders.list(query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
|
||||
export const useAdminDraftOrder = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminDraftOrdersRes>,
|
||||
Error,
|
||||
ReturnType<DraftOrderQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminDraftOrderKeys.detail(id),
|
||||
() => client.admin.draftOrders.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
Reference in New Issue
Block a user