diff --git a/packages/core/workflows-sdk/src/helper/empty-handler.ts b/packages/core/workflows-sdk/src/helper/empty-handler.ts deleted file mode 100644 index 34233673d1..0000000000 --- a/packages/core/workflows-sdk/src/helper/empty-handler.ts +++ /dev/null @@ -1 +0,0 @@ -export const emptyHandler: any = () => {} diff --git a/packages/core/workflows-sdk/src/helper/index.ts b/packages/core/workflows-sdk/src/helper/index.ts index 9f8801da04..3b5fff9e09 100644 --- a/packages/core/workflows-sdk/src/helper/index.ts +++ b/packages/core/workflows-sdk/src/helper/index.ts @@ -1,5 +1,4 @@ export * from "./merge-data" -export * from "./empty-handler" export * from "./pipe" export * from "./workflow-export" export * from "./type" diff --git a/packages/core/workflows-sdk/src/helper/merge-data.ts b/packages/core/workflows-sdk/src/helper/merge-data.ts index 134d41c240..6384bb582e 100644 --- a/packages/core/workflows-sdk/src/helper/merge-data.ts +++ b/packages/core/workflows-sdk/src/helper/merge-data.ts @@ -4,6 +4,7 @@ import { isObject } from "@medusajs/utils" /** * Pipe utils that merges data from an object into a new object. * The new object will have a target key with the merged data from the keys if specified. + * @deprecated * @param keys * @param target */ diff --git a/packages/core/workflows-sdk/src/helper/pipe.ts b/packages/core/workflows-sdk/src/helper/pipe.ts index 38b934677b..c92cba23dc 100644 --- a/packages/core/workflows-sdk/src/helper/pipe.ts +++ b/packages/core/workflows-sdk/src/helper/pipe.ts @@ -66,6 +66,11 @@ export type PipelineHandler = ( : T > +/** + * @deprecated + * @param input + * @param functions + */ export function pipe( input: PipelineInput, ...functions: [...PipelineHandler[], PipelineHandler] diff --git a/packages/core/workflows-sdk/src/helper/workflow-export.ts b/packages/core/workflows-sdk/src/helper/workflow-export.ts index 1dfbb7af71..a8cc2261ae 100644 --- a/packages/core/workflows-sdk/src/helper/workflow-export.ts +++ b/packages/core/workflows-sdk/src/helper/workflow-export.ts @@ -5,7 +5,7 @@ import { TransactionState, } from "@medusajs/orchestration" import { LoadedModule, MedusaContainer } from "@medusajs/types" -import { MedusaContextType, isPresent } from "@medusajs/utils" +import { isPresent, MedusaContextType } from "@medusajs/utils" import { EOL } from "os" import { ulid } from "ulid" import { MedusaWorkflow } from "../medusa-workflow" @@ -87,10 +87,11 @@ function createContextualWorkflowRunner< failedStatus.includes(transaction.getState()) && throwOnError ) { - const errorMessage = errors + /*const errorMessage = errors ?.map((err) => `${err.error?.message}${EOL}${err.error?.stack}`) - ?.join(`${EOL}`) - throw new Error(errorMessage) + ?.join(`${EOL}`)*/ + const firstError = errors?.[0]?.error ?? new Error("Unknown error") + throw firstError } let result diff --git a/packages/medusa/src/api/admin/api-keys/[id]/revoke/route.ts b/packages/medusa/src/api/admin/api-keys/[id]/revoke/route.ts index bd40729057..6265ce2387 100644 --- a/packages/medusa/src/api/admin/api-keys/[id]/revoke/route.ts +++ b/packages/medusa/src/api/admin/api-keys/[id]/revoke/route.ts @@ -10,7 +10,7 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await revokeApiKeysWorkflow(req.scope).run({ + await revokeApiKeysWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, revoke: { @@ -18,13 +18,8 @@ export const POST = async ( revoked_by: req.auth_context.actor_id, }, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const apiKey = await refetchApiKey( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/api-keys/[id]/route.ts b/packages/medusa/src/api/admin/api-keys/[id]/route.ts index cd91dfee0d..d4a786fa67 100644 --- a/packages/medusa/src/api/admin/api-keys/[id]/route.ts +++ b/packages/medusa/src/api/admin/api-keys/[id]/route.ts @@ -27,18 +27,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await updateApiKeysWorkflow(req.scope).run({ + await updateApiKeysWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const apiKey = await refetchApiKey( req.params.id, req.scope, @@ -54,15 +49,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteApiKeysWorkflow(req.scope).run({ + await deleteApiKeysWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "api_key", diff --git a/packages/medusa/src/api/admin/api-keys/[id]/sales-channels/route.ts b/packages/medusa/src/api/admin/api-keys/[id]/sales-channels/route.ts index 91eda3b9e1..48ff111aad 100644 --- a/packages/medusa/src/api/admin/api-keys/[id]/sales-channels/route.ts +++ b/packages/medusa/src/api/admin/api-keys/[id]/sales-channels/route.ts @@ -21,19 +21,14 @@ export const POST = async ( ) } - const { errors } = await linkSalesChannelsToApiKeyWorkflow(req.scope).run({ + await linkSalesChannelsToApiKeyWorkflow(req.scope).run({ input: { id: req.params.id, add, remove, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const updatedApiKey = await refetchApiKey( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/api-keys/route.ts b/packages/medusa/src/api/admin/api-keys/route.ts index 0f77f5c80f..e16479512b 100644 --- a/packages/medusa/src/api/admin/api-keys/route.ts +++ b/packages/medusa/src/api/admin/api-keys/route.ts @@ -1,4 +1,4 @@ -import { createApiKeysWorkflow } from "@medusajs/core-flows" +import {createApiKeysWorkflow} from "@medusajs/core-flows" import { ContainerRegistrationKeys, remoteQueryObjectFromString, @@ -7,7 +7,7 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "../../../types/routing" -import { AdminCreateApiKeyType } from "./validators" +import {AdminCreateApiKeyType} from "./validators" export const GET = async ( req: AuthenticatedMedusaRequest, @@ -45,15 +45,10 @@ export const POST = async ( }, ] - const { result, errors } = await createApiKeysWorkflow(req.scope).run({ + const { result } = await createApiKeysWorkflow(req.scope).run({ input: { api_keys: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - // We should not refetch the api key here, as we need to show the secret key in the response (and never again) // And the only time we get to see the secret, is when we create it res.status(200).json({ api_key: result[0] }) diff --git a/packages/medusa/src/api/admin/campaigns/[id]/promotions/route.ts b/packages/medusa/src/api/admin/campaigns/[id]/promotions/route.ts index 05cd7251d4..4479322577 100644 --- a/packages/medusa/src/api/admin/campaigns/[id]/promotions/route.ts +++ b/packages/medusa/src/api/admin/campaigns/[id]/promotions/route.ts @@ -13,16 +13,9 @@ export const POST = async ( ) => { const { id } = req.params const { add, remove } = req.validatedBody - const { errors } = await addOrRemoveCampaignPromotionsWorkflow(req.scope).run( - { - input: { id, add, remove }, - throwOnError: false, - } - ) - - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } + await addOrRemoveCampaignPromotionsWorkflow(req.scope).run({ + input: { id, add, remove }, + }) const campaign = await refetchCampaign( req.params.id, diff --git a/packages/medusa/src/api/admin/campaigns/[id]/route.ts b/packages/medusa/src/api/admin/campaigns/[id]/route.ts index 710643fa59..ae4b5bd75b 100644 --- a/packages/medusa/src/api/admin/campaigns/[id]/route.ts +++ b/packages/medusa/src/api/admin/campaigns/[id]/route.ts @@ -43,15 +43,10 @@ export const POST = async ( }, ] - const { errors } = await updateCampaigns.run({ + await updateCampaigns.run({ input: { campaignsData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const campaign = await refetchCampaign( req.params.id, req.scope, @@ -67,15 +62,10 @@ export const DELETE = async ( const id = req.params.id const deleteCampaigns = deleteCampaignsWorkflow(req.scope) - const { errors } = await deleteCampaigns.run({ + await deleteCampaigns.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "campaign", diff --git a/packages/medusa/src/api/admin/campaigns/route.ts b/packages/medusa/src/api/admin/campaigns/route.ts index 7951f0eb02..988b7dacba 100644 --- a/packages/medusa/src/api/admin/campaigns/route.ts +++ b/packages/medusa/src/api/admin/campaigns/route.ts @@ -2,13 +2,13 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "../../../types/routing" -import { createCampaignsWorkflow } from "@medusajs/core-flows" +import {createCampaignsWorkflow} from "@medusajs/core-flows" import { ContainerRegistrationKeys, remoteQueryObjectFromString, } from "@medusajs/utils" -import { AdminCreateCampaignType } from "./validators" -import { refetchCampaign } from "./helpers" +import {AdminCreateCampaignType} from "./validators" +import {refetchCampaign} from "./helpers" export const GET = async ( req: AuthenticatedMedusaRequest, @@ -42,18 +42,13 @@ export const POST = async ( const createCampaigns = createCampaignsWorkflow(req.scope) const campaignsData = [req.validatedBody] - const { result, errors } = await createCampaigns.run({ + const { result } = await createCampaigns.run({ input: { campaignsData }, - throwOnError: false, context: { requestId: req.requestId, }, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const campaign = await refetchCampaign( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/collections/[id]/products/route.ts b/packages/medusa/src/api/admin/collections/[id]/products/route.ts index 92e9fe12e4..96d6ed5316 100644 --- a/packages/medusa/src/api/admin/collections/[id]/products/route.ts +++ b/packages/medusa/src/api/admin/collections/[id]/products/route.ts @@ -14,19 +14,14 @@ export const POST = async ( const { add = [], remove = [] } = req.validatedBody const workflow = batchLinkProductsToCollectionWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { id, add, remove, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const collection = await refetchCollection( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/collections/[id]/route.ts b/packages/medusa/src/api/admin/collections/[id]/route.ts index 61c9480d91..5cbbd3a430 100644 --- a/packages/medusa/src/api/admin/collections/[id]/route.ts +++ b/packages/medusa/src/api/admin/collections/[id]/route.ts @@ -27,18 +27,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await updateCollectionsWorkflow(req.scope).run({ + await updateCollectionsWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const collection = await refetchCollection( req.params.id, req.scope, @@ -54,15 +49,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteCollectionsWorkflow(req.scope).run({ + await deleteCollectionsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "collection", diff --git a/packages/medusa/src/api/admin/collections/route.ts b/packages/medusa/src/api/admin/collections/route.ts index 386b8b2e92..fd4a26f900 100644 --- a/packages/medusa/src/api/admin/collections/route.ts +++ b/packages/medusa/src/api/admin/collections/route.ts @@ -46,15 +46,10 @@ export const POST = async ( }, ] - const { result, errors } = await createCollectionsWorkflow(req.scope).run({ + const { result } = await createCollectionsWorkflow(req.scope).run({ input: { collections: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const collection = await refetchCollection( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/customer-groups/[id]/customers/route.ts b/packages/medusa/src/api/admin/customer-groups/[id]/customers/route.ts index c769339722..64b21a7fac 100644 --- a/packages/medusa/src/api/admin/customer-groups/[id]/customers/route.ts +++ b/packages/medusa/src/api/admin/customer-groups/[id]/customers/route.ts @@ -15,19 +15,14 @@ export const POST = async ( const { add, remove } = req.validatedBody const workflow = linkCustomersToCustomerGroupWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { id, add, remove, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customerGroup = await refetchCustomerGroup( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/customer-groups/[id]/route.ts b/packages/medusa/src/api/admin/customer-groups/[id]/route.ts index 4085d0e865..9c977f6caa 100644 --- a/packages/medusa/src/api/admin/customer-groups/[id]/route.ts +++ b/packages/medusa/src/api/admin/customer-groups/[id]/route.ts @@ -28,18 +28,13 @@ export const POST = async ( res: MedusaResponse ) => { const updateGroups = updateCustomerGroupsWorkflow(req.scope) - const { errors } = await updateGroups.run({ + await updateGroups.run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customerGroup = await refetchCustomerGroup( req.params.id, req.scope, @@ -55,15 +50,10 @@ export const DELETE = async ( const id = req.params.id const deleteCustomerGroups = deleteCustomerGroupsWorkflow(req.scope) - const { errors } = await deleteCustomerGroups.run({ + await deleteCustomerGroups.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "customer_group", diff --git a/packages/medusa/src/api/admin/customer-groups/route.ts b/packages/medusa/src/api/admin/customer-groups/route.ts index 7fc8591e43..2cc21efbb0 100644 --- a/packages/medusa/src/api/admin/customer-groups/route.ts +++ b/packages/medusa/src/api/admin/customer-groups/route.ts @@ -47,15 +47,10 @@ export const POST = async ( }, ] - const { result, errors } = await createGroups.run({ + const { result } = await createGroups.run({ input: { customersData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customerGroup = await refetchCustomerGroup( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/customers/[id]/addresses/[address_id]/route.ts b/packages/medusa/src/api/admin/customers/[id]/addresses/[address_id]/route.ts index 3d731f827e..e15203000d 100644 --- a/packages/medusa/src/api/admin/customers/[id]/addresses/[address_id]/route.ts +++ b/packages/medusa/src/api/admin/customers/[id]/addresses/[address_id]/route.ts @@ -37,18 +37,13 @@ export const POST = async ( res: MedusaResponse ) => { const updateAddresses = updateCustomerAddressesWorkflow(req.scope) - const { errors } = await updateAddresses.run({ + await updateAddresses.run({ input: { selector: { id: req.params.address_id, customer_id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( req.params.id, req.scope, @@ -65,15 +60,10 @@ export const DELETE = async ( const id = req.params.address_id const deleteAddress = deleteCustomerAddressesWorkflow(req.scope) - const { errors } = await deleteAddress.run({ + await deleteAddress.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/customers/[id]/addresses/route.ts b/packages/medusa/src/api/admin/customers/[id]/addresses/route.ts index dc3332490e..2038b91115 100644 --- a/packages/medusa/src/api/admin/customers/[id]/addresses/route.ts +++ b/packages/medusa/src/api/admin/customers/[id]/addresses/route.ts @@ -49,15 +49,10 @@ export const POST = async ( }, ] - const { errors } = await createAddresses.run({ + await createAddresses.run({ input: { addresses }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( customerId, req.scope, diff --git a/packages/medusa/src/api/admin/customers/[id]/route.ts b/packages/medusa/src/api/admin/customers/[id]/route.ts index 937a94aa5f..9a117857d5 100644 --- a/packages/medusa/src/api/admin/customers/[id]/route.ts +++ b/packages/medusa/src/api/admin/customers/[id]/route.ts @@ -35,18 +35,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse<{ customer: AdminCustomer }> ) => { - const { errors } = await updateCustomersWorkflow(req.scope).run({ + await updateCustomersWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( req.params.id, req.scope, @@ -62,15 +57,10 @@ export const DELETE = async ( const id = req.params.id const deleteCustomers = deleteCustomersWorkflow(req.scope) - const { errors } = await deleteCustomers.run({ + await deleteCustomers.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "customer", diff --git a/packages/medusa/src/api/admin/customers/route.ts b/packages/medusa/src/api/admin/customers/route.ts index f8c85c7204..5fb4af733d 100644 --- a/packages/medusa/src/api/admin/customers/route.ts +++ b/packages/medusa/src/api/admin/customers/route.ts @@ -50,15 +50,10 @@ export const POST = async ( }, ] - const { result, errors } = await createCustomers.run({ + const { result } = await createCustomers.run({ input: { customersData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/draft-orders/route.ts b/packages/medusa/src/api/admin/draft-orders/route.ts index 691cceaf15..6a459200bf 100644 --- a/packages/medusa/src/api/admin/draft-orders/route.ts +++ b/packages/medusa/src/api/admin/draft-orders/route.ts @@ -76,15 +76,10 @@ export const POST = async ( input.email = customer?.email } - const { result, errors } = await createOrdersWorkflow(req.scope).run({ + const { result } = await createOrdersWorkflow(req.scope).run({ input: workflowInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const draftOrder = await refetchOrder( result.id, req.scope, diff --git a/packages/medusa/src/api/admin/fulfillment-sets/[id]/route.ts b/packages/medusa/src/api/admin/fulfillment-sets/[id]/route.ts index c722b0f4b0..4dbfb951df 100644 --- a/packages/medusa/src/api/admin/fulfillment-sets/[id]/route.ts +++ b/packages/medusa/src/api/admin/fulfillment-sets/[id]/route.ts @@ -12,15 +12,10 @@ export const DELETE = async ( ) => { const { id } = req.params - const { errors } = await deleteFulfillmentSetsWorkflow(req.scope).run({ + await deleteFulfillmentSetsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "fulfillment_set", diff --git a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts index 2bdd6df476..dcdadaed2a 100644 --- a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts +++ b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/[zone_id]/route.ts @@ -75,15 +75,10 @@ export const POST = async ( update: req.validatedBody, } - const { errors } = await updateServiceZonesWorkflow(req.scope).run({ + await updateServiceZonesWorkflow(req.scope).run({ input: workflowInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const [fulfillment_set] = await remoteQuery( remoteQueryObjectFromString({ entryPoint: "fulfillment_sets", @@ -119,15 +114,10 @@ export const DELETE = async ( ) } - const { errors } = await deleteServiceZonesWorkflow(req.scope).run({ + await deleteServiceZonesWorkflow(req.scope).run({ input: { ids: [zone_id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id: zone_id, object: "service-zone", diff --git a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts index 059e499f23..b40735b9e2 100644 --- a/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts +++ b/packages/medusa/src/api/admin/fulfillment-sets/[id]/service-zones/route.ts @@ -17,15 +17,10 @@ export const POST = async ( ], } - const { errors } = await createServiceZonesWorkflow(req.scope).run({ + await createServiceZonesWorkflow(req.scope).run({ input: workflowInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const fulfillmentSet = await refetchFulfillmentSet( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts b/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts index 0de2fd96b1..686519c856 100644 --- a/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts +++ b/packages/medusa/src/api/admin/fulfillments/[id]/cancel/route.ts @@ -11,15 +11,10 @@ export const POST = async ( res: MedusaResponse ) => { const { id } = req.params - const { errors } = await cancelFulfillmentWorkflow(req.scope).run({ + await cancelFulfillmentWorkflow(req.scope).run({ input: { id }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const fulfillment = await refetchFulfillment( id, req.scope, diff --git a/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts b/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts index 6917eef5bb..7d98ad8758 100644 --- a/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts +++ b/packages/medusa/src/api/admin/fulfillments/[id]/shipment/route.ts @@ -12,15 +12,10 @@ export const POST = async ( ) => { const { id } = req.params - const { errors } = await createShipmentWorkflow(req.scope).run({ + await createShipmentWorkflow(req.scope).run({ input: { id, ...req.validatedBody }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const fulfillment = await refetchFulfillment( id, req.scope, diff --git a/packages/medusa/src/api/admin/fulfillments/route.ts b/packages/medusa/src/api/admin/fulfillments/route.ts index 78c2f3f3bd..be3e8dbe64 100644 --- a/packages/medusa/src/api/admin/fulfillments/route.ts +++ b/packages/medusa/src/api/admin/fulfillments/route.ts @@ -10,17 +10,12 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result: fullfillment, errors } = await createFulfillmentWorkflow( + const { result: fullfillment } = await createFulfillmentWorkflow( req.scope ).run({ input: req.validatedBody, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const fulfillment = await refetchFulfillment( fullfillment.id, req.scope, diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts index e49b13cb52..4ac69c99be 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/[location_id]/route.ts @@ -64,17 +64,12 @@ export const POST = async ( res: MedusaResponse ) => { const { id, location_id } = req.params - const { errors } = await updateInventoryLevelsWorkflow(req.scope).run({ + await updateInventoryLevelsWorkflow(req.scope).run({ input: { updates: [{ ...req.validatedBody, inventory_item_id: id, location_id }], }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const inventoryItem = await refetchInventoryItem( id, req.scope, diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts index 5cde87d9ad..8a16087b9b 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/batch/route.ts @@ -20,7 +20,7 @@ export const POST = async ( // TODO: Normalize workflow and response, and add support for updates const workflow = bulkCreateDeleteLevelsWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { deletes: req.validatedBody.delete?.map((location_id) => ({ @@ -33,12 +33,7 @@ export const POST = async ( inventory_item_id: id, })) ?? [], }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ inventory_item: {} }) } diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts index da863f663a..b96436ba9d 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/location-levels/route.ts @@ -18,7 +18,7 @@ export const POST = async ( const { id } = req.params const workflow = createInventoryLevelsWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { inventory_levels: [ { @@ -27,13 +27,8 @@ export const POST = async ( }, ], }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const inventoryItem = await refetchInventoryItem( id, req.scope, diff --git a/packages/medusa/src/api/admin/inventory-items/[id]/route.ts b/packages/medusa/src/api/admin/inventory-items/[id]/route.ts index e18ad6aad1..b2d216a30a 100644 --- a/packages/medusa/src/api/admin/inventory-items/[id]/route.ts +++ b/packages/medusa/src/api/admin/inventory-items/[id]/route.ts @@ -60,15 +60,10 @@ export const DELETE = async (req: MedusaRequest, res: MedusaResponse) => { const id = req.params.id const deleteInventoryItems = deleteInventoryItemWorkflow(req.scope) - const { errors } = await deleteInventoryItems.run({ + await deleteInventoryItems.run({ input: [id], - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "inventory_item", diff --git a/packages/medusa/src/api/admin/invites/[id]/route.ts b/packages/medusa/src/api/admin/invites/[id]/route.ts index e21975ca97..66846b6836 100644 --- a/packages/medusa/src/api/admin/invites/[id]/route.ts +++ b/packages/medusa/src/api/admin/invites/[id]/route.ts @@ -35,15 +35,10 @@ export const DELETE = async ( const { id } = req.params const workflow = deleteInvitesWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "invite", diff --git a/packages/medusa/src/api/admin/invites/route.ts b/packages/medusa/src/api/admin/invites/route.ts index aa8399a3ba..e6c70bba02 100644 --- a/packages/medusa/src/api/admin/invites/route.ts +++ b/packages/medusa/src/api/admin/invites/route.ts @@ -45,14 +45,9 @@ export const POST = async ( input: { invites: [req.validatedBody], }, - throwOnError: false, } - const { result, errors } = await workflow.run(input) - - if (errors?.length) { - throw errors[0].error - } + const { result } = await workflow.run(input) const invite = await refetchInvite( result[0].id, diff --git a/packages/medusa/src/api/admin/orders/[id]/archive/route.ts b/packages/medusa/src/api/admin/orders/[id]/archive/route.ts index 25ae624645..606b0f8720 100644 --- a/packages/medusa/src/api/admin/orders/[id]/archive/route.ts +++ b/packages/medusa/src/api/admin/orders/[id]/archive/route.ts @@ -13,15 +13,10 @@ export const POST = async ( const remoteQuery = req.scope.resolve("remoteQuery") const { id } = req.params - const { errors } = await archiveOrderWorkflow(req.scope).run({ + await archiveOrderWorkflow(req.scope).run({ input: { orderIds: [req.validatedBody.order_id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const queryObject = remoteQueryObjectFromString({ entryPoint: "order", variables: { id }, diff --git a/packages/medusa/src/api/admin/orders/[id]/complete/route.ts b/packages/medusa/src/api/admin/orders/[id]/complete/route.ts index 9f58e05542..8c5cb1dcaf 100644 --- a/packages/medusa/src/api/admin/orders/[id]/complete/route.ts +++ b/packages/medusa/src/api/admin/orders/[id]/complete/route.ts @@ -13,15 +13,10 @@ export const POST = async ( const remoteQuery = req.scope.resolve("remoteQuery") const { id } = req.params - const { errors } = await completeOrderWorkflow(req.scope).run({ + await completeOrderWorkflow(req.scope).run({ input: { orderIds: [req.validatedBody.order_id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const queryObject = remoteQueryObjectFromString({ entryPoint: "order", variables: { id }, diff --git a/packages/medusa/src/api/admin/payments/[id]/capture/route.ts b/packages/medusa/src/api/admin/payments/[id]/capture/route.ts index 4802f18edc..f8ed45c2b4 100644 --- a/packages/medusa/src/api/admin/payments/[id]/capture/route.ts +++ b/packages/medusa/src/api/admin/payments/[id]/capture/route.ts @@ -12,19 +12,14 @@ export const POST = async ( ) => { const { id } = req.params - const { errors } = await capturePaymentWorkflow(req.scope).run({ + await capturePaymentWorkflow(req.scope).run({ input: { payment_id: id, captured_by: req.auth_context.actor_id, amount: req.validatedBody.amount, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const payment = await refetchPayment( id, req.scope, diff --git a/packages/medusa/src/api/admin/payments/[id]/refund/route.ts b/packages/medusa/src/api/admin/payments/[id]/refund/route.ts index a627f9b252..8dfa60d83e 100644 --- a/packages/medusa/src/api/admin/payments/[id]/refund/route.ts +++ b/packages/medusa/src/api/admin/payments/[id]/refund/route.ts @@ -11,19 +11,14 @@ export const POST = async ( res: MedusaResponse ) => { const { id } = req.params - const { errors } = await refundPaymentWorkflow(req.scope).run({ + await refundPaymentWorkflow(req.scope).run({ input: { payment_id: id, created_by: req.auth_context.actor_id, amount: req.validatedBody.amount, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const payment = await refetchPayment( id, req.scope, diff --git a/packages/medusa/src/api/admin/price-lists/[id]/prices/batch/route.ts b/packages/medusa/src/api/admin/price-lists/[id]/prices/batch/route.ts index 3d9be66ddc..7b31cf5e65 100644 --- a/packages/medusa/src/api/admin/price-lists/[id]/prices/batch/route.ts +++ b/packages/medusa/src/api/admin/price-lists/[id]/prices/batch/route.ts @@ -29,7 +29,7 @@ export const POST = async ( } = req.validatedBody const workflow = batchPriceListPricesWorkflow(req.scope) - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input: { data: { id, @@ -38,13 +38,8 @@ export const POST = async ( delete: deletePriceIds, }, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const [created, updated] = await promiseAll([ listPrices( result.created.map((c) => c.id), diff --git a/packages/medusa/src/api/admin/price-lists/[id]/products/route.ts b/packages/medusa/src/api/admin/price-lists/[id]/products/route.ts index 0e453bc716..a9efbc1bf5 100644 --- a/packages/medusa/src/api/admin/price-lists/[id]/products/route.ts +++ b/packages/medusa/src/api/admin/price-lists/[id]/products/route.ts @@ -34,7 +34,7 @@ export const POST = async ( ) const workflow = batchPriceListPricesWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { data: { id, @@ -43,13 +43,8 @@ export const POST = async ( delete: productPriceIds, }, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const priceList = await fetchPriceList( id, req.scope, diff --git a/packages/medusa/src/api/admin/price-lists/[id]/route.ts b/packages/medusa/src/api/admin/price-lists/[id]/route.ts index b9bc841eae..04b4e13281 100644 --- a/packages/medusa/src/api/admin/price-lists/[id]/route.ts +++ b/packages/medusa/src/api/admin/price-lists/[id]/route.ts @@ -29,15 +29,10 @@ export const POST = async ( const id = req.params.id const workflow = updatePriceListsWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { price_lists_data: [{ ...req.validatedBody, id }] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const price_list = await fetchPriceList( id, req.scope, @@ -54,15 +49,10 @@ export const DELETE = async ( const id = req.params.id const workflow = deletePriceListsWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "price_list", diff --git a/packages/medusa/src/api/admin/price-lists/route.ts b/packages/medusa/src/api/admin/price-lists/route.ts index fc7024a738..26c8cf3fc8 100644 --- a/packages/medusa/src/api/admin/price-lists/route.ts +++ b/packages/medusa/src/api/admin/price-lists/route.ts @@ -40,15 +40,10 @@ export const POST = async ( res: MedusaResponse ) => { const workflow = createPriceListsWorkflow(req.scope) - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input: { price_lists_data: [req.validatedBody] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const price_list = await fetchPriceList( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/pricing/rule-types/[id]/route.ts b/packages/medusa/src/api/admin/pricing/rule-types/[id]/route.ts index 55c4fe5350..914ef8592d 100644 --- a/packages/medusa/src/api/admin/pricing/rule-types/[id]/route.ts +++ b/packages/medusa/src/api/admin/pricing/rule-types/[id]/route.ts @@ -38,17 +38,12 @@ export const POST = async ( res: MedusaResponse ) => { const workflow = updatePricingRuleTypesWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { data: [{ ...req.validatedBody, id: req.params.id }], }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const ruleType = await refetchRuleType( req.params.id, req.scope, @@ -67,15 +62,10 @@ export const DELETE = async ( const id = req.params.id const workflow = deletePricingRuleTypesWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "rule_type", diff --git a/packages/medusa/src/api/admin/pricing/rule-types/route.ts b/packages/medusa/src/api/admin/pricing/rule-types/route.ts index a4060a99cd..be5498bbb7 100644 --- a/packages/medusa/src/api/admin/pricing/rule-types/route.ts +++ b/packages/medusa/src/api/admin/pricing/rule-types/route.ts @@ -44,15 +44,10 @@ export const POST = async ( const workflow = createPricingRuleTypesWorkflow(req.scope) const ruleTypesData = [req.validatedBody] - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input: { data: ruleTypesData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const ruleType = await refetchRuleType( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/product-categories/[id]/products/route.ts b/packages/medusa/src/api/admin/product-categories/[id]/products/route.ts index f39e2fe00c..f27719463e 100644 --- a/packages/medusa/src/api/admin/product-categories/[id]/products/route.ts +++ b/packages/medusa/src/api/admin/product-categories/[id]/products/route.ts @@ -15,15 +15,10 @@ export const POST = async ( ) => { const { id } = req.params - const { errors } = await batchLinkProductsToCategoryWorkflow(req.scope).run({ + await batchLinkProductsToCategoryWorkflow(req.scope).run({ input: { id, ...req.validatedBody }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const category = await refetchEntity( "product_category", id, diff --git a/packages/medusa/src/api/admin/product-categories/[id]/route.ts b/packages/medusa/src/api/admin/product-categories/[id]/route.ts index 8473e13649..f374dcefee 100644 --- a/packages/medusa/src/api/admin/product-categories/[id]/route.ts +++ b/packages/medusa/src/api/admin/product-categories/[id]/route.ts @@ -31,15 +31,10 @@ export const POST = async ( const { id } = req.params // TODO: Should be converted to bulk update - const { errors } = await updateProductCategoryWorkflow(req.scope).run({ + await updateProductCategoryWorkflow(req.scope).run({ input: { id, data: req.validatedBody }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const [category] = await refetchEntities( "product_category", { id, ...req.filterableFields }, diff --git a/packages/medusa/src/api/admin/product-categories/route.ts b/packages/medusa/src/api/admin/product-categories/route.ts index 0c73e1b39c..a5c15a3415 100644 --- a/packages/medusa/src/api/admin/product-categories/route.ts +++ b/packages/medusa/src/api/admin/product-categories/route.ts @@ -37,16 +37,9 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await createProductCategoryWorkflow(req.scope).run( - { - input: { product_category: req.validatedBody }, - throwOnError: false, - } - ) - - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } + const { result } = await createProductCategoryWorkflow(req.scope).run({ + input: { product_category: req.validatedBody }, + }) const [category] = await refetchEntities( "product_category", diff --git a/packages/medusa/src/api/admin/product-types/[id]/route.ts b/packages/medusa/src/api/admin/product-types/[id]/route.ts index c33c43489e..33cac51338 100644 --- a/packages/medusa/src/api/admin/product-types/[id]/route.ts +++ b/packages/medusa/src/api/admin/product-types/[id]/route.ts @@ -30,18 +30,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await updateProductTypesWorkflow(req.scope).run({ + const { result } = await updateProductTypesWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const productType = await refetchProductType( result[0].id, req.scope, @@ -57,15 +52,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteProductTypesWorkflow(req.scope).run({ + await deleteProductTypesWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "product_type", diff --git a/packages/medusa/src/api/admin/product-types/route.ts b/packages/medusa/src/api/admin/product-types/route.ts index 2b2bbd7d05..2929738639 100644 --- a/packages/medusa/src/api/admin/product-types/route.ts +++ b/packages/medusa/src/api/admin/product-types/route.ts @@ -44,15 +44,10 @@ export const POST = async ( ) => { const input = [req.validatedBody] - const { result, errors } = await createProductTypesWorkflow(req.scope).run({ + const { result } = await createProductTypesWorkflow(req.scope).run({ input: { product_types: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const productType = await refetchProductType( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/products/[id]/options/[option_id]/route.ts b/packages/medusa/src/api/admin/products/[id]/options/[option_id]/route.ts index 3fe078fe39..efddb3d562 100644 --- a/packages/medusa/src/api/admin/products/[id]/options/[option_id]/route.ts +++ b/packages/medusa/src/api/admin/products/[id]/options/[option_id]/route.ts @@ -42,18 +42,13 @@ export const POST = async ( const productId = req.params.id const optionId = req.params.option_id - const { errors } = await updateProductOptionsWorkflow(req.scope).run({ + await updateProductOptionsWorkflow(req.scope).run({ input: { selector: { id: optionId, product_id: productId }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( productId, req.scope, @@ -70,15 +65,10 @@ export const DELETE = async ( const optionId = req.params.option_id // TODO: I believe here we cannot even enforce the product ID based on the standard API we provide? - const { errors } = await deleteProductOptionsWorkflow(req.scope).run({ + await deleteProductOptionsWorkflow(req.scope).run({ input: { ids: [optionId] /* product_id: productId */ }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( productId, req.scope, diff --git a/packages/medusa/src/api/admin/products/[id]/options/route.ts b/packages/medusa/src/api/admin/products/[id]/options/route.ts index caa0379476..fe14beb844 100644 --- a/packages/medusa/src/api/admin/products/[id]/options/route.ts +++ b/packages/medusa/src/api/admin/products/[id]/options/route.ts @@ -51,15 +51,10 @@ export const POST = async ( }, ] - const { errors } = await createProductOptionsWorkflow(req.scope).run({ + await createProductOptionsWorkflow(req.scope).run({ input: { product_options: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( productId, req.scope, diff --git a/packages/medusa/src/api/admin/products/[id]/route.ts b/packages/medusa/src/api/admin/products/[id]/route.ts index eb77a18e5b..96221e7409 100644 --- a/packages/medusa/src/api/admin/products/[id]/route.ts +++ b/packages/medusa/src/api/admin/products/[id]/route.ts @@ -43,18 +43,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await updateProductsWorkflow(req.scope).run({ + const { result } = await updateProductsWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody as UpdateProductDTO, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( result[0].id, req.scope, @@ -69,15 +64,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteProductsWorkflow(req.scope).run({ + await deleteProductsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "product", diff --git a/packages/medusa/src/api/admin/products/[id]/variants/[variant_id]/route.ts b/packages/medusa/src/api/admin/products/[id]/variants/[variant_id]/route.ts index bd47f746cf..b6bb2cefd4 100644 --- a/packages/medusa/src/api/admin/products/[id]/variants/[variant_id]/route.ts +++ b/packages/medusa/src/api/admin/products/[id]/variants/[variant_id]/route.ts @@ -49,18 +49,13 @@ export const POST = async ( const productId = req.params.id const variantId = req.params.variant_id - const { errors } = await updateProductVariantsWorkflow(req.scope).run({ + await updateProductVariantsWorkflow(req.scope).run({ input: { selector: { id: variantId, product_id: productId }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( productId, req.scope, @@ -78,15 +73,10 @@ export const DELETE = async ( const variantId = req.params.variant_id // TODO: I believe here we cannot even enforce the product ID based on the standard API we provide? - const { errors } = await deleteProductVariantsWorkflow(req.scope).run({ + await deleteProductVariantsWorkflow(req.scope).run({ input: { ids: [variantId] /* product_id: productId */ }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( productId, req.scope, diff --git a/packages/medusa/src/api/admin/products/[id]/variants/batch/route.ts b/packages/medusa/src/api/admin/products/[id]/variants/batch/route.ts index 2e9de2391d..533c3a06b9 100644 --- a/packages/medusa/src/api/admin/products/[id]/variants/batch/route.ts +++ b/packages/medusa/src/api/admin/products/[id]/variants/batch/route.ts @@ -34,15 +34,10 @@ export const POST = async ( // TODO: Fix types } as any - const { result, errors } = await batchProductVariantsWorkflow(req.scope).run({ + const { result } = await batchProductVariantsWorkflow(req.scope).run({ input: normalizedInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const batchResults = await refetchBatchVariants( result, req.scope, diff --git a/packages/medusa/src/api/admin/products/[id]/variants/route.ts b/packages/medusa/src/api/admin/products/[id]/variants/route.ts index 22cb9f88a6..a2ebcca8ce 100644 --- a/packages/medusa/src/api/admin/products/[id]/variants/route.ts +++ b/packages/medusa/src/api/admin/products/[id]/variants/route.ts @@ -56,15 +56,10 @@ export const POST = async ( }, ] - const { errors } = await createProductVariantsWorkflow(req.scope).run({ + await createProductVariantsWorkflow(req.scope).run({ input: { product_variants: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( productId, req.scope, diff --git a/packages/medusa/src/api/admin/products/batch/route.ts b/packages/medusa/src/api/admin/products/batch/route.ts index 51a56ddbd7..2bf91d92b6 100644 --- a/packages/medusa/src/api/admin/products/batch/route.ts +++ b/packages/medusa/src/api/admin/products/batch/route.ts @@ -19,15 +19,10 @@ export const POST = async ( // TODO: Fix types const input = req.validatedBody as any - const { result, errors } = await batchProductsWorkflow(req.scope).run({ + const { result } = await batchProductsWorkflow(req.scope).run({ input, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const batchResults = await refetchBatchProducts( result, req.scope, diff --git a/packages/medusa/src/api/admin/products/route.ts b/packages/medusa/src/api/admin/products/route.ts index 50162ef1c0..ea533156c0 100644 --- a/packages/medusa/src/api/admin/products/route.ts +++ b/packages/medusa/src/api/admin/products/route.ts @@ -50,15 +50,10 @@ export const POST = async ( ) => { const input = [req.validatedBody as CreateProductDTO] - const { result, errors } = await createProductsWorkflow(req.scope).run({ + const { result } = await createProductsWorkflow(req.scope).run({ input: { products: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const product = await refetchProduct( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/promotions/[id]/buy-rules/batch/route.ts b/packages/medusa/src/api/admin/promotions/[id]/buy-rules/batch/route.ts index 5eacd49848..49396be58f 100644 --- a/packages/medusa/src/api/admin/promotions/[id]/buy-rules/batch/route.ts +++ b/packages/medusa/src/api/admin/promotions/[id]/buy-rules/batch/route.ts @@ -21,7 +21,7 @@ export const POST = async ( res: MedusaResponse ) => { const id = req.params.id - const { result, errors } = await batchPromotionRulesWorkflow(req.scope).run({ + const { result } = await batchPromotionRulesWorkflow(req.scope).run({ input: { id, rule_type: RuleType.BUY_RULES, @@ -29,13 +29,8 @@ export const POST = async ( update: req.validatedBody.update, delete: req.validatedBody.delete, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const batchResults = await refetchBatchRules( result, req.scope, diff --git a/packages/medusa/src/api/admin/promotions/[id]/route.ts b/packages/medusa/src/api/admin/promotions/[id]/route.ts index ce43f63c5d..12badbee95 100644 --- a/packages/medusa/src/api/admin/promotions/[id]/route.ts +++ b/packages/medusa/src/api/admin/promotions/[id]/route.ts @@ -54,15 +54,10 @@ export const POST = async ( } as any, ] - const { errors } = await updatePromotions.run({ + await updatePromotions.run({ input: { promotionsData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const promotion = await refetchPromotion( req.params.id, req.scope, @@ -79,15 +74,10 @@ export const DELETE = async ( const id = req.params.id const deletePromotions = deletePromotionsWorkflow(req.scope) - const { errors } = await deletePromotions.run({ + await deletePromotions.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "promotion", diff --git a/packages/medusa/src/api/admin/promotions/[id]/rules/batch/route.ts b/packages/medusa/src/api/admin/promotions/[id]/rules/batch/route.ts index 5b043fb392..d93fdc0951 100644 --- a/packages/medusa/src/api/admin/promotions/[id]/rules/batch/route.ts +++ b/packages/medusa/src/api/admin/promotions/[id]/rules/batch/route.ts @@ -21,7 +21,7 @@ export const POST = async ( res: MedusaResponse ) => { const id = req.params.id - const { result, errors } = await batchPromotionRulesWorkflow(req.scope).run({ + const { result } = await batchPromotionRulesWorkflow(req.scope).run({ input: { id, rule_type: RuleType.RULES, @@ -29,13 +29,8 @@ export const POST = async ( update: req.validatedBody.update, delete: req.validatedBody.delete, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const batchResults = await refetchBatchRules( result, req.scope, diff --git a/packages/medusa/src/api/admin/promotions/[id]/target-rules/batch/route.ts b/packages/medusa/src/api/admin/promotions/[id]/target-rules/batch/route.ts index ba72354838..e5f84e6035 100644 --- a/packages/medusa/src/api/admin/promotions/[id]/target-rules/batch/route.ts +++ b/packages/medusa/src/api/admin/promotions/[id]/target-rules/batch/route.ts @@ -21,7 +21,7 @@ export const POST = async ( res: MedusaResponse ) => { const id = req.params.id - const { result, errors } = await batchPromotionRulesWorkflow(req.scope).run({ + const { result } = await batchPromotionRulesWorkflow(req.scope).run({ input: { id, rule_type: RuleType.TARGET_RULES, @@ -29,13 +29,8 @@ export const POST = async ( update: req.validatedBody.update, delete: req.validatedBody.delete, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const batchResults = await refetchBatchRules( result, req.scope, diff --git a/packages/medusa/src/api/admin/promotions/route.ts b/packages/medusa/src/api/admin/promotions/route.ts index e9731503a5..95e20da979 100644 --- a/packages/medusa/src/api/admin/promotions/route.ts +++ b/packages/medusa/src/api/admin/promotions/route.ts @@ -45,15 +45,10 @@ export const POST = async ( const createPromotions = createPromotionsWorkflow(req.scope) const promotionsData = [req.validatedBody] as any - const { result, errors } = await createPromotions.run({ + const { result } = await createPromotions.run({ input: { promotionsData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const promotion = await refetchPromotion( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/regions/[id]/route.ts b/packages/medusa/src/api/admin/regions/[id]/route.ts index b3eba2f69a..4342f8f1e9 100644 --- a/packages/medusa/src/api/admin/regions/[id]/route.ts +++ b/packages/medusa/src/api/admin/regions/[id]/route.ts @@ -25,18 +25,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await updateRegionsWorkflow(req.scope).run({ + const { result } = await updateRegionsWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const region = await refetchRegion( result[0].id, req.scope, @@ -52,15 +47,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteRegionsWorkflow(req.scope).run({ + await deleteRegionsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "region", diff --git a/packages/medusa/src/api/admin/regions/route.ts b/packages/medusa/src/api/admin/regions/route.ts index d7be4022f8..53407c1aa1 100644 --- a/packages/medusa/src/api/admin/regions/route.ts +++ b/packages/medusa/src/api/admin/regions/route.ts @@ -41,15 +41,10 @@ export const POST = async ( ) => { const input = [req.validatedBody] - const { result, errors } = await createRegionsWorkflow(req.scope).run({ + const { result } = await createRegionsWorkflow(req.scope).run({ input: { regions: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const region = await refetchRegion( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/reservations/[id]/route.ts b/packages/medusa/src/api/admin/reservations/[id]/route.ts index d0c1bf4f16..afbecd3154 100644 --- a/packages/medusa/src/api/admin/reservations/[id]/route.ts +++ b/packages/medusa/src/api/admin/reservations/[id]/route.ts @@ -38,17 +38,12 @@ export const POST = async ( res: MedusaResponse ) => { const { id } = req.params - const { errors } = await updateReservationsWorkflow(req.scope).run({ + await updateReservationsWorkflow(req.scope).run({ input: { updates: [{ ...req.validatedBody, id }], }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const reservation = await refetchReservation( id, req.scope, @@ -63,15 +58,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteReservationsWorkflow(req.scope).run({ + await deleteReservationsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "reservation", diff --git a/packages/medusa/src/api/admin/reservations/route.ts b/packages/medusa/src/api/admin/reservations/route.ts index 5b7319d80a..74cb1a01d1 100644 --- a/packages/medusa/src/api/admin/reservations/route.ts +++ b/packages/medusa/src/api/admin/reservations/route.ts @@ -45,15 +45,10 @@ export const POST = async ( ) => { const input = [req.validatedBody] - const { result, errors } = await createReservationsWorkflow(req.scope).run({ + const { result } = await createReservationsWorkflow(req.scope).run({ input: { reservations: input }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const reservation = await refetchReservation( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/return-reasons/[id]/route.ts b/packages/medusa/src/api/admin/return-reasons/[id]/route.ts index 779a4fbab3..e8be4d7713 100644 --- a/packages/medusa/src/api/admin/return-reasons/[id]/route.ts +++ b/packages/medusa/src/api/admin/return-reasons/[id]/route.ts @@ -43,11 +43,7 @@ export const POST = async ( update: req.validatedBody, } - const { result, errors } = await workflow.run({ input }) - - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } + const { result } = await workflow.run({ input }) const variables = { id: result[0].id } diff --git a/packages/medusa/src/api/admin/return-reasons/route.ts b/packages/medusa/src/api/admin/return-reasons/route.ts index 502a3ceafd..497c537043 100644 --- a/packages/medusa/src/api/admin/return-reasons/route.ts +++ b/packages/medusa/src/api/admin/return-reasons/route.ts @@ -50,11 +50,7 @@ export const POST = async ( ], } - const { result, errors } = await workflow.run({ input }) - - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } + const { result } = await workflow.run({ input }) const variables = { id: result[0].id } diff --git a/packages/medusa/src/api/admin/returns/route.ts b/packages/medusa/src/api/admin/returns/route.ts index 6fdcd14314..3928352114 100644 --- a/packages/medusa/src/api/admin/returns/route.ts +++ b/packages/medusa/src/api/admin/returns/route.ts @@ -1,4 +1,4 @@ -import { createReturnOrderWorkflow } from "@medusajs/core-flows" +import {createReturnOrderWorkflow} from "@medusajs/core-flows" import { ContainerRegistrationKeys, remoteQueryObjectFromString, @@ -7,7 +7,7 @@ import { AuthenticatedMedusaRequest, MedusaResponse, } from "../../../types/routing" -import { AdminPostReturnsReqSchemaType } from "./validators" +import {AdminPostReturnsReqSchemaType} from "./validators" export const GET = async ( req: AuthenticatedMedusaRequest, @@ -43,14 +43,9 @@ export const POST = async ( const input = req.validatedBody as AdminPostReturnsReqSchemaType const workflow = createReturnOrderWorkflow(req.scope) - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ return: result }) } diff --git a/packages/medusa/src/api/admin/sales-channels/[id]/products/route.ts b/packages/medusa/src/api/admin/sales-channels/[id]/products/route.ts index ff142c0a3b..83e928b828 100644 --- a/packages/medusa/src/api/admin/sales-channels/[id]/products/route.ts +++ b/packages/medusa/src/api/admin/sales-channels/[id]/products/route.ts @@ -15,19 +15,14 @@ export const POST = async ( const { add, remove } = req.validatedBody const workflow = linkProductsToSalesChannelWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { id, add, remove, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const salesChannel = await refetchSalesChannel( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/sales-channels/[id]/route.ts b/packages/medusa/src/api/admin/sales-channels/[id]/route.ts index 898e2ccfa4..534ee322af 100644 --- a/packages/medusa/src/api/admin/sales-channels/[id]/route.ts +++ b/packages/medusa/src/api/admin/sales-channels/[id]/route.ts @@ -29,18 +29,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await updateSalesChannelsWorkflow(req.scope).run({ + await updateSalesChannelsWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const salesChannel = await refetchSalesChannel( req.params.id, req.scope, @@ -55,15 +50,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteSalesChannelsWorkflow(req.scope).run({ + await deleteSalesChannelsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "sales-channel", diff --git a/packages/medusa/src/api/admin/sales-channels/route.ts b/packages/medusa/src/api/admin/sales-channels/route.ts index bbd8bd02f5..74c8fe79bc 100644 --- a/packages/medusa/src/api/admin/sales-channels/route.ts +++ b/packages/medusa/src/api/admin/sales-channels/route.ts @@ -44,15 +44,10 @@ export const POST = async ( ) => { const salesChannelsData = [req.validatedBody] - const { errors, result } = await createSalesChannelsWorkflow(req.scope).run({ + const { result } = await createSalesChannelsWorkflow(req.scope).run({ input: { salesChannelsData }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const salesChannel = await refetchSalesChannel( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/shipping-options/[id]/route.ts b/packages/medusa/src/api/admin/shipping-options/[id]/route.ts index 8dbcf951b2..509e99cbc6 100644 --- a/packages/medusa/src/api/admin/shipping-options/[id]/route.ts +++ b/packages/medusa/src/api/admin/shipping-options/[id]/route.ts @@ -28,15 +28,10 @@ export const POST = async ( ...shippingOptionPayload, } - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input: [workflowInput], - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const shippingOption = await refetchShippingOption( result[0].id, req.scope, @@ -54,15 +49,10 @@ export const DELETE = async ( const workflow = deleteShippingOptionsWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { ids: [shippingOptionId] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res .status(200) .json({ id: shippingOptionId, object: "shipping_option", deleted: true }) diff --git a/packages/medusa/src/api/admin/shipping-options/[id]/rules/batch/route.ts b/packages/medusa/src/api/admin/shipping-options/[id]/rules/batch/route.ts index 7df7349f8e..e6e3b716f0 100644 --- a/packages/medusa/src/api/admin/shipping-options/[id]/rules/batch/route.ts +++ b/packages/medusa/src/api/admin/shipping-options/[id]/rules/batch/route.ts @@ -20,9 +20,7 @@ export const POST = async ( res: MedusaResponse ) => { const id = req.params.id - const { result, errors } = await batchShippingOptionRulesWorkflow( - req.scope - ).run({ + const { result } = await batchShippingOptionRulesWorkflow(req.scope).run({ input: { create: req.validatedBody.create?.map((c) => ({ ...c, @@ -31,13 +29,8 @@ export const POST = async ( update: req.validatedBody.update, delete: req.validatedBody.delete, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const batchResults = await refetchBatchRules( result, req.scope, diff --git a/packages/medusa/src/api/admin/shipping-options/route.ts b/packages/medusa/src/api/admin/shipping-options/route.ts index ffe096bb4e..9a67fcb6d4 100644 --- a/packages/medusa/src/api/admin/shipping-options/route.ts +++ b/packages/medusa/src/api/admin/shipping-options/route.ts @@ -50,15 +50,10 @@ export const POST = async ( const workflow = createShippingOptionsWorkflow(req.scope) - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input: [shippingOptionPayload], - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const shippingOption = await refetchShippingOption( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/shipping-profiles/[id]/route.ts b/packages/medusa/src/api/admin/shipping-profiles/[id]/route.ts index 2948becaa5..06d0a883fa 100644 --- a/packages/medusa/src/api/admin/shipping-profiles/[id]/route.ts +++ b/packages/medusa/src/api/admin/shipping-profiles/[id]/route.ts @@ -38,15 +38,10 @@ export const DELETE = async ( // Test if exists await fulfillmentModuleService.retrieveShippingProfile(id) - const { errors } = await deleteShippingProfileWorkflow(req.scope).run({ + await deleteShippingProfileWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "shipping_profile", diff --git a/packages/medusa/src/api/admin/shipping-profiles/route.ts b/packages/medusa/src/api/admin/shipping-profiles/route.ts index a37f8526ca..d562533eff 100644 --- a/packages/medusa/src/api/admin/shipping-profiles/route.ts +++ b/packages/medusa/src/api/admin/shipping-profiles/route.ts @@ -23,17 +23,10 @@ export const POST = async ( ) => { const shippingProfilePayload = req.validatedBody - const { result, errors } = await createShippingProfilesWorkflow( - req.scope - ).run({ + const { result } = await createShippingProfilesWorkflow(req.scope).run({ input: { data: [shippingProfilePayload] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const shippingProfile = await refetchShippingProfile( result?.[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/stock-locations/[id]/fulfillment-sets/route.ts b/packages/medusa/src/api/admin/stock-locations/[id]/fulfillment-sets/route.ts index b726fcef7d..09f51b529d 100644 --- a/packages/medusa/src/api/admin/stock-locations/[id]/fulfillment-sets/route.ts +++ b/packages/medusa/src/api/admin/stock-locations/[id]/fulfillment-sets/route.ts @@ -10,7 +10,7 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await createLocationFulfillmentSetWorkflow(req.scope).run({ + await createLocationFulfillmentSetWorkflow(req.scope).run({ input: { location_id: req.params.id, fulfillment_set_data: { @@ -18,13 +18,8 @@ export const POST = async ( type: req.validatedBody.type, }, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const stockLocation = await refetchStockLocation( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/stock-locations/[id]/route.ts b/packages/medusa/src/api/admin/stock-locations/[id]/route.ts index 224b5b5a30..9029bf8949 100644 --- a/packages/medusa/src/api/admin/stock-locations/[id]/route.ts +++ b/packages/medusa/src/api/admin/stock-locations/[id]/route.ts @@ -65,15 +65,10 @@ export const DELETE = async ( ) => { const { id } = req.params - const { errors } = await deleteStockLocationsWorkflow(req.scope).run({ + await deleteStockLocationsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "stock_location", diff --git a/packages/medusa/src/api/admin/stock-locations/[id]/sales-channels/route.ts b/packages/medusa/src/api/admin/stock-locations/[id]/sales-channels/route.ts index 1c9aa4029c..44f7d2da75 100644 --- a/packages/medusa/src/api/admin/stock-locations/[id]/sales-channels/route.ts +++ b/packages/medusa/src/api/admin/stock-locations/[id]/sales-channels/route.ts @@ -15,19 +15,14 @@ export const POST = async ( const { add, remove } = req.validatedBody const workflow = linkSalesChannelsToStockLocationWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { id, add, remove, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const stockLocation = await refetchStockLocation( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/stores/[id]/route.ts b/packages/medusa/src/api/admin/stores/[id]/route.ts index a0944466a8..78285eae7f 100644 --- a/packages/medusa/src/api/admin/stores/[id]/route.ts +++ b/packages/medusa/src/api/admin/stores/[id]/route.ts @@ -32,18 +32,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await updateStoresWorkflow(req.scope).run({ + const { result } = await updateStoresWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: req.validatedBody as UpdateStoreDTO, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const store = await refetchStore( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/tax-rates/[id]/route.ts b/packages/medusa/src/api/admin/tax-rates/[id]/route.ts index ceea8720f4..0b5864077d 100644 --- a/packages/medusa/src/api/admin/tax-rates/[id]/route.ts +++ b/packages/medusa/src/api/admin/tax-rates/[id]/route.ts @@ -20,18 +20,13 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await updateTaxRatesWorkflow(req.scope).run({ + await updateTaxRatesWorkflow(req.scope).run({ input: { selector: { id: req.params.id }, update: { ...req.validatedBody, updated_by: req.auth_context.actor_id }, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const taxRate = await refetchTaxRate( req.params.id, req.scope, @@ -62,15 +57,10 @@ export const DELETE = async ( res: MedusaResponse ) => { const id = req.params.id - const { errors } = await deleteTaxRatesWorkflow(req.scope).run({ + await deleteTaxRatesWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "tax_rate", diff --git a/packages/medusa/src/api/admin/tax-rates/[id]/rules/[rule_id]/route.ts b/packages/medusa/src/api/admin/tax-rates/[id]/rules/[rule_id]/route.ts index 8bb2aec0f9..b8b68ee9d2 100644 --- a/packages/medusa/src/api/admin/tax-rates/[id]/rules/[rule_id]/route.ts +++ b/packages/medusa/src/api/admin/tax-rates/[id]/rules/[rule_id]/route.ts @@ -9,15 +9,10 @@ export const DELETE = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await deleteTaxRateRulesWorkflow(req.scope).run({ + await deleteTaxRateRulesWorkflow(req.scope).run({ input: { ids: [req.params.rule_id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const taxRate = await refetchTaxRate( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/tax-rates/[id]/rules/route.ts b/packages/medusa/src/api/admin/tax-rates/[id]/rules/route.ts index 09ce7d1981..b24535ed74 100644 --- a/packages/medusa/src/api/admin/tax-rates/[id]/rules/route.ts +++ b/packages/medusa/src/api/admin/tax-rates/[id]/rules/route.ts @@ -10,7 +10,7 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { errors } = await createTaxRateRulesWorkflow(req.scope).run({ + await createTaxRateRulesWorkflow(req.scope).run({ input: { rules: [ { @@ -20,13 +20,8 @@ export const POST = async ( }, ], }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const taxRate = await refetchTaxRate( req.params.id, req.scope, diff --git a/packages/medusa/src/api/admin/tax-rates/route.ts b/packages/medusa/src/api/admin/tax-rates/route.ts index 8bf64b302f..31ebd7c17d 100644 --- a/packages/medusa/src/api/admin/tax-rates/route.ts +++ b/packages/medusa/src/api/admin/tax-rates/route.ts @@ -17,20 +17,15 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await createTaxRatesWorkflow(req.scope).run({ + const { result } = await createTaxRatesWorkflow(req.scope).run({ input: [ { ...req.validatedBody, created_by: req.auth_context.actor_id, }, ], - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const taxRate = await refetchTaxRate( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/tax-regions/[id]/route.ts b/packages/medusa/src/api/admin/tax-regions/[id]/route.ts index 4e4697953e..f42d013c24 100644 --- a/packages/medusa/src/api/admin/tax-regions/[id]/route.ts +++ b/packages/medusa/src/api/admin/tax-regions/[id]/route.ts @@ -32,15 +32,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteTaxRegionsWorkflow(req.scope).run({ + await deleteTaxRegionsWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "tax_region", diff --git a/packages/medusa/src/api/admin/tax-regions/route.ts b/packages/medusa/src/api/admin/tax-regions/route.ts index 055e46e8d0..32ac89b019 100644 --- a/packages/medusa/src/api/admin/tax-regions/route.ts +++ b/packages/medusa/src/api/admin/tax-regions/route.ts @@ -17,20 +17,15 @@ export const POST = async ( req: AuthenticatedMedusaRequest, res: MedusaResponse ) => { - const { result, errors } = await createTaxRegionsWorkflow(req.scope).run({ + const { result } = await createTaxRegionsWorkflow(req.scope).run({ input: [ { ...req.validatedBody, created_by: req.auth_context.actor_id, }, ], - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const taxRegion = await refetchTaxRegion( result[0].id, req.scope, diff --git a/packages/medusa/src/api/admin/uploads/[id]/route.ts b/packages/medusa/src/api/admin/uploads/[id]/route.ts index f88d1cb310..2a2bfccfc6 100644 --- a/packages/medusa/src/api/admin/uploads/[id]/route.ts +++ b/packages/medusa/src/api/admin/uploads/[id]/route.ts @@ -36,15 +36,10 @@ export const DELETE = async ( ) => { const id = req.params.id - const { errors } = await deleteFilesWorkflow(req.scope).run({ + await deleteFilesWorkflow(req.scope).run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "file", diff --git a/packages/medusa/src/api/admin/uploads/route.ts b/packages/medusa/src/api/admin/uploads/route.ts index 7373964877..9db8b1c96b 100644 --- a/packages/medusa/src/api/admin/uploads/route.ts +++ b/packages/medusa/src/api/admin/uploads/route.ts @@ -19,7 +19,7 @@ export const POST = async ( ) } - const { result, errors } = await uploadFilesWorkflow(req.scope).run({ + const { result } = await uploadFilesWorkflow(req.scope).run({ input: { files: input?.map((f) => ({ filename: f.originalname, @@ -27,12 +27,7 @@ export const POST = async ( content: f.buffer.toString("binary"), })), }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ files: result }) } diff --git a/packages/medusa/src/api/admin/users/[id]/route.ts b/packages/medusa/src/api/admin/users/[id]/route.ts index 1241ec204a..40433c212a 100644 --- a/packages/medusa/src/api/admin/users/[id]/route.ts +++ b/packages/medusa/src/api/admin/users/[id]/route.ts @@ -73,15 +73,10 @@ export const DELETE = async ( const { id } = req.params const workflow = deleteUsersWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ id, object: "user", diff --git a/packages/medusa/src/api/admin/users/route.ts b/packages/medusa/src/api/admin/users/route.ts index 90e4b93c3b..60078c000c 100644 --- a/packages/medusa/src/api/admin/users/route.ts +++ b/packages/medusa/src/api/admin/users/route.ts @@ -53,16 +53,9 @@ export const POST = async ( userData: req.validatedBody, authIdentityId: req.auth_context.auth_identity_id, }, - throwOnError: false, } - const { result, errors } = await createUserAccountWorkflow(req.scope).run( - input - ) - - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } + const { result } = await createUserAccountWorkflow(req.scope).run(input) const { http } = req.scope.resolve( ContainerRegistrationKeys.CONFIG_MODULE diff --git a/packages/medusa/src/api/admin/workflows-executions/[workflow_id]/run/route.ts b/packages/medusa/src/api/admin/workflows-executions/[workflow_id]/run/route.ts index 1e95da82b9..9124b073f3 100644 --- a/packages/medusa/src/api/admin/workflows-executions/[workflow_id]/run/route.ts +++ b/packages/medusa/src/api/admin/workflows-executions/[workflow_id]/run/route.ts @@ -28,7 +28,6 @@ export const POST = async ( context: { requestId: req.requestId, }, - throwOnError: false, } as WorkflowOrchestratorTypes.WorkflowOrchestratorRunDTO const { acknowledgement } = await workflowEngineService.run( diff --git a/packages/medusa/src/api/store/carts/[id]/complete/route.ts b/packages/medusa/src/api/store/carts/[id]/complete/route.ts index 17e53623a9..3604c56015 100644 --- a/packages/medusa/src/api/store/carts/[id]/complete/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/complete/route.ts @@ -22,7 +22,7 @@ export const POST = async ( // When an error occurs on the workflow, its potentially got to with cart validations, payments // or inventory checks. Return the cart here along with errors for the consumer to take more action // and fix them - if (Array.isArray(errors) && errors[0]) { + if (errors?.[0]) { const error = errors[0].error const statusOKErrors: string[] = [ // TODO: add inventory specific errors diff --git a/packages/medusa/src/api/store/carts/[id]/line-items/[line_id]/route.ts b/packages/medusa/src/api/store/carts/[id]/line-items/[line_id]/route.ts index 2286fcab48..1244c030cf 100644 --- a/packages/medusa/src/api/store/carts/[id]/line-items/[line_id]/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/line-items/[line_id]/route.ts @@ -45,15 +45,10 @@ export const POST = async ( update: req.validatedBody, } - const { errors } = await updateLineItemInCartWorkflow(req.scope).run({ + await updateLineItemInCartWorkflow(req.scope).run({ input, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const updatedCart = await refetchCart( req.params.id, req.scope, @@ -69,15 +64,10 @@ export const DELETE = async ( ) => { const id = req.params.line_id - const { errors } = await deleteLineItemsWorkflow(req.scope).run({ + await deleteLineItemsWorkflow(req.scope).run({ input: { cart_id: req.params.id, ids: [id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/carts/[id]/line-items/route.ts b/packages/medusa/src/api/store/carts/[id]/line-items/route.ts index 694137c2a0..dd0275a180 100644 --- a/packages/medusa/src/api/store/carts/[id]/line-items/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/line-items/route.ts @@ -18,15 +18,10 @@ export const POST = async ( cart, } - const { errors } = await addToCartWorkflow(req.scope).run({ + await addToCartWorkflow(req.scope).run({ input: workflowInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const updatedCart = await refetchCart( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/carts/[id]/promotions/route.ts b/packages/medusa/src/api/store/carts/[id]/promotions/route.ts index 4b79c4295f..f2ededec03 100644 --- a/packages/medusa/src/api/store/carts/[id]/promotions/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/promotions/route.ts @@ -14,19 +14,14 @@ export const POST = async ( const workflow = updateCartPromotionsWorkflow(req.scope) const payload = req.validatedBody - const { errors } = await workflow.run({ + await workflow.run({ input: { promoCodes: payload.promo_codes, cartId: req.params.id, action: PromotionActions.ADD, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( req.params.id, req.scope, @@ -43,19 +38,14 @@ export const DELETE = async ( const workflow = updateCartPromotionsWorkflow(req.scope) const payload = req.validatedBody - const { errors } = await workflow.run({ + await workflow.run({ input: { promoCodes: payload.promo_codes, cartId: req.params.id, action: PromotionActions.REMOVE, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/carts/[id]/route.ts b/packages/medusa/src/api/store/carts/[id]/route.ts index bbd49bef27..56e79b2fae 100644 --- a/packages/medusa/src/api/store/carts/[id]/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/route.ts @@ -20,18 +20,13 @@ export const POST = async ( ) => { const workflow = updateCartWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { ...(req.validatedBody as UpdateCartDataDTO), id: req.params.id, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/carts/[id]/shipping-methods/route.ts b/packages/medusa/src/api/store/carts/[id]/shipping-methods/route.ts index 6414e38365..371fb6e7a4 100644 --- a/packages/medusa/src/api/store/carts/[id]/shipping-methods/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/shipping-methods/route.ts @@ -10,18 +10,13 @@ export const POST = async ( const workflow = addShippingMethodToWorkflow(req.scope) const payload = req.validatedBody - const { errors } = await workflow.run({ + await workflow.run({ input: { options: [{ id: payload.option_id, data: payload.data }], cart_id: req.params.id, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/carts/[id]/taxes/route.ts b/packages/medusa/src/api/store/carts/[id]/taxes/route.ts index 75565db903..93213f514a 100644 --- a/packages/medusa/src/api/store/carts/[id]/taxes/route.ts +++ b/packages/medusa/src/api/store/carts/[id]/taxes/route.ts @@ -9,18 +9,13 @@ export const POST = async ( ) => { const workflow = updateTaxLinesWorkflow(req.scope) - const { errors } = await workflow.run({ + await workflow.run({ input: { cart_or_cart_id: req.params.id, force_tax_calculation: true, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/carts/route.ts b/packages/medusa/src/api/store/carts/route.ts index fad2f22855..e09fcc230f 100644 --- a/packages/medusa/src/api/store/carts/route.ts +++ b/packages/medusa/src/api/store/carts/route.ts @@ -15,15 +15,10 @@ export const POST = async ( customer_id: req.auth_context?.actor_id, } - const { result, errors } = await createCartWorkflow(req.scope).run({ + const { result } = await createCartWorkflow(req.scope).run({ input: workflowInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const cart = await refetchCart( result.id, req.scope, diff --git a/packages/medusa/src/api/store/customers/me/addresses/[address_id]/route.ts b/packages/medusa/src/api/store/customers/me/addresses/[address_id]/route.ts index 8e24ede288..a3928889a4 100644 --- a/packages/medusa/src/api/store/customers/me/addresses/[address_id]/route.ts +++ b/packages/medusa/src/api/store/customers/me/addresses/[address_id]/route.ts @@ -53,18 +53,13 @@ export const POST = async ( await validateCustomerAddress(req.scope, id, req.params.address_id) const updateAddresses = updateCustomerAddressesWorkflow(req.scope) - const { errors } = await updateAddresses.run({ + await updateAddresses.run({ input: { selector: { id: req.params.address_id, customer_id: req.params.id }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( id, req.scope, @@ -82,15 +77,10 @@ export const DELETE = async ( await validateCustomerAddress(req.scope, id, req.params.address_id) const deleteAddress = deleteCustomerAddressesWorkflow(req.scope) - const { errors } = await deleteAddress.run({ + await deleteAddress.run({ input: { ids: [req.params.address_id] }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( id, req.scope, diff --git a/packages/medusa/src/api/store/customers/me/addresses/route.ts b/packages/medusa/src/api/store/customers/me/addresses/route.ts index 8c0c6a6a48..e51e5d3197 100644 --- a/packages/medusa/src/api/store/customers/me/addresses/route.ts +++ b/packages/medusa/src/api/store/customers/me/addresses/route.ts @@ -54,15 +54,10 @@ export const POST = async ( }, ] - const { errors } = await createAddresses.run({ + await createAddresses.run({ input: { addresses }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( customerId, req.scope, diff --git a/packages/medusa/src/api/store/customers/me/route.ts b/packages/medusa/src/api/store/customers/me/route.ts index fc2069cb6e..8bd180f186 100644 --- a/packages/medusa/src/api/store/customers/me/route.ts +++ b/packages/medusa/src/api/store/customers/me/route.ts @@ -37,18 +37,13 @@ export const POST = async ( res: MedusaResponse ) => { const customerId = req.auth_context.actor_id - const { errors } = await updateCustomersWorkflow(req.scope).run({ + await updateCustomersWorkflow(req.scope).run({ input: { selector: { id: customerId }, update: req.validatedBody, }, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const customer = await refetchCustomer( req.params.id, req.scope, diff --git a/packages/medusa/src/api/store/customers/route.ts b/packages/medusa/src/api/store/customers/route.ts index a6e7dbdcf6..1f466accf5 100644 --- a/packages/medusa/src/api/store/customers/route.ts +++ b/packages/medusa/src/api/store/customers/route.ts @@ -24,14 +24,10 @@ export const POST = async ( const createCustomers = createCustomerAccountWorkflow(req.scope) const customersData = req.validatedBody - const { result, errors } = await createCustomers.run({ + const { result } = await createCustomers.run({ input: { customersData, authIdentityId: req.auth_context.auth_identity_id }, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const { http } = req.scope.resolve( ContainerRegistrationKeys.CONFIG_MODULE ).projectConfig diff --git a/packages/medusa/src/api/store/payment-collections/[id]/payment-sessions/route.ts b/packages/medusa/src/api/store/payment-collections/[id]/payment-sessions/route.ts index 184637da55..e11e455267 100644 --- a/packages/medusa/src/api/store/payment-collections/[id]/payment-sessions/route.ts +++ b/packages/medusa/src/api/store/payment-collections/[id]/payment-sessions/route.ts @@ -26,15 +26,10 @@ export const POST = async ( context, } - const { errors } = await createPaymentSessionsWorkflow(req.scope).run({ + await createPaymentSessionsWorkflow(req.scope).run({ input: workflowInput, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const paymentCollection = await refetchPaymentCollection( collectionId, req.scope, diff --git a/packages/medusa/src/api/store/payment-collections/route.ts b/packages/medusa/src/api/store/payment-collections/route.ts index a1cacff58b..f1ddc9c628 100644 --- a/packages/medusa/src/api/store/payment-collections/route.ts +++ b/packages/medusa/src/api/store/payment-collections/route.ts @@ -29,16 +29,10 @@ export const POST = async ( let paymentCollection = cartCollectionRelation?.payment_collection if (!paymentCollection) { - const { errors } = await createPaymentCollectionForCartWorkflow( - req.scope - ).run({ + await createPaymentCollectionForCartWorkflow(req.scope).run({ input: req.body, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - const [cartCollectionRelation] = await remoteQuery( remoteQueryObjectFromString({ entryPoint: "cart_payment_collection", diff --git a/packages/medusa/src/api/store/return/route.ts b/packages/medusa/src/api/store/return/route.ts index 587ed3b848..9d0db5cb50 100644 --- a/packages/medusa/src/api/store/return/route.ts +++ b/packages/medusa/src/api/store/return/route.ts @@ -9,14 +9,9 @@ export const POST = async ( const input = req.validatedBody as StorePostReturnsReqSchemaType const workflow = createReturnOrderWorkflow(req.scope) - const { result, errors } = await workflow.run({ + const { result } = await workflow.run({ input, - throwOnError: false, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.status(200).json({ return: result }) } diff --git a/packages/medusa/src/api/store/shipping-options/route.ts b/packages/medusa/src/api/store/shipping-options/route.ts index 4f2e98136d..222bb70816 100644 --- a/packages/medusa/src/api/store/shipping-options/route.ts +++ b/packages/medusa/src/api/store/shipping-options/route.ts @@ -29,10 +29,7 @@ export const GET = async (req: MedusaRequest, res: MedusaResponse) => { relations: ["shipping_address"], }) - const { result, errors } = await listShippingOptionsForCartWorkflow( - req.scope - ).run({ - throwOnError: false, + const { result } = await listShippingOptionsForCartWorkflow(req.scope).run({ input: { cart_id: cart.id, sales_channel_id: cart.sales_channel_id, @@ -45,9 +42,5 @@ export const GET = async (req: MedusaRequest, res: MedusaResponse) => { }, }) - if (Array.isArray(errors) && errors[0]) { - throw errors[0].error - } - res.json({ shipping_options: result }) }