fix(order): summary original_total (#8616)

This commit is contained in:
Carlos R. L. Rodrigues authored and GitHub committed 2024-08-15 14:15:05 -03:00
1 parent 9de9b3825f
commit ba34c53151
4 files changed
+23 -22

No files matched your search

@@ -1,6 +1,7 @@
import { import {
Context, Context,
CreateOrderChangeActionDTO, CreateOrderChangeActionDTO,
OrderClaimDTO,
OrderTypes, OrderTypes,
} from "@medusajs/types" } from "@medusajs/types"
import { ChangeActionType, promiseAll } from "@medusajs/utils" import { ChangeActionType, promiseAll } from "@medusajs/utils"
@@ -33,7 +34,7 @@ export async function cancelClaim(
data: OrderTypes.CancelOrderClaimDTO, data: OrderTypes.CancelOrderClaimDTO,
sharedContext?: Context sharedContext?: Context
) { ) {
const claimOrder = await this.retrieveOrderClaim( const claimOrder = (await this.retrieveOrderClaim(
data.claim_id, data.claim_id,
{ {
select: [ select: [
@@ -50,7 +51,7 @@ export async function cancelClaim(
relations: ["claim_items", "additional_items", "shipping_methods"], relations: ["claim_items", "additional_items", "shipping_methods"],
}, },
sharedContext sharedContext
) )) as OrderClaimDTO
const actions: CreateOrderChangeActionDTO[] = [] const actions: CreateOrderChangeActionDTO[] = []
@@ -88,7 +89,7 @@ export async function cancelClaim(
claim_id: claimOrder.id, claim_id: claimOrder.id,
reference: "claim", reference: "claim",
reference_id: shipping.id, reference_id: shipping.id,
amount: shipping.price, amount: shipping.raw_amount ?? shipping.amount,
}) })
}) })
@@ -1,6 +1,7 @@
import { import {
Context, Context,
CreateOrderChangeActionDTO, CreateOrderChangeActionDTO,
OrderExchangeDTO,
OrderTypes, OrderTypes,
} from "@medusajs/types" } from "@medusajs/types"
import { ChangeActionType, promiseAll } from "@medusajs/utils" import { ChangeActionType, promiseAll } from "@medusajs/utils"
@@ -33,7 +34,7 @@ export async function cancelExchange(
data: OrderTypes.CancelOrderExchangeDTO, data: OrderTypes.CancelOrderExchangeDTO,
sharedContext?: Context sharedContext?: Context
) { ) {
const exchangeOrder = await this.retrieveOrderExchange( const exchangeOrder = (await this.retrieveOrderExchange(
data.exchange_id, data.exchange_id,
{ {
select: [ select: [
@@ -46,7 +47,7 @@ export async function cancelExchange(
relations: ["additional_items", "shipping_methods"], relations: ["additional_items", "shipping_methods"],
}, },
sharedContext sharedContext
) )) as OrderExchangeDTO
const actions: CreateOrderChangeActionDTO[] = [] const actions: CreateOrderChangeActionDTO[] = []
@@ -73,7 +74,7 @@ export async function cancelExchange(
exchange_id: exchangeOrder.id, exchange_id: exchangeOrder.id,
reference: "exchange", reference: "exchange",
reference_id: shipping.id, reference_id: shipping.id,
amount: shipping.price, amount: shipping.raw_amount ?? shipping.amount,
}) })
}) })
@@ -2,6 +2,7 @@ import {
Context, Context,
CreateOrderChangeActionDTO, CreateOrderChangeActionDTO,
OrderTypes, OrderTypes,
ReturnDTO,
} from "@medusajs/types" } from "@medusajs/types"
import { ChangeActionType, promiseAll } from "@medusajs/utils" import { ChangeActionType, promiseAll } from "@medusajs/utils"
@@ -33,7 +34,7 @@ export async function cancelReturn(
data: OrderTypes.CancelOrderReturnDTO, data: OrderTypes.CancelOrderReturnDTO,
sharedContext?: Context sharedContext?: Context
) { ) {
const returnOrder = await this.retrieveReturn( const returnOrder = (await this.retrieveReturn(
data.return_id, data.return_id,
{ {
select: [ select: [
@@ -46,7 +47,7 @@ export async function cancelReturn(
relations: ["items", "shipping_methods"], relations: ["items", "shipping_methods"],
}, },
sharedContext sharedContext
) )) as ReturnDTO
const actions: CreateOrderChangeActionDTO[] = [] const actions: CreateOrderChangeActionDTO[] = []
@@ -71,7 +72,7 @@ export async function cancelReturn(
return_id: returnOrder.id, return_id: returnOrder.id,
reference: "return", reference: "return",
reference_id: shipping.id, reference_id: shipping.id,
amount: shipping.price, amount: shipping.raw_amount ?? shipping.amount,
}) })
}) })
@@ -294,7 +294,7 @@ export default class OrderModuleService<
config.relations ??= [] config.relations ??= []
config.select ??= [] config.select ??= []
const requiredFieldsForTotals = [ const requiredRelationsForTotals = [
"items", "items",
"items.tax_lines", "items.tax_lines",
"items.adjustments", "items.adjustments",
@@ -302,14 +302,15 @@ export default class OrderModuleService<
"shipping_methods.tax_lines", "shipping_methods.tax_lines",
"shipping_methods.adjustments", "shipping_methods.adjustments",
] ]
config.relations = deduplicate([ config.relations = deduplicate([
...config.relations, ...config.relations,
...requiredFieldsForTotals, ...requiredRelationsForTotals,
]) ])
config.select = config.select.filter((field) => { config.select = config.select.filter((field) => {
return ( return (
!requiredFieldsForTotals.some((val) => !requiredRelationsForTotals.some((val) =>
val.startsWith(field as string) val.startsWith(field as string)
) && !totalFields.includes(field) ) && !totalFields.includes(field)
) )
@@ -2017,12 +2018,7 @@ export default class OrderModuleService<
orderId, orderId,
{ {
select: ["id", "version", "items.detail", "summary", "total"], select: ["id", "version", "items.detail", "summary", "total"],
relations: [ relations: ["transactions", "items", "shipping_methods"],
"transactions",
"items",
"items.detail",
"shipping_methods",
],
}, },
sharedContext sharedContext
) )
@@ -2212,7 +2208,7 @@ export default class OrderModuleService<
data: OrderTypes.ConfirmOrderChangeDTO[], data: OrderTypes.ConfirmOrderChangeDTO[],
sharedContext?: Context sharedContext?: Context
) )
@InjectTransactionManager("baseRepository_") @InjectManager("baseRepository_")
async confirmOrderChange( async confirmOrderChange(
orderChangeIdOrData: orderChangeIdOrData:
| string | string
@@ -2648,6 +2644,7 @@ export default class OrderModuleService<
return Array.isArray(data) ? actions : actions[0] return Array.isArray(data) ? actions : actions[0]
} }
@InjectTransactionManager("baseRepository_")
private async applyOrderChanges_( private async applyOrderChanges_(
changeActions: ApplyOrderChangeDTO[], changeActions: ApplyOrderChangeDTO[],
sharedContext?: Context sharedContext?: Context
@@ -2683,7 +2680,7 @@ export default class OrderModuleService<
} }
} }
let orders = await super.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"],
@@ -2693,8 +2690,9 @@ export default class OrderModuleService<
"items.detail", "items.detail",
"shipping_methods", "shipping_methods",
], ],
}, }
sharedContext // sharedContext
// TODO: investigate issue while using sharedContext in receive return action
) )
orders = formatOrder(orders, { orders = formatOrder(orders, {
entity: Order, entity: Order,