@@ -1 +1,4 @@
|
||||
export * from "./create-cart"
|
||||
export * from "./steps"
|
||||
export * from "./workflows"
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
|
||||
import { CreateCartDTO, ICartModuleService } from "@medusajs/types"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const createCartsStepId = "create-carts"
|
||||
export const createCartsStep = createStep(
|
||||
createCartsStepId,
|
||||
async (data: CreateCartDTO[], { container }) => {
|
||||
const service = container.resolve<ICartModuleService>(
|
||||
ModuleRegistrationName.CART
|
||||
)
|
||||
|
||||
const createdCarts = await service.create(data)
|
||||
|
||||
return new StepResponse(
|
||||
createdCarts,
|
||||
createdCarts.map((cart) => cart.id)
|
||||
)
|
||||
},
|
||||
async (createdCartsIds, { container }) => {
|
||||
if (!createdCartsIds?.length) {
|
||||
return
|
||||
}
|
||||
|
||||
const service = container.resolve<ICartModuleService>(
|
||||
ModuleRegistrationName.CART
|
||||
)
|
||||
|
||||
await service.delete(createdCartsIds)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./create-carts";
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
import { CartDTO, CreateCartDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { createCartsStep } from "../steps"
|
||||
|
||||
type WorkflowInput = { cartData: CreateCartDTO[] }
|
||||
|
||||
export const createCartsWorkflowId = "create-carts"
|
||||
export const createCartsWorkflow = createWorkflow(
|
||||
createCartsWorkflowId,
|
||||
(input: WorkflowData<WorkflowInput>): WorkflowData<CartDTO[]> => {
|
||||
return createCartsStep(input.cartData)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from "./create-carts";
|
||||
|
||||
Reference in New Issue
Block a user