<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Elasticsearch\Model\Adapter\FieldMapper\ProductFieldMapper">
        <plugin sortOrder="10" name="GhoSter_OutOfStockAtLast::add_more_field"
                type="GhoSter\OutOfStockAtLast\Plugin\Model\Adapter\AdditionalFieldMapperPlugin"/>
    </type>
    <type name="Magento\Elasticsearch\Elasticsearch5\Model\Adapter\FieldMapper\ProductFieldMapperProxy">
        <plugin sortOrder="10" name="GhoSter_OutOfStockAtLast::add_more_field_deprecated"
                type="GhoSter\OutOfStockAtLast\Plugin\Model\Adapter\AdditionalFieldMapperPlugin"/>
    </type>

    <type name="Magento\Elasticsearch\Model\Adapter\BatchDataMapper\ProductDataMapper">
        <plugin sortOrder="10" name="GhoSter_OutOfStockAtLast::add_data_to_mappers_result"
                type="GhoSter\OutOfStockAtLast\Plugin\Model\Adapter\BatchDataMapper\ProductDataMapperPlugin"/>
    </type>
    <type name="Smile\ElasticsuiteCatalog\Model\Product\Indexer\Fulltext\Datasource\AttributeData">
        <plugin sortOrder="10" name="GhoSter_OutOfStockAtLast::smile_add_data_to_mappers_result"
                type="GhoSter\OutOfStockAtLast\Plugin\Model\Product\Indexer\Fulltext\Datasource\AttributeDataPlugin"/>
    </type>

    <type name="Magento\Catalog\Model\ResourceModel\Product\Collection\ProductLimitation">
        <plugin sortOrder="10" name="GhoSter_OutOfStockAtLast::ignore_limitation_filter_using_price"
                type="GhoSter\OutOfStockAtLast\Plugin\Model\ResourceModel\Product\Collection\ProductLimitationPlugin"/>
    </type>

    <type name="Magento\Elasticsearch\Model\ResourceModel\Fulltext\Collection\SearchResultApplier">
        <plugin sortOrder="10" name="GhoSter_OutOfStockAtLast::mark_apply_flag"
                type="GhoSter\OutOfStockAtLast\Plugin\Model\ResourceModel\Fulltext\Collection\SearchResultApplierPlugin"/>
    </type>

    <type name="Magento\Catalog\Model\ProductTypes\Config\Reader">
        <arguments>
            <argument name="idAttributes" xsi:type="array">
                <item name="/config/type/stockIndexerModel" xsi:type="string"/>
            </argument>
        </arguments>
    </type>
</config>
