From 642902aaeb25144e59177c178f09fb8398951357 Mon Sep 17 00:00:00 2001 From: Philip Korsholm <88927411+pKorsholm@users.noreply.github.com> Date: Thu, 6 Oct 2022 13:58:46 +0200 Subject: [PATCH] feat(medusa-js, medusa-react): Support expand fields in order retrieval (#2353) --- .changeset/sour-beers-grow.md | 6 ++++++ packages/medusa-js/src/resources/admin/orders.ts | 10 +++++++++- .../src/hooks/admin/orders/queries.ts | 15 +++++++++++---- 3 files changed, 26 insertions(+), 5 deletions(-) create mode 100644 .changeset/sour-beers-grow.md diff --git a/.changeset/sour-beers-grow.md b/.changeset/sour-beers-grow.md new file mode 100644 index 0000000000000..3cf3a9e48546c --- /dev/null +++ b/.changeset/sour-beers-grow.md @@ -0,0 +1,6 @@ +--- +"@medusajs/medusa-js": patch +"medusa-react": patch +--- + +feat(medusa-js, medusa-react): add expand fields to get order diff --git a/packages/medusa-js/src/resources/admin/orders.ts b/packages/medusa-js/src/resources/admin/orders.ts index 76c2a9edfd8cf..633b5ed08f831 100644 --- a/packages/medusa-js/src/resources/admin/orders.ts +++ b/packages/medusa-js/src/resources/admin/orders.ts @@ -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 = {} ): ResponsePromise { - 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) } diff --git a/packages/medusa-react/src/hooks/admin/orders/queries.ts b/packages/medusa-react/src/hooks/admin/orders/queries.ts index 6d3808820cbe9..203d8ba9f65b4 100644 --- a/packages/medusa-react/src/hooks/admin/orders/queries.ts +++ b/packages/medusa-react/src/hooks/admin/orders/queries.ts @@ -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, Error, - ReturnType + ReturnType > ) => { 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