feat(medusa): Implement premises of order edit retrieval (#2183)
**What** - Implements the admin/store retrieval end point - Service implementation of the retrieve method - Service implementation of the computeLineItems method which aggregates the right line item based on the changes that are made - client - medusa-js api - medusa-react queries hooks **Tests** - Unit tests of the retrieval end points - Unit tests of the service retrieve method and computeLineItems - Integration tests for admin/store - client - medusa-js tests - medusa-react hooks tests FIXES CORE-492
This commit is contained in:
committed by
GitHub
parent
3efeb6b84f
commit
f863d28b9a
@@ -12,6 +12,7 @@ export * from "./invites"
|
||||
export * from "./notes"
|
||||
export * from "./notifications"
|
||||
export * from "./orders"
|
||||
export * from "./order-edits"
|
||||
export * from "./price-lists"
|
||||
export * from "./product-tags"
|
||||
export * from "./product-types"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./queries"
|
||||
28
packages/medusa-react/src/hooks/admin/order-edits/queries.ts
Normal file
28
packages/medusa-react/src/hooks/admin/order-edits/queries.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import { AdminOrdersEditsRes } from "@medusajs/medusa"
|
||||
import { queryKeysFactory } from "../../utils"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { useQuery } from "react-query"
|
||||
|
||||
const ADMIN_ORDER_EDITS_QUERY_KEY = `admin_order_edits` as const
|
||||
|
||||
export const adminOrderEditsKeys = queryKeysFactory(ADMIN_ORDER_EDITS_QUERY_KEY)
|
||||
type OrderEditQueryKeys = typeof adminOrderEditsKeys
|
||||
|
||||
export const useAdminOrderEdit = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<AdminOrdersEditsRes>,
|
||||
Error,
|
||||
ReturnType<OrderEditQueryKeys["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
adminOrderEditsKeys.detail(id),
|
||||
() => client.admin.orderEdits.retrieve(id),
|
||||
options
|
||||
)
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
@@ -6,6 +6,7 @@ export * from "./return-reasons/"
|
||||
export * from "./swaps/"
|
||||
export * from "./carts/"
|
||||
export * from "./orders/"
|
||||
export * from "./order-edits"
|
||||
export * from "./customers/"
|
||||
export * from "./returns/"
|
||||
export * from "./gift-cards/"
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
export * from "./queries"
|
||||
32
packages/medusa-react/src/hooks/store/order-edits/queries.ts
Normal file
32
packages/medusa-react/src/hooks/store/order-edits/queries.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import { queryKeysFactory } from "../../utils"
|
||||
import { StoreOrderEditsRes } from "@medusajs/medusa"
|
||||
import { useQuery } from "react-query"
|
||||
import { useMedusa } from "../../../contexts"
|
||||
import { UseQueryOptionsWrapper } from "../../../types"
|
||||
import { Response } from "@medusajs/medusa-js"
|
||||
|
||||
const ORDER_EDITS_QUERY_KEY = `orderEdit` as const
|
||||
|
||||
export const orderEditQueryKeys = queryKeysFactory<
|
||||
typeof ORDER_EDITS_QUERY_KEY
|
||||
>(ORDER_EDITS_QUERY_KEY)
|
||||
|
||||
type OrderQueryKey = typeof orderEditQueryKeys
|
||||
|
||||
export const useOrderEdit = (
|
||||
id: string,
|
||||
options?: UseQueryOptionsWrapper<
|
||||
Response<StoreOrderEditsRes>,
|
||||
Error,
|
||||
ReturnType<OrderQueryKey["detail"]>
|
||||
>
|
||||
) => {
|
||||
const { client } = useMedusa()
|
||||
const { data, ...rest } = useQuery(
|
||||
orderEditQueryKeys.detail(id),
|
||||
() => client.orderEdits.retrieve(id),
|
||||
options
|
||||
)
|
||||
|
||||
return { ...data, ...rest } as const
|
||||
}
|
||||
Reference in New Issue
Block a user