feat(medusa): ordem items endpoint (#9646)

This commit is contained in:
Carlos R. L. Rodrigues authored and GitHub committed 2024-10-18 05:59:24 -03:00
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,
})
+1 -1
View File
@@ -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
}