fix: Standardize remaining batch methods and update FE calls (#7122)
This commit is contained in:
+3
-4
@@ -5,10 +5,9 @@ import {
|
||||
} from "@medusajs/types"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const addRulesToFulfillmentShippingOptionStepId =
|
||||
"add-rules-to-fulfillment-shipping-option"
|
||||
export const addRulesToFulfillmentShippingOptionStep = createStep(
|
||||
addRulesToFulfillmentShippingOptionStepId,
|
||||
export const createShippingOptionRulesStepId = "create-shipping-option-rules"
|
||||
export const createShippingOptionRulesStep = createStep(
|
||||
createShippingOptionRulesStepId,
|
||||
async (
|
||||
input: AddFulfillmentShippingOptionRulesWorkflowDTO,
|
||||
{ container }
|
||||
+3
-4
@@ -6,10 +6,9 @@ import {
|
||||
} from "@medusajs/types"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
|
||||
export const removeRulesFromFulfillmentShippingOptionStepId =
|
||||
"remove-rules-from-fulfillment-shipping-option"
|
||||
export const removeRulesFromFulfillmentShippingOptionStep = createStep(
|
||||
removeRulesFromFulfillmentShippingOptionStepId,
|
||||
export const deleteShippingOptionRulesStepId = "delete-shipping-option-rules"
|
||||
export const deleteShippingOptionRulesStep = createStep(
|
||||
deleteShippingOptionRulesStepId,
|
||||
async (
|
||||
input: RemoveFulfillmentShippingOptionRulesWorkflowDTO,
|
||||
{ container }
|
||||
@@ -1,4 +1,4 @@
|
||||
export * from "./add-rules-to-fulfillment-shipping-option"
|
||||
export * from "./create-shipping-option-rules"
|
||||
export * from "./add-shipping-options-prices"
|
||||
export * from "./cancel-fulfillment"
|
||||
export * from "./create-fulfillment"
|
||||
@@ -8,7 +8,7 @@ export * from "./create-shipping-profiles"
|
||||
export * from "./delete-fulfillment-sets"
|
||||
export * from "./delete-service-zones"
|
||||
export * from "./delete-shipping-options"
|
||||
export * from "./remove-rules-from-fulfillment-shipping-option"
|
||||
export * from "./delete-shipping-option-rules"
|
||||
export * from "./set-shipping-options-prices"
|
||||
export * from "./update-fulfillment"
|
||||
export * from "./upsert-shipping-options"
|
||||
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
import { AddFulfillmentShippingOptionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { addRulesToFulfillmentShippingOptionStep } from "../steps"
|
||||
|
||||
export const addRulesToFulfillmentShippingOptionWorkflowId =
|
||||
"add-rules-to-fulfillment-shipping-option-workflow"
|
||||
export const addRulesToFulfillmentShippingOptionWorkflow = createWorkflow(
|
||||
addRulesToFulfillmentShippingOptionWorkflowId,
|
||||
(
|
||||
input: WorkflowData<AddFulfillmentShippingOptionRulesWorkflowDTO>
|
||||
): WorkflowData<void> => {
|
||||
addRulesToFulfillmentShippingOptionStep(input)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,51 @@
|
||||
import {
|
||||
BatchWorkflowInput,
|
||||
BatchWorkflowOutput,
|
||||
CreateShippingOptionRuleDTO,
|
||||
ShippingOptionRuleDTO,
|
||||
UpdateShippingOptionRuleDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
WorkflowData,
|
||||
createWorkflow,
|
||||
parallelize,
|
||||
transform,
|
||||
} from "@medusajs/workflows-sdk"
|
||||
import {
|
||||
createShippingOptionRulesStep,
|
||||
deleteShippingOptionRulesStep,
|
||||
} from "../steps"
|
||||
|
||||
export const batchShippingOptionRulesWorkflowId = "batch-shipping-option-rules"
|
||||
export const batchShippingOptionRulesWorkflow = createWorkflow(
|
||||
batchShippingOptionRulesWorkflowId,
|
||||
(
|
||||
input: WorkflowData<
|
||||
BatchWorkflowInput<
|
||||
CreateShippingOptionRuleDTO,
|
||||
UpdateShippingOptionRuleDTO
|
||||
>
|
||||
>
|
||||
): WorkflowData<BatchWorkflowOutput<ShippingOptionRuleDTO>> => {
|
||||
const createInput = transform({ input }, (data) => ({
|
||||
data: data.input.create ?? [],
|
||||
}))
|
||||
|
||||
const updateInput = transform({ input }, (data) => ({
|
||||
data: data.input.update ?? [],
|
||||
}))
|
||||
|
||||
const deleteInput = transform({ input }, (data) => ({
|
||||
ids: data.input.delete ?? [],
|
||||
}))
|
||||
|
||||
// TODO: Currently we don't support edits, add support for this.
|
||||
// We just call the steps directly here since there are no independent workflows, switch to CRUD workflows if they get added.
|
||||
const [created, deleted] = parallelize(
|
||||
createShippingOptionRulesStep(createInput),
|
||||
deleteShippingOptionRulesStep(deleteInput)
|
||||
)
|
||||
|
||||
return transform({ created, deleted }, (data) => ({ ...data, updated: [] }))
|
||||
}
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
export * from "./add-rules-to-fulfillment-shipping-option"
|
||||
export * from "./batch-shipping-option-rules"
|
||||
export * from "./cancel-fulfillment"
|
||||
export * from "./create-fulfillment"
|
||||
export * from "./create-service-zones"
|
||||
@@ -8,7 +8,6 @@ export * from "./create-shipping-profiles"
|
||||
export * from "./delete-fulfillment-sets"
|
||||
export * from "./delete-service-zones"
|
||||
export * from "./delete-shipping-options"
|
||||
export * from "./remove-rules-from-fulfillment-shipping-option"
|
||||
export * from "./update-fulfillment"
|
||||
export * from "./update-service-zones"
|
||||
export * from "./update-shipping-options"
|
||||
|
||||
-14
@@ -1,14 +0,0 @@
|
||||
import { RemoveFulfillmentShippingOptionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { removeRulesFromFulfillmentShippingOptionStep } from "../steps"
|
||||
|
||||
export const removeRulesFromFulfillmentShippingOptionWorkflowId =
|
||||
"remove-rules-from-fulfillment-shipping-option-workflow"
|
||||
export const removeRulesFromFulfillmentShippingOptionWorkflow = createWorkflow(
|
||||
removeRulesFromFulfillmentShippingOptionWorkflowId,
|
||||
(
|
||||
input: WorkflowData<RemoveFulfillmentShippingOptionRulesWorkflowDTO>
|
||||
): WorkflowData<void> => {
|
||||
removeRulesFromFulfillmentShippingOptionStep(input)
|
||||
}
|
||||
)
|
||||
@@ -18,19 +18,42 @@ export const batchProductVariantsStep = createStep(
|
||||
>,
|
||||
{ container }
|
||||
) => {
|
||||
const { transaction: createTransaction, result: created } =
|
||||
await createProductVariantsWorkflow(container).run({
|
||||
input: { product_variants: data.create ?? [] },
|
||||
})
|
||||
const { transaction: updateTransaction, result: updated } =
|
||||
await updateProductVariantsWorkflow(container).run({
|
||||
input: { product_variants: data.update ?? [] },
|
||||
})
|
||||
const { transaction: deleteTransaction } =
|
||||
const {
|
||||
transaction: createTransaction,
|
||||
result: created,
|
||||
errors: createErrors,
|
||||
} = await createProductVariantsWorkflow(container).run({
|
||||
input: { product_variants: data.create ?? [] },
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (createErrors?.length) {
|
||||
throw createErrors[0].error
|
||||
}
|
||||
|
||||
const {
|
||||
transaction: updateTransaction,
|
||||
result: updated,
|
||||
errors: updateErrors,
|
||||
} = await updateProductVariantsWorkflow(container).run({
|
||||
input: { product_variants: data.update ?? [] },
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (updateErrors?.length) {
|
||||
throw updateErrors[0].error
|
||||
}
|
||||
|
||||
const { transaction: deleteTransaction, errors: deleteErrors } =
|
||||
await deleteProductVariantsWorkflow(container).run({
|
||||
input: { ids: data.delete ?? [] },
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (deleteErrors?.length) {
|
||||
throw deleteErrors[0].error
|
||||
}
|
||||
|
||||
return new StepResponse(
|
||||
{
|
||||
created,
|
||||
|
||||
@@ -18,20 +18,42 @@ export const batchProductsStep = createStep(
|
||||
>,
|
||||
{ container }
|
||||
) => {
|
||||
const { transaction: createTransaction, result: created } =
|
||||
await createProductsWorkflow(container).run({
|
||||
input: { products: data.create ?? [] },
|
||||
})
|
||||
const { transaction: updateTransaction, result: updated } =
|
||||
await updateProductsWorkflow(container).run({
|
||||
input: { products: data.update ?? [] },
|
||||
})
|
||||
const { transaction: deleteTransaction } = await deleteProductsWorkflow(
|
||||
container
|
||||
).run({
|
||||
input: { ids: data.delete ?? [] },
|
||||
const {
|
||||
transaction: createTransaction,
|
||||
result: created,
|
||||
errors: createErrors,
|
||||
} = await createProductsWorkflow(container).run({
|
||||
input: { products: data.create ?? [] },
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (createErrors?.length) {
|
||||
throw createErrors[0].error
|
||||
}
|
||||
|
||||
const {
|
||||
transaction: updateTransaction,
|
||||
result: updated,
|
||||
errors: updateErrors,
|
||||
} = await updateProductsWorkflow(container).run({
|
||||
input: { products: data.update ?? [] },
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (updateErrors?.length) {
|
||||
throw updateErrors[0].error
|
||||
}
|
||||
|
||||
const { transaction: deleteTransaction, errors: deleteErrors } =
|
||||
await deleteProductsWorkflow(container).run({
|
||||
input: { ids: data.delete ?? [] },
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (deleteErrors?.length) {
|
||||
throw deleteErrors[0].error
|
||||
}
|
||||
|
||||
return new StepResponse(
|
||||
{
|
||||
created,
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
import { AddPromotionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
import { createPromotionRulesWorkflow } from "../workflows/create-promotion-rules"
|
||||
|
||||
export const createPromotionRulesWorkflowStepId =
|
||||
"create-promotion-rules-workflow"
|
||||
export const createPromotionRulesWorkflowStep = createStep(
|
||||
createPromotionRulesWorkflowStepId,
|
||||
async (data: AddPromotionRulesWorkflowDTO, { container }) => {
|
||||
const {
|
||||
transaction,
|
||||
result: created,
|
||||
errors,
|
||||
} = await createPromotionRulesWorkflow(container).run({
|
||||
input: data,
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (errors?.length) {
|
||||
throw errors[0].error
|
||||
}
|
||||
|
||||
return new StepResponse(created, transaction)
|
||||
},
|
||||
|
||||
async (transaction, { container }) => {
|
||||
if (!transaction) {
|
||||
return
|
||||
}
|
||||
|
||||
await createPromotionRulesWorkflow(container).cancel({ transaction })
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,38 @@
|
||||
import { RemovePromotionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
import { deletePromotionRulesWorkflow } from "../workflows/delete-promotion-rules"
|
||||
|
||||
export const deletePromotionRulesWorkflowStepId =
|
||||
"delete-promotion-rules-workflow"
|
||||
export const deletePromotionRulesWorkflowStep = createStep(
|
||||
deletePromotionRulesWorkflowStepId,
|
||||
async (data: RemovePromotionRulesWorkflowDTO, { container }) => {
|
||||
const { transaction, errors } = await deletePromotionRulesWorkflow(
|
||||
container
|
||||
).run({
|
||||
input: data,
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (errors?.length) {
|
||||
throw errors[0].error
|
||||
}
|
||||
|
||||
return new StepResponse(
|
||||
{
|
||||
ids: data.data.rule_ids ?? [],
|
||||
object: "promotion-rule",
|
||||
deleted: true,
|
||||
},
|
||||
transaction
|
||||
)
|
||||
},
|
||||
|
||||
async (transaction, { container }) => {
|
||||
if (!transaction) {
|
||||
return
|
||||
}
|
||||
|
||||
await deletePromotionRulesWorkflow(container).cancel({ transaction })
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,33 @@
|
||||
import { UpdatePromotionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { StepResponse, createStep } from "@medusajs/workflows-sdk"
|
||||
import { updatePromotionRulesWorkflow } from "../workflows/update-promotion-rules"
|
||||
|
||||
export const updatePromotionRulesWorkflowStepId =
|
||||
"update-promotion-rules-workflow"
|
||||
export const updatePromotionRulesWorkflowStep = createStep(
|
||||
updatePromotionRulesWorkflowStepId,
|
||||
async (data: UpdatePromotionRulesWorkflowDTO, { container }) => {
|
||||
const {
|
||||
transaction,
|
||||
result: updated,
|
||||
errors,
|
||||
} = await updatePromotionRulesWorkflow(container).run({
|
||||
input: data,
|
||||
throwOnError: false,
|
||||
})
|
||||
|
||||
if (errors?.length) {
|
||||
throw errors[0].error
|
||||
}
|
||||
|
||||
return new StepResponse(updated, transaction)
|
||||
},
|
||||
|
||||
async (transaction, { container }) => {
|
||||
if (!transaction) {
|
||||
return
|
||||
}
|
||||
|
||||
await updatePromotionRulesWorkflow(container).cancel({ transaction })
|
||||
}
|
||||
)
|
||||
@@ -1,11 +0,0 @@
|
||||
import { AddPromotionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { addRulesToPromotionsStep } from "../steps"
|
||||
|
||||
export const addRulesToPromotionsWorkflowId = "add-rules-to-promotions-workflow"
|
||||
export const addRulesToPromotionsWorkflow = createWorkflow(
|
||||
addRulesToPromotionsWorkflowId,
|
||||
(input: WorkflowData<AddPromotionRulesWorkflowDTO>): WorkflowData<void> => {
|
||||
addRulesToPromotionsStep(input)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,52 @@
|
||||
import {
|
||||
BatchWorkflowInput,
|
||||
BatchWorkflowOutput,
|
||||
CreatePromotionRuleDTO,
|
||||
PromotionRuleDTO,
|
||||
UpdatePromotionRuleDTO,
|
||||
} from "@medusajs/types"
|
||||
import {
|
||||
WorkflowData,
|
||||
createWorkflow,
|
||||
parallelize,
|
||||
transform,
|
||||
} from "@medusajs/workflows-sdk"
|
||||
import { RuleType } from "@medusajs/utils"
|
||||
import { createPromotionRulesWorkflowStep } from "../steps/create-promotion-rules-workflow"
|
||||
import { updatePromotionRulesWorkflowStep } from "../steps/update-promotion-rules-workflow"
|
||||
import { deletePromotionRulesWorkflowStep } from "../steps/delete-promotion-rules-workflow"
|
||||
|
||||
export const batchPromotionRulesWorkflowId = "batch-promotion-rules"
|
||||
export const batchPromotionRulesWorkflow = createWorkflow(
|
||||
batchPromotionRulesWorkflowId,
|
||||
(
|
||||
input: WorkflowData<
|
||||
BatchWorkflowInput<CreatePromotionRuleDTO, UpdatePromotionRuleDTO> & {
|
||||
id: string
|
||||
rule_type: RuleType
|
||||
}
|
||||
>
|
||||
): WorkflowData<BatchWorkflowOutput<PromotionRuleDTO>> => {
|
||||
const createInput = transform({ input }, (data) => ({
|
||||
rule_type: data.input.rule_type,
|
||||
data: { id: data.input.id, rules: data.input.create ?? [] },
|
||||
}))
|
||||
|
||||
const updateInput = transform({ input }, (data) => ({
|
||||
data: data.input.update ?? [],
|
||||
}))
|
||||
|
||||
const deleteInput = transform({ input }, (data) => ({
|
||||
rule_type: data.input.rule_type,
|
||||
data: { id: data.input.id, rule_ids: data.input.delete ?? [] },
|
||||
}))
|
||||
|
||||
const [created, updated, deleted] = parallelize(
|
||||
createPromotionRulesWorkflowStep(createInput),
|
||||
updatePromotionRulesWorkflowStep(updateInput),
|
||||
deletePromotionRulesWorkflowStep(deleteInput)
|
||||
)
|
||||
|
||||
return transform({ created, updated, deleted }, (data) => data)
|
||||
}
|
||||
)
|
||||
@@ -0,0 +1,13 @@
|
||||
import { AddPromotionRulesWorkflowDTO, PromotionRuleDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { addRulesToPromotionsStep } from "../steps"
|
||||
|
||||
export const createPromotionRulesWorkflowId = "create-promotion-rules-workflow"
|
||||
export const createPromotionRulesWorkflow = createWorkflow(
|
||||
createPromotionRulesWorkflowId,
|
||||
(
|
||||
input: WorkflowData<AddPromotionRulesWorkflowDTO>
|
||||
): WorkflowData<PromotionRuleDTO[]> => {
|
||||
return addRulesToPromotionsStep(input)
|
||||
}
|
||||
)
|
||||
+4
-5
@@ -2,13 +2,12 @@ import { RemovePromotionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { removeRulesFromPromotionsStep } from "../steps"
|
||||
|
||||
export const removeRulesFromPromotionsWorkflowId =
|
||||
"remove-rules-from-promotions-workflow"
|
||||
export const removeRulesFromPromotionsWorkflow = createWorkflow(
|
||||
removeRulesFromPromotionsWorkflowId,
|
||||
export const deletePromotionRulesWorkflowId = "delete-promotion-rules-workflow"
|
||||
export const deletePromotionRulesWorkflow = createWorkflow(
|
||||
deletePromotionRulesWorkflowId,
|
||||
(
|
||||
input: WorkflowData<RemovePromotionRulesWorkflowDTO>
|
||||
): WorkflowData<void> => {
|
||||
removeRulesFromPromotionsStep(input)
|
||||
return removeRulesFromPromotionsStep(input)
|
||||
}
|
||||
)
|
||||
@@ -1,9 +1,10 @@
|
||||
export * from "./add-rules-to-promotions"
|
||||
export * from "./batch-promotion-rules"
|
||||
export * from "./create-campaigns"
|
||||
export * from "./create-promotions"
|
||||
export * from "./delete-campaigns"
|
||||
export * from "./delete-promotions"
|
||||
export * from "./remove-rules-from-promotions"
|
||||
export * from "./update-campaigns"
|
||||
export * from "./update-promotion-rules"
|
||||
export * from "./delete-promotion-rules"
|
||||
export * from "./create-promotion-rules"
|
||||
export * from "./update-promotions"
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
import { UpdatePromotionRulesWorkflowDTO } from "@medusajs/types"
|
||||
import {
|
||||
UpdatePromotionRulesWorkflowDTO,
|
||||
PromotionRuleDTO,
|
||||
} from "@medusajs/types"
|
||||
import { WorkflowData, createWorkflow } from "@medusajs/workflows-sdk"
|
||||
import { updatePromotionRulesStep } from "../steps"
|
||||
|
||||
@@ -7,7 +10,7 @@ export const updatePromotionRulesWorkflow = createWorkflow(
|
||||
updatePromotionRulesWorkflowId,
|
||||
(
|
||||
input: WorkflowData<UpdatePromotionRulesWorkflowDTO>
|
||||
): WorkflowData<void> => {
|
||||
updatePromotionRulesStep(input)
|
||||
): WorkflowData<PromotionRuleDTO[]> => {
|
||||
return updatePromotionRulesStep(input)
|
||||
}
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user