fix(medusa): calculate sales channel availability correctly for variants (#10448)
* fix: calculate inventory quantities based on sales channel and locations * Update packages/medusa/src/api/utils/middlewares/products/variant-inventory-quantity.ts Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com> * Update packages/medusa/src/api/utils/middlewares/products/variant-inventory-quantity.ts Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com> * Update packages/core/core-flows/src/product/steps/get-variant-availability.ts Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com> * fix: crk --------- Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import { createStep, StepResponse } from "@medusajs/framework/workflows-sdk"
|
||||
import {
|
||||
ContainerRegistrationKeys,
|
||||
getVariantAvailability,
|
||||
} from "@medusajs/framework/utils"
|
||||
|
||||
export type GetVariantAvailabilityStepInput = {
|
||||
variant_ids: string[]
|
||||
sales_channel_id: string
|
||||
}
|
||||
|
||||
export const getVariantAvailabilityId = "get-variant-availability"
|
||||
/**
|
||||
* Computes the varaint availability for a list of variants in a given sales channel
|
||||
*/
|
||||
export const getVariantAvailabilityStep = createStep(
|
||||
getVariantAvailabilityId,
|
||||
async (data: GetVariantAvailabilityStepInput, { container }) => {
|
||||
const query = container.resolve(ContainerRegistrationKeys.QUERY)
|
||||
const availability = await getVariantAvailability(query, data)
|
||||
return new StepResponse(availability)
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user