diff --git a/.changeset/strong-rabbits-exercise.md b/.changeset/strong-rabbits-exercise.md new file mode 100644 index 0000000000..3ee4212098 --- /dev/null +++ b/.changeset/strong-rabbits-exercise.md @@ -0,0 +1,6 @@ +--- +"@medusajs/medusa": patch +"@medusajs/link-modules": patch +--- + +feat(link-module): Order Product link diff --git a/packages/medusa/src/api-v2/admin/draft-orders/query-config.ts b/packages/medusa/src/api-v2/admin/draft-orders/query-config.ts index a661363fe4..375eeca1cd 100644 --- a/packages/medusa/src/api-v2/admin/draft-orders/query-config.ts +++ b/packages/medusa/src/api-v2/admin/draft-orders/query-config.ts @@ -17,8 +17,8 @@ export const defaultAdminOrderFields = [ "*items.tax_lines", "*items.adjustments", "*items.detail", - "*items.tax_lines", - "*items.adjustments", + "*items.variant", + "*items.variant.product", "*shipping_address", "*billing_address", "*shipping_methods", diff --git a/packages/medusa/src/api-v2/admin/orders/query-config.ts b/packages/medusa/src/api-v2/admin/orders/query-config.ts index fc3153f1d9..0d3e127710 100644 --- a/packages/medusa/src/api-v2/admin/orders/query-config.ts +++ b/packages/medusa/src/api-v2/admin/orders/query-config.ts @@ -37,9 +37,9 @@ export const defaultAdminRetrieveOrderFields = [ "*items", "*items.tax_lines", "*items.adjustments", + "*items.variant", + "*items.variant.product", "*items.detail", - "*items.tax_lines", - "*items.adjustments", "*shipping_address", "*billing_address", "*shipping_methods", diff --git a/packages/medusa/src/api-v2/store/orders/query-config.ts b/packages/medusa/src/api-v2/store/orders/query-config.ts index 1a497dee63..ee2ddf2b0c 100644 --- a/packages/medusa/src/api-v2/store/orders/query-config.ts +++ b/packages/medusa/src/api-v2/store/orders/query-config.ts @@ -40,8 +40,8 @@ export const defaultStoreRetrieveOrderFields = [ "*items.tax_lines", "*items.adjustments", "*items.detail", - "*items.tax_lines", - "*items.adjustments", + "*items.variant", + "*items.variant.product", "*shipping_address", "*billing_address", "*shipping_methods", diff --git a/packages/modules/link-modules/src/definitions/readonly/index.ts b/packages/modules/link-modules/src/definitions/readonly/index.ts index 03579097ad..9e3ca86a1d 100644 --- a/packages/modules/link-modules/src/definitions/readonly/index.ts +++ b/packages/modules/link-modules/src/definitions/readonly/index.ts @@ -4,4 +4,5 @@ export * from "./cart-region" export * from "./cart-sales-channel" export * from "./inventory-level-stock-location" export * from "./order-customer" +export * from "./order-product" export * from "./store-default-currency" diff --git a/packages/modules/link-modules/src/definitions/readonly/order-product.ts b/packages/modules/link-modules/src/definitions/readonly/order-product.ts new file mode 100644 index 0000000000..73148abc9a --- /dev/null +++ b/packages/modules/link-modules/src/definitions/readonly/order-product.ts @@ -0,0 +1,43 @@ +import { Modules } from "@medusajs/modules-sdk" +import { ModuleJoinerConfig } from "@medusajs/types" + +export const OrderProduct: ModuleJoinerConfig = { + isLink: true, + isReadOnlyLink: true, + extends: [ + { + serviceName: Modules.ORDER, + relationship: { + serviceName: Modules.PRODUCT, + primaryKey: "id", + foreignKey: "items.product_id", + alias: "product", + }, + }, + { + serviceName: Modules.ORDER, + relationship: { + serviceName: Modules.PRODUCT, + primaryKey: "id", + foreignKey: "items.variant_id", + alias: "variant", + args: { + methodSuffix: "Variants", + }, + }, + }, + { + serviceName: Modules.PRODUCT, + relationship: { + serviceName: Modules.ORDER, + primaryKey: "variant_id", + foreignKey: "id", + alias: "order_items", + isList: true, + args: { + methodSuffix: "LineItems", + }, + }, + }, + ], +}