feat(pricing, types): PriceSets as entry point to pricing module (#4978)
What: - Adds PriceSet, PriceSetMoneyAmount, updates schema - Adds service/repo for PriceSet - Shifts entry point to use PriceSet - Updates link/joiner config RESOLVES CORE-1495
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
import { CreatePriceSetDTO } from "@medusajs/types"
|
||||
|
||||
export const defaultPriceSetsData = [
|
||||
{
|
||||
id: "price-set-1",
|
||||
},
|
||||
{
|
||||
id: "price-set-2",
|
||||
},
|
||||
{
|
||||
id: "price-set-3",
|
||||
},
|
||||
] as unknown as CreatePriceSetDTO[]
|
||||
@@ -0,0 +1,38 @@
|
||||
import { CreatePriceSetDTO } from "@medusajs/types"
|
||||
import { SqlEntityManager } from "@mikro-orm/postgresql"
|
||||
import { PriceSet, PriceSetMoneyAmount } from "@models"
|
||||
import { defaultPriceSetsData } from "./data"
|
||||
|
||||
export async function createPriceSets(
|
||||
manager: SqlEntityManager,
|
||||
priceSetsData: CreatePriceSetDTO[] = defaultPriceSetsData
|
||||
): Promise<PriceSet[]> {
|
||||
const priceSets: PriceSet[] = []
|
||||
|
||||
for (let priceSetData of priceSetsData) {
|
||||
const priceSetDataClone = { ...priceSetData }
|
||||
const moneyAmountsData = priceSetDataClone.money_amounts || []
|
||||
delete priceSetDataClone.money_amounts
|
||||
|
||||
let priceSet = manager.create(PriceSet, priceSetDataClone) as PriceSet
|
||||
|
||||
await manager.persist(priceSet).flush()
|
||||
|
||||
for (let moneyAmount of moneyAmountsData) {
|
||||
const price_set = (await manager.findOne(
|
||||
PriceSet,
|
||||
priceSet.id
|
||||
)) as PriceSet
|
||||
|
||||
const psma = manager.create(PriceSetMoneyAmount, {
|
||||
price_set: price_set.id,
|
||||
money_amount: moneyAmount.id,
|
||||
title: "test",
|
||||
})
|
||||
|
||||
manager.persist(psma).flush()
|
||||
}
|
||||
}
|
||||
|
||||
return priceSets
|
||||
}
|
||||
Reference in New Issue
Block a user