<?xml version="1.0"?>
<!--
/**
 * @author Amasty Team
 * @copyright Copyright (c) 2021 Amasty (https://www.amasty.com)
 * @package Amasty_GdprCookie
 */
-->

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Amasty\GdprCookie\Api\Data\CookieInterface" type="Amasty\GdprCookie\Model\Cookie" />
    <preference for="Amasty\GdprCookie\Api\CookieRepositoryInterface" type="Amasty\GdprCookie\Model\Repository\CookieRepository" />
    <preference for="Amasty\GdprCookie\Api\CookieManagementInterface" type="Amasty\GdprCookie\Model\Cookie\CookieManagement" />

    <preference for="Amasty\GdprCookie\Api\Data\CookieGroupsInterface" type="Amasty\GdprCookie\Model\CookieGroup" />
    <preference for="Amasty\GdprCookie\Api\CookieGroupsRepositoryInterface" type="Amasty\GdprCookie\Model\Repository\CookieGroupsRepository" />

    <preference for="Amasty\GdprCookie\Api\Data\CookieConsentInterface" type="Amasty\GdprCookie\Model\CookieConsent" />
    <preference for="Amasty\GdprCookie\Api\CookieConsentRepositoryInterface" type="Amasty\GdprCookie\Model\Repository\CookieConsentRepository" />

    <type name="Amasty\GdprCookie\Model\StoreData\ScopedFieldsProvider">
        <arguments>
            <argument name="entityRelationMapping" xsi:type="array">
                <item name="cookie_store_relation" xsi:type="array">
                    <item name="entityTable" xsi:type="string">amasty_gdprcookie_cookie</item>
                    <item name="storeEntityTable" xsi:type="string">amasty_gdprcookie_cookie_store_data</item>
                </item>
                <item name="group_store_relation" xsi:type="array">
                    <item name="entityTable" xsi:type="string">amasty_gdprcookie_group</item>
                    <item name="storeEntityTable" xsi:type="string">amasty_gdprcookie_group_store_data</item>
                </item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\Framework\EntityManager\MetadataPool">
        <arguments>
            <argument name="metadata" xsi:type="array">
                <item name="Amasty\GdprCookie\Api\Data\CookieInterface" xsi:type="array">
                    <item name="entityTableName" xsi:type="string">amasty_gdprcookie_cookie</item>
                    <item name="identifierField" xsi:type="string">id</item>
                </item>
                <item name="Amasty\GdprCookie\Api\Data\CookieGroupsInterface" xsi:type="array">
                    <item name="entityTableName" xsi:type="string">amasty_gdprcookie_group</item>
                    <item name="identifierField" xsi:type="string">id</item>
                </item>
            </argument>
        </arguments>
    </type>
</config>
