feat(medusa-js, medusa-react): Support expand fields in order retrieval (#2353)

This commit is contained in:
Philip Korsholm authored and GitHub committed 2022-10-06 13:58:46 +02:00
1 parent 69f2f12d06
commit 642902aaeb
3 files changed
+26 -5

No files matched your search

+6
View 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, 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