<?xml version="1.0"?>
<!--
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package TikTok Pixel by Amasty
 */-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Amasty\PixelTikTok\Api\Data\TikTokApiDataInterface" type="Amasty\PixelTikTok\Model\TikTokApiData"/>
    <preference for="Amasty\PixelTikTok\Api\Data\ApiEventDataInterface" type="Amasty\PixelTikTok\Model\ApiEventData"/>

    <type name="Magento\Framework\View\Element\UiComponent\DataProvider\CollectionFactory">
        <arguments>
            <argument name="collections" xsi:type="array">
                <item name="amasty_pixel_tiktok_pixel_listing_data_source"
                      xsi:type="string">Amasty\PixelTikTok\Model\ResourceModel\Pixel\Grid\Collection</item>
                <item name="amasty_pixel_tiktok_pixel_form_data_source"
                      xsi:type="string">Amasty\PixelTikTok\Model\ResourceModel\Pixel\Grid\Collection</item>
            </argument>
        </arguments>
    </type>

    <virtualType name="Amasty\PixelTikTok\Model\Logger\VirtualDebug" type="Magento\Framework\Logger\Handler\Base">
        <arguments>
            <argument name="fileName" xsi:type="string">/var/log/tiktok_pixel.log</argument>
        </arguments>
    </virtualType>
    <virtualType name="Amasty\PixelTikTok\Model\Logger\VirtualLogger" type="Magento\Framework\Logger\Monolog">
        <arguments>
            <argument name="handlers" xsi:type="array">
                <item name="debug" xsi:type="object">Amasty\PixelTikTok\Model\Logger\VirtualDebug</item>
            </argument>
        </arguments>
    </virtualType>
    <type name="Amasty\PixelCore\Model\Logger\Logger">
        <arguments>
            <argument name="loggers" xsi:type="array">
                <item name="tiktok" xsi:type="object">Amasty\PixelTikTok\Model\Logger\VirtualLogger</item>
            </argument>
        </arguments>
        <plugin name="Amasty_PixelTikTok::checkIfLoggerEnabled" type="Amasty\PixelTikTok\Plugin\PixelCore\Model\Logger\Logger\CheckIfLoggerEnabled" />
    </type>

    <type name="Amasty\PixelTikTok\Model\Queue\EventApi\Consumer">
        <arguments>
            <argument name="adapter" xsi:type="object">Amasty\PixelTikTok\Model\Api\Adapter\Events20Adapter</argument>
        </arguments>
    </type>
</config>
