fix(core-flows,order): update action (#8333)
This commit is contained in:
committed by
GitHub
parent
42c80e4264
commit
ed67d44d28
@@ -4,10 +4,11 @@ import {
|
||||
UpdateOrderChangeDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
ModuleRegistrationName,
|
||||
deduplicate,
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
} from "@medusajs/utils"
|
||||
import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const cancelOrderChangeStepId = "cancel-order-change"
|
||||
export const cancelOrderChangeStep = createStep(
|
||||
@@ -22,8 +23,18 @@ export const cancelOrderChangeStep = createStep(
|
||||
{ objectFields: ["metadata"] }
|
||||
)
|
||||
|
||||
selects.push(
|
||||
"order_id",
|
||||
"return_id",
|
||||
"claim_id",
|
||||
"exchange_id",
|
||||
"version",
|
||||
"canceled_at",
|
||||
"cancelled_by"
|
||||
)
|
||||
|
||||
const dataBeforeUpdate = await service.retrieveOrderChange(data.id, {
|
||||
select: [...selects, "canceled_at"],
|
||||
select: deduplicate(selects),
|
||||
relations,
|
||||
})
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@ import { IOrderModuleService, OrderChangeActionDTO } from "@medusajs/types"
|
||||
import { ChangeActionType, ModuleRegistrationName } from "@medusajs/utils"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
type CreateOrderClaimItemsInput = {
|
||||
type CreateOrderClaimItemsFromActionsInput = {
|
||||
changes: OrderChangeActionDTO[]
|
||||
claimId: string
|
||||
}
|
||||
|
||||
export const createOrderClaimItemsStep = createStep(
|
||||
"create-claim-items",
|
||||
async (input: CreateOrderClaimItemsInput, { container }) => {
|
||||
export const createOrderClaimItemsFromActionsStep = createStep(
|
||||
"create-claim-items-from-change-actions",
|
||||
async (input: CreateOrderClaimItemsFromActionsInput, { container }) => {
|
||||
const orderModuleService = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
@@ -6,14 +6,14 @@ import {
|
||||
import { ModuleRegistrationName } from "@medusajs/utils"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
type CreateReturnItemsInput = {
|
||||
type CreateReturnItemsFromActionsInput = {
|
||||
changes: OrderChangeActionDTO[]
|
||||
returnId: string
|
||||
}
|
||||
|
||||
export const createReturnItemsStep = createStep(
|
||||
"create-return-items",
|
||||
async (input: CreateReturnItemsInput, { container }) => {
|
||||
export const createReturnItemsFromActionsStep = createStep(
|
||||
"create-return-items-from-change-actions",
|
||||
async (input: CreateReturnItemsFromActionsInput, { container }) => {
|
||||
const orderModuleService = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
@@ -4,10 +4,11 @@ import {
|
||||
UpdateOrderChangeDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
ModuleRegistrationName,
|
||||
deduplicate,
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
} from "@medusajs/utils"
|
||||
import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const declineOrderChangeStepId = "decline-order-change"
|
||||
export const declineOrderChangeStep = createStep(
|
||||
@@ -21,9 +22,19 @@ export const declineOrderChangeStep = createStep(
|
||||
[data],
|
||||
{ objectFields: ["metadata"] }
|
||||
)
|
||||
selects.push(
|
||||
"order_id",
|
||||
"return_id",
|
||||
"claim_id",
|
||||
"exchange_id",
|
||||
"version",
|
||||
"declined_at",
|
||||
"declined_by",
|
||||
"declined_reason"
|
||||
)
|
||||
|
||||
const dataBeforeUpdate = await service.retrieveOrderChange(data.id, {
|
||||
select: [...selects, "declined_at"],
|
||||
select: deduplicate(selects),
|
||||
relations,
|
||||
})
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ export * from "./cancel-order-change"
|
||||
export * from "./cancel-orders"
|
||||
export * from "./cancel-return"
|
||||
export * from "./complete-orders"
|
||||
export * from "./create-claim-items"
|
||||
export * from "./create-claim-items-from-actions"
|
||||
export * from "./create-claims"
|
||||
export * from "./create-complete-return"
|
||||
export * from "./create-exchanges"
|
||||
|
||||
@@ -3,10 +3,11 @@ import {
|
||||
UpdateOrderChangeActionDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
ModuleRegistrationName,
|
||||
deduplicate,
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
} from "@medusajs/utils"
|
||||
import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const updateOrderChangeActionsStepId = "update-order-change-actions"
|
||||
export const updateOrderChangeActionsStep = createStep(
|
||||
@@ -17,11 +18,20 @@ export const updateOrderChangeActionsStep = createStep(
|
||||
)
|
||||
|
||||
const { selects, relations } = getSelectsAndRelationsFromObjectArray(data, {
|
||||
objectFields: ["metadata"],
|
||||
objectFields: ["metadata", "details"],
|
||||
})
|
||||
selects.push(
|
||||
"order_id",
|
||||
"return_id",
|
||||
"claim_id",
|
||||
"exchange_id",
|
||||
"version",
|
||||
"order_change_id"
|
||||
)
|
||||
|
||||
const dataBeforeUpdate = await service.listOrderChangeActions(
|
||||
{ id: data.map((d) => d.id) },
|
||||
{ relations, select: selects }
|
||||
{ relations, select: deduplicate(selects) }
|
||||
)
|
||||
|
||||
const updated = await service.updateOrderChangeActions(data)
|
||||
|
||||
@@ -19,8 +19,8 @@ import { createFulfillmentWorkflow } from "../../../fulfillment/workflows/create
|
||||
import { createReturnFulfillmentWorkflow } from "../../../fulfillment/workflows/create-return-fulfillment"
|
||||
import { previewOrderChangeStep } from "../../steps"
|
||||
import { confirmOrderChanges } from "../../steps/confirm-order-changes"
|
||||
import { createOrderClaimItemsStep } from "../../steps/create-claim-items"
|
||||
import { createReturnItemsStep } from "../../steps/create-return-items"
|
||||
import { createOrderClaimItemsFromActionsStep } from "../../steps/create-claim-items-from-actions"
|
||||
import { createReturnItemsFromActionsStep } from "../../steps/create-return-items-from-actions"
|
||||
import {
|
||||
throwIfIsCancelled,
|
||||
throwIfOrderChangeIsNotActive,
|
||||
@@ -227,8 +227,8 @@ export const confirmClaimRequestWorkflow = createWorkflow(
|
||||
const orderPreview = previewOrderChangeStep(order.id)
|
||||
|
||||
const [createClaimItems, createdReturnItems] = parallelize(
|
||||
createOrderClaimItemsStep(claimItems),
|
||||
createReturnItemsStep(returnItems),
|
||||
createOrderClaimItemsFromActionsStep(claimItems),
|
||||
createReturnItemsFromActionsStep(returnItems),
|
||||
confirmOrderChanges({ changes: [orderChange], orderId: order.id })
|
||||
)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ import { createRemoteLinkStep, useRemoteQueryStep } from "../../../common"
|
||||
import { createReturnFulfillmentWorkflow } from "../../../fulfillment/workflows/create-return-fulfillment"
|
||||
import { previewOrderChangeStep } from "../../steps"
|
||||
import { confirmOrderChanges } from "../../steps/confirm-order-changes"
|
||||
import { createReturnItemsStep } from "../../steps/create-return-items"
|
||||
import { createReturnItemsFromActionsStep } from "../../steps/create-return-items-from-actions"
|
||||
import {
|
||||
throwIfIsCancelled,
|
||||
throwIfOrderChangeIsNotActive,
|
||||
@@ -111,15 +111,12 @@ function extractReturnShippingOptionId({ orderPreview, orderReturn }) {
|
||||
continue
|
||||
}
|
||||
|
||||
for (const action of modifiedShippingMethod_.actions) {
|
||||
if (
|
||||
returnShippingMethod = modifiedShippingMethod_.actions.find((action) => {
|
||||
return (
|
||||
action.action === ChangeActionType.SHIPPING_ADD &&
|
||||
action.return_id === orderReturn.id
|
||||
) {
|
||||
returnShippingMethod = shippingMethod
|
||||
break
|
||||
}
|
||||
}
|
||||
)
|
||||
})
|
||||
}
|
||||
return returnShippingMethod.shipping_option_id
|
||||
}
|
||||
@@ -184,7 +181,7 @@ export const confirmReturnRequestWorkflow = createWorkflow(
|
||||
|
||||
const orderPreview = previewOrderChangeStep(order.id)
|
||||
|
||||
const createdReturnItems = createReturnItemsStep({
|
||||
const createdReturnItems = createReturnItemsFromActionsStep({
|
||||
returnId: orderReturn.id,
|
||||
changes: returnItemActions,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user