feat(medusa-js, medusa-react): Support expand fields in order retrieval (#2353)
This commit is contained in:
1 parent
69f2f12d06
commit
642902aaeb
3 files changed
+26
-5
No files matched your search
@@ -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,
|
AdminPostOrdersOrderSwapsSwapFulfillmentsReq,
|
||||||
AdminPostOrdersOrderSwapsSwapShipmentsReq,
|
AdminPostOrdersOrderSwapsSwapShipmentsReq,
|
||||||
} from "@medusajs/medusa"
|
} from "@medusajs/medusa"
|
||||||
|
import { FindParams } from "@medusajs/medusa/dist/types/common"
|
||||||
import qs from "qs"
|
import qs from "qs"
|
||||||
import { ResponsePromise } from "../../typings"
|
import { ResponsePromise } from "../../typings"
|
||||||
import BaseResource from "../base"
|
import BaseResource from "../base"
|
||||||
@@ -32,9 +33,16 @@ class AdminOrdersResource extends BaseResource {
|
|||||||
|
|
||||||
retrieve(
|
retrieve(
|
||||||
id: string,
|
id: string,
|
||||||
|
query?: FindParams,
|
||||||
customHeaders: Record<string, any> = {}
|
customHeaders: Record<string, any> = {}
|
||||||
): ResponsePromise<AdminOrdersRes> {
|
): 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)
|
return this.client.request("GET", path, undefined, {}, customHeaders)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import {
|
|||||||
AdminGetOrdersParams,
|
AdminGetOrdersParams,
|
||||||
} from "@medusajs/medusa"
|
} from "@medusajs/medusa"
|
||||||
import { Response } from "@medusajs/medusa-js"
|
import { Response } from "@medusajs/medusa-js"
|
||||||
|
import { FindParams } from "@medusajs/medusa/dist/types/common"
|
||||||
import { useQuery } from "react-query"
|
import { useQuery } from "react-query"
|
||||||
import { useMedusa } from "../../../contexts"
|
import { useMedusa } from "../../../contexts"
|
||||||
import { UseQueryOptionsWrapper } from "../../../types"
|
import { UseQueryOptionsWrapper } from "../../../types"
|
||||||
@@ -11,7 +12,12 @@ import { queryKeysFactory } from "../../utils/index"
|
|||||||
|
|
||||||
const ADMIN_ORDERS_QUERY_KEY = `admin_orders` as const
|
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
|
type OrderQueryKeys = typeof adminOrderKeys
|
||||||
|
|
||||||
@@ -34,16 +40,17 @@ export const useAdminOrders = (
|
|||||||
|
|
||||||
export const useAdminOrder = (
|
export const useAdminOrder = (
|
||||||
id: string,
|
id: string,
|
||||||
|
query?: FindParams,
|
||||||
options?: UseQueryOptionsWrapper<
|
options?: UseQueryOptionsWrapper<
|
||||||
Response<AdminOrdersRes>,
|
Response<AdminOrdersRes>,
|
||||||
Error,
|
Error,
|
||||||
ReturnType<OrderQueryKeys["detail"]>
|
ReturnType<OrderQueryKeys["detailOrder"]>
|
||||||
>
|
>
|
||||||
) => {
|
) => {
|
||||||
const { client } = useMedusa()
|
const { client } = useMedusa()
|
||||||
const { data, ...rest } = useQuery(
|
const { data, ...rest } = useQuery(
|
||||||
adminOrderKeys.detail(id),
|
adminOrderKeys.detailOrder(id, query),
|
||||||
() => client.admin.orders.retrieve(id),
|
() => client.admin.orders.retrieve(id, query),
|
||||||
options
|
options
|
||||||
)
|
)
|
||||||
return { ...data, ...rest } as const
|
return { ...data, ...rest } as const
|
||||||
|
|||||||
Reference in new issue
Block a user