feat(medusa-js, medusa-react): Support expand fields in order retrieval (#2353)
This commit is contained in:
6
.changeset/sour-beers-grow.md
Normal file
6
.changeset/sour-beers-grow.md
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
"@medusajs/medusa-js": patch
|
||||
"medusa-react": patch
|
||||
---
|
||||
|
||||
feat(medusa-js, medusa-react): add expand fields to get order
|
||||
@@ -16,6 +16,7 @@ import {
|
||||
AdminPostOrdersOrderSwapsSwapFulfillmentsReq,
|
||||
AdminPostOrdersOrderSwapsSwapShipmentsReq,
|
||||
} from "@medusajs/medusa"
|
||||
import { FindParams } from "@medusajs/medusa/dist/types/common"
|
||||
import qs from "qs"
|
||||
import { ResponsePromise } from "../../typings"
|
||||
import BaseResource from "../base"
|
||||
@@ -32,9 +33,16 @@ class AdminOrdersResource extends BaseResource {
|
||||
|
||||
retrieve(
|
||||
id: string,
|
||||
query?: FindParams,
|
||||
customHeaders: Record<string, any> = {}
|
||||
): ResponsePromise<AdminOrdersRes> {
|
||||
const path = `/admin/orders/${id}`
|
||||
let path = `/admin/orders/${id}`
|
||||
|
||||
if (query) {
|
||||
const queryString = qs.stringify(query)
|
||||
path = `/admin/orders/${id}?${queryString}`
|
||||
}
|
||||
|
||||
return this.client.request("GET", path, undefined, {}, customHeaders)
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import {
|
||||
AdminGetOrdersParams,
|
||||
} from "@medusajs/medusa"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { FindParams } from "@medusajs/medusa/dist/types/common"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
@@ -11,7 +12,12 @@ import { queryKeysFactory } from "../../utils/index"
|
||||
|
||||
const ADMIN_ORDERS_QUERY_KEY = `admin_orders` as const
|
||||
|
||||
export const adminOrderKeys = queryKeysFactory(ADMIN_ORDERS_QUERY_KEY)
|
||||
export const adminOrderKeys = {
|
||||
...queryKeysFactory(ADMIN_ORDERS_QUERY_KEY),
|
||||
detailOrder(id: string, query?: FindParams) {
|
||||
return [...this.detail(id), { ...(query || {}) }]
|
||||
}
|
||||
}
|
||||
|
||||
type OrderQueryKeys = typeof adminOrderKeys
|
||||
|
||||
@@ -34,16 +40,17 @@ export const useAdminOrders = (
|
||||
|
||||
export const useAdminOrder = (
|
||||
id: string,
|
||||
query?: FindParams,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminOrdersRes>,
|
||||
Error,
|
||||
ReturnType<OrderQueryKeys["detail"]>
|
||||
ReturnType<OrderQueryKeys["detailOrder"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminOrderKeys.detail(id),
|
||||
() => client.admin.orders.retrieve(id),
|
||||
adminOrderKeys.detailOrder(id, query),
|
||||
() => client.admin.orders.retrieve(id, query),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
|
||||
Reference in New Issue
Block a user