feat(core-flows, utils): add OrderEdit events (#12320)
* feat(core-flows, utils): add OrderEdit events * fix: typo
This commit is contained in:
1 parent
90c61d1898
commit
8985998756
5 files changed
+71
-7
No files matched your search
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"@medusajs/core-flows": patch
|
||||||
|
"@medusajs/utils": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
feat(core-flows,utils): add Order Edit events
|
||||||
@@ -1,5 +1,9 @@
|
|||||||
import { OrderChangeDTO, OrderDTO } from "@medusajs/framework/types"
|
import { OrderChangeDTO, OrderDTO } from "@medusajs/framework/types"
|
||||||
import { ChangeActionType, OrderChangeStatus } from "@medusajs/framework/utils"
|
import {
|
||||||
|
ChangeActionType,
|
||||||
|
OrderChangeStatus,
|
||||||
|
OrderEditWorkflowEvents,
|
||||||
|
} from "@medusajs/framework/utils"
|
||||||
import {
|
import {
|
||||||
WorkflowData,
|
WorkflowData,
|
||||||
createStep,
|
createStep,
|
||||||
@@ -7,7 +11,7 @@ import {
|
|||||||
parallelize,
|
parallelize,
|
||||||
transform,
|
transform,
|
||||||
} from "@medusajs/framework/workflows-sdk"
|
} from "@medusajs/framework/workflows-sdk"
|
||||||
import { useRemoteQueryStep } from "../../../common"
|
import { emitEventStep, useRemoteQueryStep } from "../../../common"
|
||||||
import { deleteOrderChangesStep, deleteOrderShippingMethods } from "../../steps"
|
import { deleteOrderChangesStep, deleteOrderShippingMethods } from "../../steps"
|
||||||
import {
|
import {
|
||||||
throwIfIsCancelled,
|
throwIfIsCancelled,
|
||||||
@@ -128,9 +132,23 @@ export const cancelBeginOrderEditWorkflow = createWorkflow(
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const eventData = transform(
|
||||||
|
{ order, orderChange },
|
||||||
|
({ order, orderChange }) => {
|
||||||
|
return {
|
||||||
|
order_id: order.id,
|
||||||
|
actions: orderChange.actions,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
parallelize(
|
parallelize(
|
||||||
deleteOrderChangesStep({ ids: [orderChange.id] }),
|
deleteOrderChangesStep({ ids: [orderChange.id] }),
|
||||||
deleteOrderShippingMethods({ ids: shippingToRemove })
|
deleteOrderShippingMethods({ ids: shippingToRemove }),
|
||||||
|
emitEventStep({
|
||||||
|
eventName: OrderEditWorkflowEvents.CANCELED,
|
||||||
|
data: eventData,
|
||||||
|
})
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
+17
-1
@@ -8,6 +8,7 @@ import {
|
|||||||
ChangeActionType,
|
ChangeActionType,
|
||||||
MathBN,
|
MathBN,
|
||||||
OrderChangeStatus,
|
OrderChangeStatus,
|
||||||
|
OrderEditWorkflowEvents,
|
||||||
} from "@medusajs/framework/utils"
|
} from "@medusajs/framework/utils"
|
||||||
import {
|
import {
|
||||||
WorkflowResponse,
|
WorkflowResponse,
|
||||||
@@ -17,7 +18,7 @@ import {
|
|||||||
} from "@medusajs/framework/workflows-sdk"
|
} from "@medusajs/framework/workflows-sdk"
|
||||||
import { reserveInventoryStep } from "../../../cart/steps/reserve-inventory"
|
import { reserveInventoryStep } from "../../../cart/steps/reserve-inventory"
|
||||||
import { prepareConfirmInventoryInput } from "../../../cart/utils/prepare-confirm-inventory-input"
|
import { prepareConfirmInventoryInput } from "../../../cart/utils/prepare-confirm-inventory-input"
|
||||||
import { useRemoteQueryStep } from "../../../common"
|
import { emitEventStep, useRemoteQueryStep } from "../../../common"
|
||||||
import { deleteReservationsByLineItemsStep } from "../../../reservation"
|
import { deleteReservationsByLineItemsStep } from "../../../reservation"
|
||||||
import { previewOrderChangeStep } from "../../steps"
|
import { previewOrderChangeStep } from "../../steps"
|
||||||
import { confirmOrderChanges } from "../../steps/confirm-order-changes"
|
import { confirmOrderChanges } from "../../steps/confirm-order-changes"
|
||||||
@@ -287,6 +288,21 @@ export const confirmOrderEditRequestWorkflow = createWorkflow(
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const eventData = transform(
|
||||||
|
{ order, orderChange },
|
||||||
|
({ order, orderChange }) => {
|
||||||
|
return {
|
||||||
|
order_id: order.id,
|
||||||
|
actions: orderChange.actions,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
emitEventStep({
|
||||||
|
eventName: OrderEditWorkflowEvents.CONFIRMED,
|
||||||
|
data: eventData,
|
||||||
|
})
|
||||||
|
|
||||||
return new WorkflowResponse(orderPreview)
|
return new WorkflowResponse(orderPreview)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -3,14 +3,17 @@ import {
|
|||||||
OrderDTO,
|
OrderDTO,
|
||||||
OrderPreviewDTO,
|
OrderPreviewDTO,
|
||||||
} from "@medusajs/framework/types"
|
} from "@medusajs/framework/types"
|
||||||
import { OrderChangeStatus } from "@medusajs/framework/utils"
|
import {
|
||||||
|
OrderChangeStatus,
|
||||||
|
OrderEditWorkflowEvents,
|
||||||
|
} from "@medusajs/framework/utils"
|
||||||
import {
|
import {
|
||||||
WorkflowResponse,
|
WorkflowResponse,
|
||||||
createStep,
|
createStep,
|
||||||
createWorkflow,
|
createWorkflow,
|
||||||
transform,
|
transform,
|
||||||
} from "@medusajs/framework/workflows-sdk"
|
} from "@medusajs/framework/workflows-sdk"
|
||||||
import { useRemoteQueryStep } from "../../../common"
|
import { emitEventStep, useRemoteQueryStep } from "../../../common"
|
||||||
import { previewOrderChangeStep } from "../../steps"
|
import { previewOrderChangeStep } from "../../steps"
|
||||||
import { updateOrderChangesStep } from "../../steps/update-order-changes"
|
import { updateOrderChangesStep } from "../../steps/update-order-changes"
|
||||||
import {
|
import {
|
||||||
@@ -134,7 +137,7 @@ export const requestOrderEditRequestWorkflow = createWorkflow(
|
|||||||
|
|
||||||
const orderChange: OrderChangeDTO = useRemoteQueryStep({
|
const orderChange: OrderChangeDTO = useRemoteQueryStep({
|
||||||
entry_point: "order_change",
|
entry_point: "order_change",
|
||||||
fields: ["id", "canceled_at"],
|
fields: ["id", "canceled_at", "actions.*"],
|
||||||
variables: {
|
variables: {
|
||||||
filters: {
|
filters: {
|
||||||
order_id: input.order_id,
|
order_id: input.order_id,
|
||||||
@@ -152,6 +155,21 @@ export const requestOrderEditRequestWorkflow = createWorkflow(
|
|||||||
const updateOrderChangesData = getOrderChangesData({ input, orderChange })
|
const updateOrderChangesData = getOrderChangesData({ input, orderChange })
|
||||||
updateOrderChangesStep(updateOrderChangesData)
|
updateOrderChangesStep(updateOrderChangesData)
|
||||||
|
|
||||||
|
const eventData = transform(
|
||||||
|
{ order, orderChange },
|
||||||
|
({ order, orderChange }) => {
|
||||||
|
return {
|
||||||
|
order_id: order.id,
|
||||||
|
actions: orderChange.actions,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
emitEventStep({
|
||||||
|
eventName: OrderEditWorkflowEvents.REQUESTED,
|
||||||
|
data: eventData,
|
||||||
|
})
|
||||||
|
|
||||||
return new WorkflowResponse(previewOrderChangeStep(order.id))
|
return new WorkflowResponse(previewOrderChangeStep(order.id))
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
@@ -31,6 +31,12 @@ export const OrderWorkflowEvents = {
|
|||||||
TRANSFER_REQUESTED: "order.transfer_requested",
|
TRANSFER_REQUESTED: "order.transfer_requested",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const OrderEditWorkflowEvents = {
|
||||||
|
REQUESTED: "order-edit.requested",
|
||||||
|
CONFIRMED: "order-edit.confirmed",
|
||||||
|
CANCELED: "order-edit.canceled",
|
||||||
|
}
|
||||||
|
|
||||||
export const UserWorkflowEvents = {
|
export const UserWorkflowEvents = {
|
||||||
CREATED: "user.created",
|
CREATED: "user.created",
|
||||||
UPDATED: "user.updated",
|
UPDATED: "user.updated",
|
||||||
|
|||||||
Reference in new issue
Block a user