feat(core-flows,types): cancel order changes workflow (#8035)
what: - adds cancel order changes workflow
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
import {
|
||||
CancelOrderChangeDTO,
|
||||
IOrderModuleService,
|
||||
UpdateOrderChangeDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
ModuleRegistrationName,
|
||||
} from "@medusajs/utils"
|
||||
import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const cancelOrderChangeStepId = "cancel-order-change"
|
||||
export const cancelOrderChangeStep = createStep(
|
||||
cancelOrderChangeStepId,
|
||||
async (data: CancelOrderChangeDTO, { container }) => {
|
||||
const service = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
|
||||
const { selects, relations } = getSelectsAndRelationsFromObjectArray(
|
||||
[data],
|
||||
{ objectFields: ["metadata"] }
|
||||
)
|
||||
|
||||
const dataBeforeUpdate = await service.retrieveOrderChange(data.id, {
|
||||
select: [...selects, "canceled_at"],
|
||||
relations,
|
||||
})
|
||||
|
||||
await service.cancelOrderChange(data)
|
||||
|
||||
return new StepResponse(void 0, dataBeforeUpdate)
|
||||
},
|
||||
async (rollbackData, { container }) => {
|
||||
if (!rollbackData) {
|
||||
return
|
||||
}
|
||||
|
||||
const service = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
|
||||
await service.updateOrderChanges(rollbackData as UpdateOrderChangeDTO)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,45 @@
|
||||
import {
|
||||
DeclineOrderChangeDTO,
|
||||
IOrderModuleService,
|
||||
UpdateOrderChangeDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
getSelectsAndRelationsFromObjectArray,
|
||||
ModuleRegistrationName,
|
||||
} from "@medusajs/utils"
|
||||
import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const declineOrderChangeStepId = "decline-order-change"
|
||||
export const declineOrderChangeStep = createStep(
|
||||
declineOrderChangeStepId,
|
||||
async (data: DeclineOrderChangeDTO, { container }) => {
|
||||
const service = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
|
||||
const { selects, relations } = getSelectsAndRelationsFromObjectArray(
|
||||
[data],
|
||||
{ objectFields: ["metadata"] }
|
||||
)
|
||||
|
||||
const dataBeforeUpdate = await service.retrieveOrderChange(data.id, {
|
||||
select: [...selects, "declined_at"],
|
||||
relations,
|
||||
})
|
||||
|
||||
await service.declineOrderChange(data)
|
||||
|
||||
return new StepResponse(void 0, dataBeforeUpdate)
|
||||
},
|
||||
async (rollbackData, { container }) => {
|
||||
if (!rollbackData) {
|
||||
return
|
||||
}
|
||||
|
||||
const service = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
|
||||
await service.updateOrderChanges(rollbackData as UpdateOrderChangeDTO)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,28 @@
|
||||
import { IOrderModuleService } from "@medusajs/types"
|
||||
import { ModuleRegistrationName } from "@medusajs/utils"
|
||||
import { createStep, StepResponse } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const deleteOrderChangeStepId = "delete-order-change"
|
||||
export const deleteOrderChangeStep = createStep(
|
||||
deleteOrderChangeStepId,
|
||||
async (data: { id: string }, { container }) => {
|
||||
const service = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
|
||||
const deleted = await service.softDeleteOrderChanges(data.id)
|
||||
|
||||
return new StepResponse(deleted, data.id)
|
||||
},
|
||||
async (id, { container }) => {
|
||||
if (!id) {
|
||||
return
|
||||
}
|
||||
|
||||
const service = container.resolve<IOrderModuleService>(
|
||||
ModuleRegistrationName.ORDER
|
||||
)
|
||||
|
||||
await service.restoreOrderChanges(id)
|
||||
}
|
||||
)
|
||||
@@ -1,11 +1,14 @@
|
||||
export * from "./archive-orders"
|
||||
export * from "./cancel-claim"
|
||||
export * from "./cancel-exchange"
|
||||
export * from "./cancel-order-change"
|
||||
export * from "./cancel-orders"
|
||||
export * from "./cancel-return"
|
||||
export * from "./complete-orders"
|
||||
export * from "./create-order-change"
|
||||
export * from "./create-orders"
|
||||
export * from "./decline-order-change"
|
||||
export * from "./delete-order-change"
|
||||
export * from "./get-item-tax-lines"
|
||||
export * from "./register-fulfillment"
|
||||
export * from "./register-shipment"
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
import { CancelOrderChangeDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { cancelOrderChangeStep } from "../steps"
|
||||
|
||||
export const cancelOrderChangeWorkflowId = "cancel-order-change"
|
||||
export const cancelOrderChangeWorkflow = createWorkflow(
|
||||
cancelOrderChangeWorkflowId,
|
||||
(input: WorkflowData<CancelOrderChangeDTO>): WorkflowData<void> => {
|
||||
cancelOrderChangeStep(input)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,11 @@
|
||||
import { DeclineOrderChangeDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { declineOrderChangeStep } from "../steps"
|
||||
|
||||
export const declineOrderChangeWorkflowId = "decline-order-change"
|
||||
export const declineOrderChangeWorkflow = createWorkflow(
|
||||
declineOrderChangeWorkflowId,
|
||||
(input: WorkflowData<DeclineOrderChangeDTO>): WorkflowData<void> => {
|
||||
declineOrderChangeStep(input)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,10 @@
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { deleteOrderChangeStep } from "../steps"
|
||||
|
||||
export const deleteOrderChangeWorkflowId = "delete-order-change"
|
||||
export const deleteOrderChangeWorkflow = createWorkflow(
|
||||
deleteOrderChangeWorkflowId,
|
||||
(input: WorkflowData<{ id: string }>): WorkflowData<void> => {
|
||||
deleteOrderChangeStep(input)
|
||||
}
|
||||
)
|
||||
@@ -1,5 +1,6 @@
|
||||
export * from "./archive-orders"
|
||||
export * from "./cancel-order"
|
||||
export * from "./cancel-order-change"
|
||||
export * from "./cancel-order-fulfillment"
|
||||
export * from "./cancel-return"
|
||||
export * from "./complete-orders"
|
||||
@@ -8,6 +9,8 @@ export * from "./create-order-change"
|
||||
export * from "./create-orders"
|
||||
export * from "./create-return"
|
||||
export * from "./create-shipment"
|
||||
export * from "./decline-order-change"
|
||||
export * from "./delete-order-change"
|
||||
export * from "./get-order-detail"
|
||||
export * from "./get-orders-list"
|
||||
export * from "./receive-return"
|
||||
|
||||
Reference in New Issue
Block a user