feat(medusa): ordem items endpoint (#9646)
This commit is contained in:
1 parent
0a37675f0e
commit
2a98be6b65
16 files changed
+202
-19
No files matched your search
@@ -22,6 +22,7 @@ export const getOrderDetailWorkflow = createWorkflow(
|
||||
input: WorkflowData<{
|
||||
fields: string[]
|
||||
order_id: string
|
||||
version?: number
|
||||
}>
|
||||
): WorkflowResponse<OrderDetailDTO> => {
|
||||
const fields = transform(input, ({ fields }) => {
|
||||
@@ -38,7 +39,10 @@ export const getOrderDetailWorkflow = createWorkflow(
|
||||
const order: OrderDTO = useRemoteQueryStep({
|
||||
entry_point: "orders",
|
||||
fields,
|
||||
variables: { id: input.order_id },
|
||||
variables: {
|
||||
id: input.order_id,
|
||||
version: input.version,
|
||||
},
|
||||
list: false,
|
||||
throw_if_key_not_found: true,
|
||||
})
|
||||
|
||||
@@ -116,7 +116,7 @@ export interface MedusaRequest<Body = unknown>
|
||||
*/
|
||||
remoteQueryConfig: {
|
||||
fields: string[]
|
||||
pagination: { order?: Record<string, string>; skip?: number; take?: number }
|
||||
pagination: { order?: Record<string, string>; skip: number; take?: number }
|
||||
}
|
||||
/**
|
||||
* An object containing the fields that are filterable e.g `{ id: Any<String> }`
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import { MedusaContainer } from "@medusajs/types"
|
||||
import {
|
||||
isString,
|
||||
ContainerRegistrationKeys,
|
||||
isString,
|
||||
remoteQueryObjectFromString,
|
||||
} from "@medusajs/utils"
|
||||
import { MedusaRequest } from "../types"
|
||||
@@ -11,7 +11,7 @@ export const refetchEntities = async (
|
||||
idOrFilter: string | object,
|
||||
scope: MedusaContainer,
|
||||
fields: string[],
|
||||
pagination: MedusaRequest["remoteQueryConfig"]["pagination"] = {}
|
||||
pagination?: MedusaRequest["remoteQueryConfig"]["pagination"]
|
||||
) => {
|
||||
const remoteQuery = scope.resolve(ContainerRegistrationKeys.REMOTE_QUERY)
|
||||
const filters = isString(idOrFilter) ? { id: idOrFilter } : idOrFilter
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import { z } from "zod"
|
||||
import { omit } from "lodash"
|
||||
import { NextFunction } from "express"
|
||||
import { MedusaError, removeUndefinedProperties } from "@medusajs/utils"
|
||||
import { BaseEntity, QueryConfig, RequestQueryFields } from "@medusajs/types"
|
||||
import { MedusaError, removeUndefinedProperties } from "@medusajs/utils"
|
||||
import { NextFunction } from "express"
|
||||
import { omit } from "lodash"
|
||||
import { z } from "zod"
|
||||
|
||||
import { zodValidator } from "../../zod/zod-helpers"
|
||||
import { MedusaRequest, MedusaResponse } from "../types"
|
||||
@@ -79,7 +79,7 @@ export function validateAndTransformQuery<TEntity extends BaseEntity>(
|
||||
|
||||
req.validatedQuery = validated
|
||||
req.filterableFields = getFilterableFields(req.validatedQuery)
|
||||
req.remoteQueryConfig = cnf.remoteQueryConfig
|
||||
req.remoteQueryConfig = cnf.remoteQueryConfig as any
|
||||
req.listConfig = (cnf as any).listConfig
|
||||
req.retrieveConfig = (cnf as any).retrieveConfig
|
||||
|
||||
|
||||
@@ -47,6 +47,19 @@ export interface AdminOrderChangeAction
|
||||
|
||||
export interface AdminOrderFulfillment extends BaseOrderFulfillment {}
|
||||
|
||||
export interface AdminOrderItem {
|
||||
order_id: string
|
||||
item_id: string
|
||||
version: number
|
||||
history: {
|
||||
version: {
|
||||
from: number
|
||||
to: number
|
||||
}
|
||||
}
|
||||
item: AdminOrderLineItem
|
||||
}
|
||||
|
||||
export interface AdminOrderLineItem
|
||||
extends Omit<BaseOrderLineItem, "variant" | "product"> {
|
||||
variant?: AdminProductVariant
|
||||
|
||||
@@ -15,3 +15,10 @@ export interface AdminOrderFilters extends FindParams, BaseOrderFilters {
|
||||
}
|
||||
|
||||
export interface AdminOrderChangesFilters extends BaseOrderChangesFilters {}
|
||||
|
||||
export interface AdminOrderItemsFilters extends FindParams {
|
||||
id?: string[] | string
|
||||
item_id?: string[] | string
|
||||
order_id?: string[] | string
|
||||
version?: number[] | number
|
||||
}
|
||||
@@ -1,5 +1,10 @@
|
||||
import { PaginatedResponse } from "../../common"
|
||||
import { AdminOrder, AdminOrderChange, AdminOrderPreview } from "./entities"
|
||||
import {
|
||||
AdminOrder,
|
||||
AdminOrderChange,
|
||||
AdminOrderItem,
|
||||
AdminOrderPreview,
|
||||
} from "./entities"
|
||||
|
||||
export interface AdminOrderResponse {
|
||||
order: AdminOrder
|
||||
@@ -13,6 +18,10 @@ export type AdminOrderListResponse = PaginatedResponse<{
|
||||
orders: AdminOrder[]
|
||||
}>
|
||||
|
||||
export type AdminOrderLineItemsListResponse = {
|
||||
order_items: AdminOrderItem[]
|
||||
}
|
||||
|
||||
export interface AdminOrderPreviewResponse {
|
||||
order: AdminOrderPreview
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user