Parcourir la source

feat: Expose ProductVariantPrice entity to price calculation strategy (#3918)

Andreas Sonnleitner il y a 2 mois
Parent
commit
b27a985583

+ 2 - 0
packages/core/src/config/catalog/product-variant-price-calculation-strategy.ts

@@ -1,6 +1,7 @@
 import { RequestContext } from '../../api/common/request-context';
 import { PriceCalculationResult } from '../../common/types/common-types';
 import { InjectableStrategy } from '../../common/types/injectable-strategy';
+import { ProductVariantPrice } from '../../entity/product-variant/product-variant-price.entity';
 import { ProductVariant } from '../../entity/product-variant/product-variant.entity';
 import { TaxCategory } from '../../entity/tax-category/tax-category.entity';
 import { Zone } from '../../entity/zone/zone.entity';
@@ -34,6 +35,7 @@ export interface ProductVariantPriceCalculationStrategy extends InjectableStrate
  */
 export interface ProductVariantPriceCalculationArgs {
     inputPrice: number;
+    productVariantPrice?: ProductVariantPrice;
     productVariant: ProductVariant;
     taxCategory: TaxCategory;
     activeTaxZone: Zone;

+ 1 - 0
packages/core/src/service/helpers/product-price-applicator/product-price-applicator.ts

@@ -91,6 +91,7 @@ export class ProductPriceApplicator {
 
         const { price, priceIncludesTax } = await productVariantPriceCalculationStrategy.calculate({
             inputPrice: channelPrice?.price ?? 0,
+            productVariantPrice: channelPrice,
             taxCategory: variant.taxCategory,
             productVariant: variant,
             activeTaxZone,