di.xml 3.04 KB
<?xml version="1.0"?>
<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\CheckoutAgreements\Api\CheckoutAgreementsRepositoryInterface" type="Magento\CheckoutAgreements\Model\CheckoutAgreementsRepository" />
    <preference for="Magento\CheckoutAgreements\Api\Data\AgreementInterface" type="Magento\CheckoutAgreements\Model\Agreement" />
    <preference for="Magento\CheckoutAgreements\Api\CheckoutAgreementsListInterface" type="Magento\CheckoutAgreements\Model\CheckoutAgreementsList" />
    <type name="Magento\CheckoutAgreements\Model\AgreementsValidator">
        <arguments>
            <argument name="list" xsi:type="array">
                <item name="checkoutagreements" xsi:type="object">\Magento\CheckoutAgreements\Model\AgreementsProvider</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Checkout\Api\PaymentInformationManagementInterface">
        <plugin name="validate-agreements" type="Magento\CheckoutAgreements\Model\Checkout\Plugin\Validation"/>
    </type>
    <preference for="Magento\Checkout\Api\AgreementsValidatorInterface" type="Magento\CheckoutAgreements\Model\AgreementsValidator" />
    <type name="Magento\Checkout\Api\GuestPaymentInformationManagementInterface">
        <plugin name="validate-guest-agreements" type="Magento\CheckoutAgreements\Model\Checkout\Plugin\GuestValidation"/>
    </type>
    <type name="Magento\CheckoutAgreements\Model\CheckoutAgreementsList">
        <arguments>
            <argument name="collectionProcessor" xsi:type="object">Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor</argument>
        </arguments>
    </type>
    <virtualType name="Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor">
        <arguments>
            <argument name="processors" xsi:type="array">
                <item name="filters" xsi:type="object">Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor</item>
                <item name="sorting" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\SortingProcessor</item>
                <item name="pagination" xsi:type="object">Magento\Framework\Api\SearchCriteria\CollectionProcessor\PaginationProcessor</item>
            </argument>
        </arguments>
    </virtualType>
    <virtualType name="Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor" type="Magento\Framework\Api\SearchCriteria\CollectionProcessor\FilterProcessor">
        <arguments>
            <argument name="customFilters" xsi:type="array">
                <item name="store_id" xsi:type="object">Magento\CheckoutAgreements\Model\Api\SearchCriteria\CollectionProcessor\FilterProcessor\StoreFilter</item>
            </argument>
        </arguments>
    </virtualType>
</config>