chore(core-flows): cancel claims (#8342)

What:
* `DELETE /admin/claims/:id/request`
* `POST /admin/claims/:id/cancel`
This commit is contained in:
Carlos R. L. Rodrigues
2024-07-30 08:59:02 +00:00
committed by GitHub
parent bcd9d9c2b1
commit 48663479a9
19 changed files with 165 additions and 70 deletions
@@ -8,16 +8,16 @@ import { ChangeActionType, promiseAll } from "@medusajs/utils"
async function createOrderChange(
service,
data,
returnRef,
claimOrder,
actions,
sharedContext
) {
return await service.createOrderChange_(
{
order_id: returnRef.order_id,
claim_id: returnRef.id,
reference: "return",
reference_id: returnRef.id,
order_id: claimOrder.order_id,
claim_id: claimOrder.id,
reference: "claim",
reference_id: claimOrder.id,
description: data.description,
internal_note: data.internal_note,
created_by: data.created_by,
@@ -33,60 +33,40 @@ export async function cancelClaim(
data: OrderTypes.CancelOrderClaimDTO,
sharedContext?: Context
) {
const claimOrder = await this.retrieveClaim(
const claimOrder = await this.retrieveOrderClaim(
data.claim_id,
{
select: [
"id",
"order_id",
"return.id",
"return.items.id",
"return.items.quantity",
"claim_items.item_id",
"claim_items.is_additional_item",
"claim_items.quantity",
"additional_items.id",
"additional_items.quantity",
"additional_items.is_additional_item",
],
relations: ["return.items", "additional_items", "shipping_methods"],
relations: ["claim_items", "additional_items", "shipping_methods"],
},
sharedContext
)
const actions: CreateOrderChangeActionDTO[] = []
claimOrder.return.items.forEach((item) => {
actions.push({
action: ChangeActionType.CANCEL_RETURN_ITEM,
order_id: claimOrder.order_id,
claim_id: claimOrder.id,
return_id: claimOrder.return.id,
reference: "return",
reference_id: claimOrder.return.id,
details: {
reference_id: item.id,
order_id: claimOrder.order_id,
claim_id: claimOrder.id,
return_id: claimOrder.return.id,
quantity: item.quantity,
},
})
})
claimOrder.claim_items.forEach((item) => {
claimOrder.claim_items?.forEach((item) => {
actions.push({
action: ChangeActionType.REINSTATE_ITEM,
claim_id: claimOrder.id,
reference: "claim",
reference_id: claimOrder.id,
details: {
reference_id: item.id,
claim_id: claimOrder.id,
reference_id: item.item_id,
quantity: item.quantity,
},
})
})
claimOrder.additional_items.forEach((item) => {
claimOrder.additional_items?.forEach((item) => {
actions.push({
action: ChangeActionType.ITEM_REMOVE,
order_id: claimOrder.order_id,
@@ -94,9 +74,7 @@ export async function cancelClaim(
reference: "claim",
reference_id: claimOrder.id,
details: {
reference_id: item.id,
order_id: claimOrder.order_id,
claim_id: claimOrder.id,
reference_id: item.item_id,
quantity: item.quantity,
},
})
@@ -107,7 +85,6 @@ export async function cancelClaim(
action: ChangeActionType.SHIPPING_REMOVE,
order_id: claimOrder.order_id,
claim_id: claimOrder.id,
return_id: claimOrder.return.id,
reference: "claim",
reference_id: shipping.id,
amount: shipping.price,
@@ -123,7 +100,7 @@ export async function cancelClaim(
)
await promiseAll([
this.updateClaims(
this.updateOrderClaims(
[
{
data: {
@@ -62,9 +62,6 @@ export async function cancelExchange(
reference_id: exchangeOrder.return.id,
details: {
reference_id: item.item_id,
order_id: exchangeOrder.order_id,
exchange_id: exchangeOrder.id,
return_id: exchangeOrder.return.id,
quantity: item.quantity,
},
})
@@ -59,8 +59,6 @@ export async function cancelReturn(
reference_id: returnOrder.id,
details: {
reference_id: item.item_id,
order_id: returnOrder.order_id,
return_id: returnOrder.id,
quantity: item.quantity,
},
})
@@ -46,8 +46,6 @@ function createReturnItem(em, item, claimReference, returnReference, actions) {
reference_id: returnReference.id,
details: {
reference_id: item.id,
return_id: returnReference.id,
claim_id: claimReference.id,
quantity: item.quantity,
metadata: item.metadata,
},
@@ -77,7 +75,6 @@ function createClaimAndReturnItems(
reference_id: claimReference.id,
details: {
reference_id: item.id,
claim_id: claimReference.id,
quantity: item.quantity,
metadata: item.metadata,
},
@@ -127,7 +124,6 @@ async function processAdditionalItems(
reference_id: claimReference.id,
details: {
reference_id: item.id,
claim_id: claimReference.id,
quantity: item.quantity,
metadata: item.metadata,
},
@@ -49,8 +49,6 @@ function createReturnItems(
reference_id: returnReference.id,
details: {
reference_id: item.id,
return_id: returnReference.id,
exchange_id: exchangeReference.id,
quantity: item.quantity,
metadata: item.metadata,
},
@@ -93,7 +91,6 @@ async function processAdditionalItems(
reference_id: exchangeReference.id,
details: {
reference_id: item.id,
exchange_id: exchangeReference.id,
quantity: item.quantity,
metadata: item.metadata,
},
@@ -34,7 +34,6 @@ function createReturnItems(em, data, returnRef, actions) {
reference_id: returnRef.id,
details: {
reference_id: item.id,
return_id: returnRef.id,
quantity: item.quantity,
metadata: item.metadata,
},
@@ -3206,7 +3206,7 @@ export default class OrderModuleService<
const ret = await this.cancelClaim_(data, sharedContext)
return await this.retrieveOrderClaim(ret.id, {
relations: ["items"],
relations: ["additional_items", "claim_items"],
})
}
@@ -5,6 +5,7 @@ export * from "./item-add"
export * from "./item-remove"
export * from "./receive-damaged-return-item"
export * from "./receive-return-item"
export * from "./reinstate-item"
export * from "./return-item"
export * from "./ship-item"
export * from "./shipping-add"