chore(): order module index and some impl details (#13462)

* order module fixes

* order module fixes

* fixes

* revert big number

* Create wet-wombats-rule.md
This commit is contained in:
Adrien de Peretti authored and GitHub committed 2025-09-11 09:02:38 +02:00
1 parent 368c1d1e17
commit 823a5c75ff
23 files changed
+680 -463

No files matched your search

+6
View File
@@ -0,0 +1,6 @@
---
"@medusajs/order": patch
"@medusajs/utils": patch
---
Fix/order module index
+1 -4
View File
@@ -130,10 +130,7 @@ export function decorateCartTotals(
itemsOriginalTaxTotal, itemsOriginalTaxTotal,
itemOriginalTaxTotal itemOriginalTaxTotal
) )
itemsDiscountTotal = MathBN.add( itemsDiscountTotal = MathBN.add(itemsDiscountTotal, itemDiscountTotal)
itemsDiscountTotal,
itemDiscountTotal
)
for (const key of Object.values(optionalFields)) { for (const key of Object.values(optionalFields)) {
if (key in itemTotals) { if (key in itemTotals) {
@@ -196,9 +196,7 @@ moduleIntegrationTestRunner<IOrderModuleService>({
it("should create an order, shipping method and items. Including taxes and adjustments associated with them", async function () { it("should create an order, shipping method and items. Including taxes and adjustments associated with them", async function () {
const createdOrder = await service.createOrders(input) const createdOrder = await service.createOrders(input)
const serializedOrder = JSON.parse(JSON.stringify(createdOrder)) expect(createdOrder).toEqual(expectation)
expect(serializedOrder).toEqual(expectation)
}) })
it("should create an order, shipping method and items. Including taxes and adjustments associated with them and add new transactions", async function () { it("should create an order, shipping method and items. Including taxes and adjustments associated with them and add new transactions", async function () {
File diff suppressed because it is too large. Load diff
@@ -0,0 +1,404 @@
import { Migration } from "@mikro-orm/migrations"
export class Migration20250910130000 extends Migration {
override async up(): Promise<void> {
// Drop all existing indexes with incorrect WHERE clauses (IS NOT NULL instead of IS NULL)
// Order table indexes
this.addSql('drop index if exists "IDX_order_display_id";')
this.addSql('drop index if exists "IDX_order_region_id";')
this.addSql('drop index if exists "IDX_order_customer_id";')
this.addSql('drop index if exists "IDX_order_sales_channel_id";')
this.addSql('drop index if exists "IDX_order_currency_code";')
this.addSql('drop index if exists "IDX_order_shipping_address_id";')
this.addSql('drop index if exists "IDX_order_billing_address_id";')
this.addSql('drop index if exists "IDX_order_is_draft_order";')
// Order change table indexes
this.addSql('drop index if exists "IDX_order_change_order_id";')
this.addSql('drop index if exists "IDX_order_change_return_id";')
this.addSql('drop index if exists "IDX_order_change_claim_id";')
this.addSql('drop index if exists "IDX_order_change_exchange_id";')
this.addSql('drop index if exists "IDX_order_change_status";')
this.addSql('drop index if exists "IDX_order_change_version";')
// Order change action table indexes
this.addSql(
'drop index if exists "IDX_order_change_action_order_change_id";'
)
this.addSql('drop index if exists "IDX_order_change_action_order_id";')
this.addSql('drop index if exists "IDX_order_change_action_return_id";')
this.addSql('drop index if exists "IDX_order_change_action_claim_id";')
this.addSql('drop index if exists "IDX_order_change_action_exchange_id";')
this.addSql('drop index if exists "IDX_order_change_action_ordering";')
// Order summary table indexes
this.addSql('drop index if exists "IDX_order_summary_order_id_version";')
// Order claim table indexes
this.addSql('drop index if exists "IDX_order_claim_display_id";')
this.addSql('drop index if exists "IDX_order_claim_order_id";')
this.addSql('drop index if exists "IDX_order_claim_return_id";')
// Order claim item table indexes
this.addSql('drop index if exists "IDX_order_claim_item_claim_id";')
this.addSql('drop index if exists "IDX_order_claim_item_item_id";')
// Order claim item image table indexes
this.addSql(
'drop index if exists "IDX_order_claim_item_image_claim_item_id";'
)
// Order credit line table indexes
this.addSql('drop index if exists "IDX_order_credit_line_order_id";')
// Order exchange table indexes
this.addSql('drop index if exists "IDX_order_exchange_display_id";')
this.addSql('drop index if exists "IDX_order_exchange_order_id";')
this.addSql('drop index if exists "IDX_order_exchange_return_id";')
// Order exchange item table indexes
this.addSql('drop index if exists "IDX_order_exchange_item_exchange_id";')
this.addSql('drop index if exists "IDX_order_exchange_item_item_id";')
// Line item table indexes
this.addSql('drop index if exists "IDX_order_line_item_product_id";')
this.addSql('drop index if exists "IDX_line_item_product_type_id";')
this.addSql('drop index if exists "IDX_order_line_item_variant_id";')
// Order item table indexes
this.addSql('drop index if exists "IDX_order_item_order_id";')
this.addSql('drop index if exists "IDX_order_item_item_id";')
this.addSql('drop index if exists "IDX_order_item_version";')
// Order shipping method table indexes
this.addSql('drop index if exists "IDX_order_shipping_order_id";')
this.addSql('drop index if exists "IDX_order_shipping_return_id";')
this.addSql('drop index if exists "IDX_order_shipping_claim_id";')
this.addSql('drop index if exists "IDX_order_shipping_exchange_id";')
this.addSql('drop index if exists "IDX_order_shipping_shipping_method_id";')
this.addSql('drop index if exists "IDX_order_shipping_version";')
// Return table indexes
this.addSql('drop index if exists "IDX_return_display_id";')
this.addSql('drop index if exists "IDX_return_order_id";')
this.addSql('drop index if exists "IDX_return_exchange_id";')
this.addSql('drop index if exists "IDX_return_claim_id";')
// Return item table indexes
this.addSql('drop index if exists "IDX_return_item_return_id";')
this.addSql('drop index if exists "IDX_return_item_item_id";')
this.addSql('drop index if exists "IDX_return_item_reason_id";')
// Return reason table indexes
this.addSql('drop index if exists "IDX_return_reason_value";')
this.addSql(
'drop index if exists "IDX_return_reason_parent_return_reason_id";'
)
// Transaction table indexes
this.addSql('drop index if exists "IDX_order_transaction_order_id";')
this.addSql(
'drop index if exists "IDX_order_transaction_order_id_version";'
)
this.addSql('drop index if exists "IDX_order_transaction_return_id";')
this.addSql('drop index if exists "IDX_order_transaction_claim_id";')
this.addSql('drop index if exists "IDX_order_transaction_exchange_id";')
this.addSql('drop index if exists "IDX_order_transaction_reference_id";')
this.addSql('drop index if exists "IDX_order_transaction_currency_code";')
// Recreate all indexes with correct WHERE clauses (IS NULL for active records)
// Order table indexes
this.addSql(
'create index "IDX_order_display_id" on "order" ("display_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_region_id" on "order" ("region_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_customer_id" on "order" ("customer_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_sales_channel_id" on "order" ("sales_channel_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_currency_code" on "order" ("currency_code") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_shipping_address_id" on "order" ("shipping_address_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_billing_address_id" on "order" ("billing_address_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_is_draft_order" on "order" ("is_draft_order") where "deleted_at" is null;'
)
// Order change table indexes
this.addSql(
'create index "IDX_order_change_order_id" on "order_change" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_return_id" on "order_change" ("return_id") where "return_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_claim_id" on "order_change" ("claim_id") where "claim_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_exchange_id" on "order_change" ("exchange_id") where "exchange_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_status" on "order_change" ("status") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_version" on "order_change" ("order_id", "version") where "deleted_at" is null;'
)
// Order change action table indexes
this.addSql(
'create index "IDX_order_change_action_order_change_id" on "order_change_action" ("order_change_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_action_order_id" on "order_change_action" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_action_return_id" on "order_change_action" ("return_id") where "return_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_action_claim_id" on "order_change_action" ("claim_id") where "claim_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_action_exchange_id" on "order_change_action" ("exchange_id") where "exchange_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_change_action_ordering" on "order_change_action" ("ordering") where "deleted_at" is null;'
)
// Order summary table indexes
this.addSql(
'create index "IDX_order_summary_order_id_version" on "order_summary" ("order_id", "version") where "deleted_at" is null;'
)
// Order claim table indexes
this.addSql(
'create index "IDX_order_claim_display_id" on "order_claim" ("display_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_claim_order_id" on "order_claim" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_claim_return_id" on "order_claim" ("return_id") where "return_id" is not null and "deleted_at" is null;'
)
// Order claim item table indexes
this.addSql(
'create index "IDX_order_claim_item_claim_id" on "order_claim_item" ("claim_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_claim_item_item_id" on "order_claim_item" ("item_id") where "deleted_at" is null;'
)
// Order claim item image table indexes
this.addSql(
'create index "IDX_order_claim_item_image_claim_item_id" on "order_claim_item_image" ("claim_item_id") where "deleted_at" is null;'
)
// Order credit line table indexes
this.addSql(
'create index "IDX_order_credit_line_order_id" on "order_credit_line" ("order_id") where "deleted_at" is null;'
)
// Order exchange table indexes
this.addSql(
'create index "IDX_order_exchange_display_id" on "order_exchange" ("display_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_exchange_order_id" on "order_exchange" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_exchange_return_id" on "order_exchange" ("return_id") where "return_id" is not null and "deleted_at" is null;'
)
// Order exchange item table indexes
this.addSql(
'create index "IDX_order_exchange_item_exchange_id" on "order_exchange_item" ("exchange_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_exchange_item_item_id" on "order_exchange_item" ("item_id") where "deleted_at" is null;'
)
// Line item table indexes
this.addSql(
'create index "IDX_order_line_item_product_id" on "order_line_item" ("product_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_line_item_product_type_id" on "order_line_item" ("product_type_id") where "deleted_at" is null and "product_type_id" is not null;'
)
this.addSql(
'create index "IDX_order_line_item_variant_id" on "order_line_item" ("variant_id") where "deleted_at" is null;'
)
// Order item table indexes
this.addSql(
'create index "IDX_order_item_order_id" on "order_item" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_item_item_id" on "order_item" ("item_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_item_version" on "order_item" ("order_id", "version") where "deleted_at" is null;'
)
// Order shipping method table indexes
this.addSql(
'create index "IDX_order_shipping_order_id" on "order_shipping" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_shipping_return_id" on "order_shipping" ("return_id") where "return_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_shipping_claim_id" on "order_shipping" ("claim_id") where "claim_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_shipping_exchange_id" on "order_shipping" ("exchange_id") where "exchange_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_shipping_shipping_method_id" on "order_shipping" ("shipping_method_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_shipping_version" on "order_shipping" ("order_id", "version") where "deleted_at" is null;'
)
// Return table indexes
this.addSql(
'create index "IDX_return_display_id" on "return" ("display_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_return_order_id" on "return" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_return_exchange_id" on "return" ("exchange_id") where "exchange_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_return_claim_id" on "return" ("claim_id") where "claim_id" is not null and "deleted_at" is null;'
)
// Return item table indexes
this.addSql(
'create index "IDX_return_item_return_id" on "return_item" ("return_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_return_item_item_id" on "return_item" ("item_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_return_item_reason_id" on "return_item" ("reason_id") where "deleted_at" is null;'
)
// Return reason table indexes
this.addSql(
'create index "IDX_return_reason_value" on "return_reason" ("value") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_return_reason_parent_return_reason_id" on "return_reason" ("parent_return_reason_id") where "deleted_at" is null;'
)
// Transaction table indexes
this.addSql(
'create index "IDX_order_transaction_order_id" on "order_transaction" ("order_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_transaction_order_id_version" on "order_transaction" ("order_id", "version") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_transaction_return_id" on "order_transaction" ("return_id") where "return_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_transaction_claim_id" on "order_transaction" ("claim_id") where "claim_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_transaction_exchange_id" on "order_transaction" ("exchange_id") where "exchange_id" is not null and "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_transaction_reference_id" on "order_transaction" ("reference_id") where "deleted_at" is null;'
)
this.addSql(
'create index "IDX_order_transaction_currency_code" on "order_transaction" ("currency_code") where "deleted_at" is null;'
)
}
override async down(): Promise<void> {
// Drop all the corrected indexes (this is a simplified rollback - in practice you might want to be more specific)
const indexesToDrop = [
"IDX_order_display_id",
"IDX_order_region_id",
"IDX_order_customer_id",
"IDX_order_sales_channel_id",
"IDX_order_currency_code",
"IDX_order_shipping_address_id",
"IDX_order_billing_address_id",
"IDX_order_is_draft_order",
"IDX_order_change_order_id",
"IDX_order_change_return_id",
"IDX_order_change_claim_id",
"IDX_order_change_exchange_id",
"IDX_order_change_status",
"IDX_order_change_version",
"IDX_order_change_action_order_change_id",
"IDX_order_change_action_order_id",
"IDX_order_change_action_return_id",
"IDX_order_change_action_claim_id",
"IDX_order_change_action_exchange_id",
"IDX_order_change_action_ordering",
"IDX_order_summary_order_id_version",
"IDX_order_claim_display_id",
"IDX_order_claim_order_id",
"IDX_order_claim_return_id",
"IDX_order_claim_item_claim_id",
"IDX_order_claim_item_item_id",
"IDX_order_claim_item_image_claim_item_id",
"IDX_order_credit_line_order_id",
"IDX_order_exchange_display_id",
"IDX_order_exchange_order_id",
"IDX_order_exchange_return_id",
"IDX_order_exchange_item_exchange_id",
"IDX_order_exchange_item_item_id",
"IDX_order_line_item_product_id",
"IDX_line_item_product_type_id",
"IDX_order_line_item_variant_id",
"IDX_order_item_order_id",
"IDX_order_item_item_id",
"IDX_order_item_version",
"IDX_order_shipping_order_id",
"IDX_order_shipping_return_id",
"IDX_order_shipping_claim_id",
"IDX_order_shipping_exchange_id",
"IDX_order_shipping_shipping_method_id",
"IDX_order_shipping_version",
"IDX_return_display_id",
"IDX_return_order_id",
"IDX_return_exchange_id",
"IDX_return_claim_id",
"IDX_return_item_return_id",
"IDX_return_item_item_id",
"IDX_return_item_reason_id",
"IDX_return_reason_value",
"IDX_return_reason_parent_return_reason_id",
"IDX_order_transaction_order_id",
"IDX_order_transaction_order_id_version",
"IDX_order_transaction_return_id",
"IDX_order_transaction_claim_id",
"IDX_order_transaction_exchange_id",
"IDX_order_transaction_reference_id",
"IDX_order_transaction_currency_code",
]
for (const indexName of indexesToDrop) {
this.addSql(`drop index if exists "${indexName}";`)
}
// Note: For a complete rollback, you would recreate the original incorrect indexes here
// This is omitted for brevity, but in practice you might want to restore the original state
}
}
@@ -24,7 +24,7 @@ const _OrderClaimItemImage = model
name: "IDX_order_claim_item_image_claim_item_id", name: "IDX_order_claim_item_image_claim_item_id",
on: ["claim_item_id"], on: ["claim_item_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
@@ -32,13 +32,13 @@ const _OrderClaimItem = model
name: "IDX_order_claim_item_claim_id", name: "IDX_order_claim_item_claim_id",
on: ["claim_id"], on: ["claim_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_claim_item_item_id", name: "IDX_order_claim_item_item_id",
on: ["item_id"], on: ["item_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_claim_item_deleted_at", name: "IDX_order_claim_item_deleted_at",
+3 -3
View File
@@ -59,7 +59,7 @@ const _OrderClaim = model
name: "IDX_order_claim_display_id", name: "IDX_order_claim_display_id",
on: ["display_id"], on: ["display_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_claim_deleted_at", name: "IDX_order_claim_deleted_at",
@@ -71,13 +71,13 @@ const _OrderClaim = model
name: "IDX_order_claim_order_id", name: "IDX_order_claim_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_claim_return_id", name: "IDX_order_claim_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "return_id IS NOT NULL AND deleted_at IS NOT NULL", where: "return_id IS NOT NULL AND deleted_at IS NULL",
}, },
]) ])
@@ -18,7 +18,7 @@ const OrderCreditLine_ = model
name: "IDX_order_credit_line_order_id", name: "IDX_order_credit_line_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_credit_line_deleted_at", name: "IDX_order_credit_line_deleted_at",
@@ -20,13 +20,13 @@ const _OrderExchangeItem = model
name: "IDX_order_exchange_item_exchange_id", name: "IDX_order_exchange_item_exchange_id",
on: ["exchange_id"], on: ["exchange_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_exchange_item_item_id", name: "IDX_order_exchange_item_item_id",
on: ["item_id"], on: ["item_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_exchange_item_deleted_at", name: "IDX_order_exchange_item_deleted_at",
@@ -53,7 +53,7 @@ const _OrderExchange = model
name: "IDX_order_exchange_display_id", name: "IDX_order_exchange_display_id",
on: ["display_id"], on: ["display_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_exchange_deleted_at", name: "IDX_order_exchange_deleted_at",
@@ -65,13 +65,13 @@ const _OrderExchange = model
name: "IDX_order_exchange_order_id", name: "IDX_order_exchange_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_exchange_return_id", name: "IDX_order_exchange_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "return_id IS NOT NULL AND deleted_at IS NOT NULL", where: "return_id IS NOT NULL AND deleted_at IS NULL",
}, },
]) ])
@@ -56,19 +56,19 @@ const _OrderLineItem = model
name: "IDX_order_line_item_product_id", name: "IDX_order_line_item_product_id",
on: ["product_id"], on: ["product_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_line_item_product_type_id", name: "IDX_line_item_product_type_id",
on: ["product_type_id"], on: ["product_type_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL AND product_type_id IS NOT NULL", where: "deleted_at IS NULL AND product_type_id IS NOT NULL",
}, },
{ {
name: "IDX_order_line_item_variant_id", name: "IDX_order_line_item_variant_id",
on: ["variant_id"], on: ["variant_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
@@ -29,31 +29,31 @@ const _OrderChangeAction = model
name: "IDX_order_change_action_order_change_id", name: "IDX_order_change_action_order_change_id",
on: ["order_change_id"], on: ["order_change_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_action_order_id", name: "IDX_order_change_action_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_action_return_id", name: "IDX_order_change_action_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "return_id IS NOT NULL AND deleted_at IS NOT NULL", where: "return_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_action_claim_id", name: "IDX_order_change_action_claim_id",
on: ["claim_id"], on: ["claim_id"],
unique: false, unique: false,
where: "claim_id IS NOT NULL AND deleted_at IS NOT NULL", where: "claim_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_action_exchange_id", name: "IDX_order_change_action_exchange_id",
on: ["exchange_id"], on: ["exchange_id"],
unique: false, unique: false,
where: "exchange_id IS NOT NULL AND deleted_at IS NOT NULL", where: "exchange_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_action_deleted_at", name: "IDX_order_change_action_deleted_at",
@@ -65,7 +65,7 @@ const _OrderChangeAction = model
name: "IDX_order_change_action_ordering", name: "IDX_order_change_action_ordering",
on: ["ordering"], on: ["ordering"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
@@ -42,31 +42,31 @@ const _OrderChange = model
name: "IDX_order_change_order_id", name: "IDX_order_change_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_return_id", name: "IDX_order_change_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "return_id IS NOT NULL AND deleted_at IS NOT NULL", where: "return_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_claim_id", name: "IDX_order_change_claim_id",
on: ["claim_id"], on: ["claim_id"],
unique: false, unique: false,
where: "claim_id IS NOT NULL AND deleted_at IS NOT NULL", where: "claim_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_exchange_id", name: "IDX_order_change_exchange_id",
on: ["exchange_id"], on: ["exchange_id"],
unique: false, unique: false,
where: "exchange_id IS NOT NULL AND deleted_at IS NOT NULL", where: "exchange_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_status", name: "IDX_order_change_status",
on: ["status"], on: ["status"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_change_deleted_at", name: "IDX_order_change_deleted_at",
@@ -78,7 +78,7 @@ const _OrderChange = model
name: "IDX_order_change_version", name: "IDX_order_change_version",
on: ["order_id", "version"], on: ["order_id", "version"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
@@ -31,19 +31,19 @@ const _OrderItem = model
name: "IDX_order_item_order_id", name: "IDX_order_item_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_item_version", name: "IDX_order_item_version",
on: ["version"], on: ["version"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_item_item_id", name: "IDX_order_item_item_id",
on: ["item_id"], on: ["item_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_item_deleted_at", name: "IDX_order_item_deleted_at",
@@ -40,37 +40,37 @@ const _OrderShipping = model
name: "IDX_order_shipping_order_id", name: "IDX_order_shipping_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_return_id", name: "IDX_order_shipping_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "return_id IS NOT NULL AND deleted_at IS NOT NULL", where: "return_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_exchange_id", name: "IDX_order_shipping_exchange_id",
on: ["exchange_id"], on: ["exchange_id"],
unique: false, unique: false,
where: "exchange_id IS NOT NULL AND deleted_at IS NOT NULL", where: "exchange_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_claim_id", name: "IDX_order_shipping_claim_id",
on: ["claim_id"], on: ["claim_id"],
unique: false, unique: false,
where: "claim_id IS NOT NULL AND deleted_at IS NOT NULL", where: "claim_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_version", name: "IDX_order_shipping_version",
on: ["version"], on: ["version"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_shipping_method_id", name: "IDX_order_shipping_shipping_method_id",
on: ["shipping_method_id"], on: ["shipping_method_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_deleted_at", name: "IDX_order_shipping_deleted_at",
@@ -21,7 +21,7 @@ const _OrderSummary = model
name: "IDX_order_summary_order_id_version", name: "IDX_order_summary_order_id_version",
on: ["order_id", "version"], on: ["order_id", "version"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_summary_deleted_at", name: "IDX_order_summary_deleted_at",
+8 -8
View File
@@ -69,25 +69,25 @@ const _Order = model
name: "IDX_order_display_id", name: "IDX_order_display_id",
on: ["display_id"], on: ["display_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_region_id", name: "IDX_order_region_id",
on: ["region_id"], on: ["region_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_customer_id", name: "IDX_order_customer_id",
on: ["customer_id"], on: ["customer_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_sales_channel_id", name: "IDX_order_sales_channel_id",
on: ["sales_channel_id"], on: ["sales_channel_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_deleted_at", name: "IDX_order_deleted_at",
@@ -99,25 +99,25 @@ const _Order = model
name: "IDX_order_currency_code", name: "IDX_order_currency_code",
on: ["currency_code"], on: ["currency_code"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_shipping_address_id", name: "IDX_order_shipping_address_id",
on: ["shipping_address_id"], on: ["shipping_address_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_billing_address_id", name: "IDX_order_billing_address_id",
on: ["billing_address_id"], on: ["billing_address_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_is_draft_order", name: "IDX_order_is_draft_order",
on: ["is_draft_order"], on: ["is_draft_order"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
@@ -34,19 +34,19 @@ const _ReturnItem = model
name: "IDX_return_item_return_id", name: "IDX_return_item_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_return_item_reason_id", name: "IDX_return_item_reason_id",
on: ["reason_id"], on: ["reason_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_return_item_item_id", name: "IDX_return_item_item_id",
on: ["item_id"], on: ["item_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_return_item_deleted_at", name: "IDX_return_item_deleted_at",
@@ -30,13 +30,13 @@ const _ReturnReason = model
name: "IDX_return_reason_value", name: "IDX_return_reason_value",
on: ["value"], on: ["value"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_return_reason_parent_return_reason_id", name: "IDX_return_reason_parent_return_reason_id",
on: ["parent_return_reason_id"], on: ["parent_return_reason_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
+4 -4
View File
@@ -59,7 +59,7 @@ const _Return = model
name: "IDX_return_display_id", name: "IDX_return_display_id",
on: ["display_id"], on: ["display_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_return_deleted_at", name: "IDX_return_deleted_at",
@@ -71,19 +71,19 @@ const _Return = model
name: "IDX_return_order_id", name: "IDX_return_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_return_exchange_id", name: "IDX_return_exchange_id",
on: ["exchange_id"], on: ["exchange_id"],
unique: false, unique: false,
where: "exchange_id IS NOT NULL AND deleted_at IS NOT NULL", where: "exchange_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_return_claim_id", name: "IDX_return_claim_id",
on: ["claim_id"], on: ["claim_id"],
unique: false, unique: false,
where: "claim_id IS NOT NULL AND deleted_at IS NOT NULL", where: "claim_id IS NOT NULL AND deleted_at IS NULL",
}, },
]) ])
@@ -40,37 +40,37 @@ const _OrderTransaction = model
name: "IDX_order_transaction_reference_id", name: "IDX_order_transaction_reference_id",
on: ["reference_id"], on: ["reference_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_transaction_order_id", name: "IDX_order_transaction_order_id",
on: ["order_id"], on: ["order_id"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_transaction_return_id", name: "IDX_order_transaction_return_id",
on: ["return_id"], on: ["return_id"],
unique: false, unique: false,
where: "return_id IS NOT NULL AND deleted_at IS NOT NULL", where: "return_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_transaction_exchange_id", name: "IDX_order_transaction_exchange_id",
on: ["exchange_id"], on: ["exchange_id"],
unique: false, unique: false,
where: "exchange_id IS NOT NULL AND deleted_at IS NOT NULL", where: "exchange_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_transaction_claim_id", name: "IDX_order_transaction_claim_id",
on: ["claim_id"], on: ["claim_id"],
unique: false, unique: false,
where: "claim_id IS NOT NULL AND deleted_at IS NOT NULL", where: "claim_id IS NOT NULL AND deleted_at IS NULL",
}, },
{ {
name: "IDX_order_transaction_currency_code", name: "IDX_order_transaction_currency_code",
on: ["currency_code"], on: ["currency_code"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
{ {
name: "IDX_order_transaction_deleted_at", name: "IDX_order_transaction_deleted_at",
@@ -82,7 +82,7 @@ const _OrderTransaction = model
name: "IDX_order_transaction_order_id_version", name: "IDX_order_transaction_order_id_version",
on: ["order_id", "version"], on: ["order_id", "version"],
unique: false, unique: false,
where: "deleted_at IS NOT NULL", where: "deleted_at IS NULL",
}, },
]) ])
@@ -444,6 +444,16 @@ export default class OrderModuleService
filters?: any, filters?: any,
config?: FindConfig<any> | undefined, config?: FindConfig<any> | undefined,
sharedContext?: Context sharedContext?: Context
): Promise<OrderTypes.OrderDTO[]> {
const orders = await this.listOrders_(filters, config, sharedContext)
return this.baseRepository_.serialize<OrderTypes.OrderDTO[]>(orders)
}
protected async listOrders_(
filters?: any,
config?: FindConfig<any> | undefined,
@MedusaContext() sharedContext?: Context | undefined
): Promise<OrderTypes.OrderDTO[]> { ): Promise<OrderTypes.OrderDTO[]> {
config ??= {} config ??= {}
const includeTotals = this.shouldIncludeTotals(config) const includeTotals = this.shouldIncludeTotals(config)
@@ -1035,7 +1045,7 @@ export default class OrderModuleService
: [orderIdOrData] : [orderIdOrData]
const allOrderIds = data.map((dt) => dt.order_id) const allOrderIds = data.map((dt) => dt.order_id)
const order = await this.listOrders( const order = await this.listOrders_(
{ id: allOrderIds }, { id: allOrderIds },
{ select: ["id", "version"] }, { select: ["id", "version"] },
sharedContext sharedContext
@@ -1212,7 +1222,7 @@ export default class OrderModuleService
let toUpdate: UpdateOrderLineItemDTO[] = [] let toUpdate: UpdateOrderLineItemDTO[] = []
const detailsToUpdate: UpdateOrderItemWithSelectorDTO[] = [] const detailsToUpdate: UpdateOrderItemWithSelectorDTO[] = []
for (const { selector, data } of updates) { for (const { selector, data } of updates) {
const items = await this.listOrderLineItems( const items = await this.orderLineItemService_.list(
{ ...selector }, { ...selector },
{}, {},
sharedContext sharedContext
@@ -1311,7 +1321,7 @@ export default class OrderModuleService
): Promise<InferEntityType<typeof OrderItem>[]> { ): Promise<InferEntityType<typeof OrderItem>[]> {
let toUpdate: UpdateOrderItemDTO[] = [] let toUpdate: UpdateOrderItemDTO[] = []
for (const { selector, data } of updates) { for (const { selector, data } of updates) {
const details = await this.listOrderItems( const details = await this.orderItemService_.list(
{ ...selector }, { ...selector },
{}, {},
sharedContext sharedContext
@@ -1369,7 +1379,7 @@ export default class OrderModuleService
: [orderIdOrData] : [orderIdOrData]
const allOrderIds = data.map((dt) => dt.order_id) const allOrderIds = data.map((dt) => dt.order_id)
const order = await this.listOrders( const order = await this.listOrders_(
{ id: allOrderIds }, { id: allOrderIds },
{ select: ["id", "version"] }, { select: ["id", "version"] },
sharedContext sharedContext
@@ -2432,7 +2442,7 @@ export default class OrderModuleService
const orderIds: string[] = [] const orderIds: string[] = []
const dataMap: Record<string, object> = {} const dataMap: Record<string, object> = {}
const orderChanges = await this.listOrderChanges( const orderChanges = await this.orderChangeService_.list(
{ {
order_id: dataArr.map((data) => data.order_id), order_id: dataArr.map((data) => data.order_id),
status: [OrderChangeStatus.PENDING, OrderChangeStatus.REQUESTED], status: [OrderChangeStatus.PENDING, OrderChangeStatus.REQUESTED],
@@ -2441,9 +2451,10 @@ export default class OrderModuleService
sharedContext sharedContext
) )
const orderChangesMap = new Map<string, OrderTypes.OrderChangeDTO>( const orderChangesMap = new Map<
orderChanges.map((item) => [item.order_id, item]) string,
) InferEntityType<typeof OrderChange>
>(orderChanges.map((item) => [item.order_id, item]))
for (const change of dataArr) { for (const change of dataArr) {
orderIds.push(change.order_id) orderIds.push(change.order_id)
@@ -3462,7 +3473,7 @@ export default class OrderModuleService
} }
} }
let orders = await this.listOrders( let orders = await this.listOrders_(
{ id: deduplicate(ordersIds) }, { id: deduplicate(ordersIds) },
{ {
select: ["id", "version", "items.detail", "summary", "total"], select: ["id", "version", "items.detail", "summary", "total"],
@@ -3744,7 +3755,7 @@ export default class OrderModuleService
isRemoved: boolean, isRemoved: boolean,
@MedusaContext() sharedContext: Context = {} @MedusaContext() sharedContext: Context = {}
) { ) {
const summaries: any = await super.listOrderSummaries( const summaries: any = await this.listOrderSummaries(
{ {
order_id: transactionData.map((trx) => trx.order_id), order_id: transactionData.map((trx) => trx.order_id),
version: transactionData[0].version, version: transactionData[0].version,
@@ -3826,7 +3837,7 @@ export default class OrderModuleService
@MedusaContext() sharedContext: Context = {} @MedusaContext() sharedContext: Context = {}
): Promise<OrderTypes.OrderDTO[]> { ): Promise<OrderTypes.OrderDTO[]> {
const orderIds = Array.isArray(orderId) ? orderId : [orderId] const orderIds = Array.isArray(orderId) ? orderId : [orderId]
const orders = await this.listOrders( const orders = await this.listOrders_(
{ {
id: orderIds, id: orderIds,
}, },
@@ -3899,7 +3910,7 @@ export default class OrderModuleService
@MedusaContext() sharedContext: Context = {} @MedusaContext() sharedContext: Context = {}
): Promise<OrderTypes.OrderDTO[]> { ): Promise<OrderTypes.OrderDTO[]> {
const orderIds = Array.isArray(orderId) ? orderId : [orderId] const orderIds = Array.isArray(orderId) ? orderId : [orderId]
const orders = await this.listOrders( const orders = await this.listOrders_(
{ {
id: orderIds, id: orderIds,
}, },
@@ -3964,7 +3975,7 @@ export default class OrderModuleService
@MedusaContext() sharedContext: Context = {} @MedusaContext() sharedContext: Context = {}
): Promise<OrderTypes.OrderDTO[]> { ): Promise<OrderTypes.OrderDTO[]> {
const orderIds = Array.isArray(orderId) ? orderId : [orderId] const orderIds = Array.isArray(orderId) ? orderId : [orderId]
const orders = await this.listOrders( const orders = await this.listOrders_(
{ {
id: orderIds, id: orderIds,
}, },