<?xml version="1.0"?>
<!--
/**
 * @category   Webkul
 * @package    Webkul_GoogleShoppingFeed
 * @author     Webkul Software Private Limited
 * @copyright  Copyright (c) Webkul Software Private Limited (https://webkul.com)
 * @license    https://store.webkul.com/license.html
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <virtualType name="Webkul\GoogleShoppingFeed\Model\ResourceModel\AttributeMap\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
        <arguments>
            <argument name="mainTable" xsi:type="string">google_shopping_field_feeds</argument>
            <argument name="resourceModel" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\AttributeMap</argument>
        </arguments>
    </virtualType>
    <virtualType name="Webkul\GoogleShoppingFeed\Model\ResourceModel\GoogleFeedCategory\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
        <arguments>
            <argument name="mainTable" xsi:type="string">google_feed_category</argument>
            <argument name="resourceModel" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\GoogleFeedCategory</argument>
        </arguments>
    </virtualType>
    <virtualType name="Webkul\GoogleShoppingFeed\Model\ResourceModel\GoogleFeedMap\Grid\Collection" type="Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult">
        <arguments>
            <argument name="mainTable" xsi:type="string">google_feed_product_map</argument>
            <argument name="resourceModel" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\GoogleFeedMap</argument>
        </arguments>
    </virtualType>
    <type name="Webkul\GoogleShoppingFeed\Model\ResourceModel\CategoryMap\Grid\Collection">
        <arguments>
            <argument name="mainTable" xsi:type="string">google_shopping_category_map</argument>
            <argument name="eventPrefix" xsi:type="string">google_shopping_category_grid_collection</argument>
            <argument name="eventObject" xsi:type="string">google_shopping_category_collection</argument>
            <argument name="resourceModel" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\CategoryMap</argument>
        </arguments>
    </type>
    <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
        <arguments>
            <argument name="collections" xsi:type="array">
                <item name="googleshoppingfeed_map_list_data_source" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\AttributeMap\Grid\Collection</item>
                <item name="googlefeed_category_maplist_data_source" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\CategoryMap\Grid\Collection</item>
                <item name="googlefeed_category_list_data_source" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\GoogleFeedCategory\Grid\Collection</item>
                <item name="googleshoppingfeed_product_list_data_source" xsi:type="string">Webkul\GoogleShoppingFeed\Model\ResourceModel\GoogleFeedMap\Grid\Collection</item>
            </argument>
        </arguments>
    </type>
    <type name="Webkul\GoogleShoppingFeed\Logger\Logger">
        <arguments>
            <argument name="name" xsi:type="string">googleShoppingFeed</argument>
            <argument name="handlers"  xsi:type="array">
                <item name="system" xsi:type="object">Webkul\GoogleShoppingFeed\Logger\Handler</item>
            </argument>
        </arguments>
    </type>
    <preference for="Webkul\GoogleShoppingFeed\Api\Data\CategoryMapInterface" type="Webkul\GoogleShoppingFeed\Model\CategoryMap" />
    <preference for="Webkul\GoogleShoppingFeed\Api\CategoryMapRepositoryInterface" type="Webkul\GoogleShoppingFeed\Model\CategoryMapRepository" />

    <preference for="Webkul\GoogleShoppingFeed\Api\Data\AttributeMapInterface" type="Webkul\GoogleShoppingFeed\Model\AttributeMap" />
    <preference for="Webkul\GoogleShoppingFeed\Api\Data\GoogleFeedMapInterface" type="Webkul\GoogleShoppingFeed\Model\GoogleFeedMap" />
    <preference for="Webkul\GoogleShoppingFeed\Api\AttributeMapRepositoryInterface" type="Webkul\GoogleShoppingFeed\Model\AttributeMapRepository" />
    <preference for="Webkul\GoogleShoppingFeed\Api\Data\GoogleFeedCategoryInterface" type="Webkul\GoogleShoppingFeed\Model\GoogleFeedCategory" />
</config>
