<?xml version="1.0"?>
<!--
/**
 * BSS Commerce Co.
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the EULA
 * that is bundled with this package in the file LICENSE.txt.
 * It is also available through the world-wide-web at this URL:
 * http://bsscommerce.com/Bss-Commerce-License.txt
 *
 * @category   BSS
 * @package    Bss_MultiStoreViewPricingTierPrice
 * @author     Extension Team
 * @copyright  Copyright (c) 2017-2024 BSS Commerce Co. ( http://bsscommerce.com )
 * @license    http://bsscommerce.com/Bss-Commerce-License.txt
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Catalog\Model\Product\Attribute\Backend\Tierprice" type="Bss\MultiStoreViewPricingTierPrice\Model\Product\Attribute\Tierprice" />
    <preference for="Magento\Catalog\Model\Product\Type\Price" type="Bss\MultiStoreViewPricingTierPrice\Model\Product\Type\Price" />
    <preference for="Magento\Downloadable\Model\Product\Price" type="Bss\MultiStoreViewPricingTierPrice\Model\Product\Type\Downloadable\Price" />
    <preference for="Magento\Swatches\Block\Product\Renderer\Configurable" type="Bss\MultiStoreViewPricingTierPrice\Block\Swatches\Product\Renderer\Configurable" />
    <preference for="Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable\Product\Collection"
                type="Bss\MultiStoreViewPricingTierPrice\Model\ResourceModel\Product\Type\Configurable\Product\Collection"/>

    <type name="Magento\ImportExport\Model\Import\SampleFileProvider">
        <arguments>
            <argument name="samples" xsi:type="array">
                <item name="tier_price_per_store" xsi:type="string">Bss_MultiStoreViewPricingTierPrice</item>
            </argument>
        </arguments>
    </type>
    <type name="Bss\MultiStoreViewPricingTierPrice\Model\Import\TierPrice">
        <plugin name="invalidateAdvancedPriceIndexerOnImportByMSVP" type="Bss\MultiStoreViewPricingTierPrice\Plugin\Indexer\Product\Price\Import" />
    </type>
    <type name="Magento\Framework\EntityManager\Operation\ExtensionPool">
        <arguments>
            <argument name="extensionActions" xsi:type="array">
                <item name="Magento\Catalog\Api\Data\ProductInterface" xsi:type="array">
                    <item name="update" xsi:type="array">
                        <item name="tierPriceStoreUpdater" xsi:type="string">Bss\MultiStoreViewPricingTierPrice\Model\Product\Attribute\Backend\TierPrice\UpdateHandler</item>
                    </item>
                </item>
            </argument>
        </arguments>
    </type>
</config>
