Files
medusa-store/integration-tests/modules/helpers/create-variant-price-set.ts
Stevche Radevski c661180c44 feat: Completely revamp the pricing module (#7852)
* feat: Completely revamp the pricing module

* chore: Update all places to the new pricing interfaces

* fix: Remove unnecessary join to itself

* chore: Add data migration for existing users

* fix: Apply the correct index to price rule
2024-07-01 09:47:03 +02:00

43 lines
975 B
TypeScript

import { MedusaContainer } from "@medusajs/modules-sdk"
import {
CreatePriceSetDTO,
IPricingModuleService,
PriceSetDTO,
} from "@medusajs/types"
import { Modules } from "@medusajs/utils"
const defaultPrices = [
{
amount: 3000,
currency_code: "usd",
},
]
export const createVariantPriceSet = async ({
container,
variantId,
prices = defaultPrices,
}: {
container: MedusaContainer
variantId: string
prices?: CreatePriceSetDTO["prices"]
}): Promise<PriceSetDTO> => {
const remoteLink = container.resolve("remoteLink")
const pricingModuleService: IPricingModuleService = container.resolve(
"pricingModuleService"
)
const priceSet = await pricingModuleService.createPriceSets({
prices,
})
await remoteLink.create({
[Modules.PRODUCT]: { variant_id: variantId },
[Modules.PRICING]: { price_set_id: priceSet.id },
})
return await pricingModuleService.retrievePriceSet(priceSet.id, {
relations: ["prices"],
})
}