feat(medusa,core-flows,types): adds batch operations to price list prices (#7077)
what: - adds batch operations to price list prices RESOLVES CORE-1969 RESOLVES CORE-1970
This commit is contained in:
@@ -7,9 +7,9 @@ import {
|
||||
} from "@medusajs/types"
|
||||
|
||||
export function buildPriceListRules(
|
||||
priceListRules: PriceListRuleDTO[]
|
||||
): Record<string, string[]> {
|
||||
return priceListRules.reduce((acc, curr) => {
|
||||
priceListRules?: PriceListRuleDTO[]
|
||||
): Record<string, string[]> | undefined {
|
||||
return priceListRules?.reduce((acc, curr) => {
|
||||
const ruleAttribute = curr.rule_type.rule_attribute
|
||||
const ruleValues = curr.price_list_rule_values || []
|
||||
|
||||
@@ -20,9 +20,13 @@ export function buildPriceListRules(
|
||||
}
|
||||
|
||||
export function buildPriceSetRules(
|
||||
priceRules: PriceRuleDTO[]
|
||||
): Record<string, string> {
|
||||
return priceRules.reduce((acc, curr) => {
|
||||
priceRules?: PriceRuleDTO[]
|
||||
): Record<string, string> | undefined {
|
||||
if (typeof priceRules === "undefined") {
|
||||
return undefined
|
||||
}
|
||||
|
||||
return priceRules?.reduce((acc, curr) => {
|
||||
const ruleAttribute = curr.rule_type.rule_attribute
|
||||
const ruleValue = curr.value
|
||||
|
||||
@@ -34,20 +38,24 @@ export function buildPriceSetRules(
|
||||
|
||||
export function buildPriceSetPricesForCore(
|
||||
prices: (PriceDTO & {
|
||||
price_set: PriceDTO["price_set"] & {
|
||||
price_set?: PriceDTO["price_set"] & {
|
||||
variant?: ProductVariantDTO
|
||||
}
|
||||
})[]
|
||||
): Record<string, any>[] {
|
||||
return prices.map((price) => {
|
||||
const productVariant = (price.price_set as any).variant
|
||||
const rules: Record<string, string> = price.price_rules
|
||||
? buildPriceSetRules(price.price_rules)
|
||||
: {}
|
||||
return prices?.map((price) => {
|
||||
const productVariant = (price.price_set as any)?.variant
|
||||
const rules: Record<string, string> | undefined =
|
||||
typeof price.price_rules === "undefined"
|
||||
? undefined
|
||||
: buildPriceSetRules(price.price_rules || [])
|
||||
|
||||
delete price.price_rules
|
||||
delete price.price_set
|
||||
|
||||
return {
|
||||
...price,
|
||||
variant_id: productVariant?.id ?? null,
|
||||
variant_id: productVariant?.id ?? undefined,
|
||||
rules,
|
||||
}
|
||||
})
|
||||
@@ -56,10 +64,11 @@ export function buildPriceSetPricesForCore(
|
||||
export function buildPriceSetPricesForModule(
|
||||
prices: PriceDTO[]
|
||||
): UpdatePriceListPriceDTO[] {
|
||||
return prices.map((price) => {
|
||||
const rules: Record<string, string> = price.price_rules
|
||||
? buildPriceSetRules(price.price_rules)
|
||||
: {}
|
||||
return prices?.map((price) => {
|
||||
const rules: Record<string, string> | undefined =
|
||||
typeof price.price_rules === "undefined"
|
||||
? undefined
|
||||
: buildPriceSetRules(price.price_rules || [])
|
||||
|
||||
return {
|
||||
...price,
|
||||
|
||||
Reference in New Issue
Block a user