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:
Riqwan Thamir
2024-04-17 15:36:09 +00:00
committed by GitHub
parent 08dc861dc1
commit 8d356217bd
35 changed files with 735 additions and 630 deletions
+26 -17
View File
@@ -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,