<?xml version="1.0"?>
<!--
/**
 * @author Amasty Team
 * @copyright Copyright (c) Amasty (https://www.amasty.com)
 * @package Product Import Entity for Magento 2 (System)
 */-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:amasty:module:Amasty_ImportCore:etc/am_import.xsd">
    <entity code="downloadable_link_price">
        <name>Downloadable Product Price</name>
        <group>Product</group>
        <description>Downloadable Link Price Import Entity</description>
        <enabledChecker class="Amasty\ImportCore\Import\Config\IsModuleEnabled">
            <arguments>
                <argument name="moduleName" xsi:type="string">Magento_Downloadable</argument>
            </arguments>
        </enabledChecker>
        <fieldsConfig>
            <fieldsClass class="Amasty\ImportCore\Import\FieldsClass\Describe">
                <arguments>
                    <argument name="tableName" xsi:type="string">downloadable_link_price</argument>
                </arguments>
            </fieldsClass>
            <rowValidation class="Amasty\ProductImportEntity\Import\Validation\RowValidator\Downloadable\Link\PriceRowValidator">
                <excludeBehaviors>
                    <deleteDirect/>
                </excludeBehaviors>
            </rowValidation>
            <fields>
                <field name="price_id">
                    <actions>
                        <trim/>
                    </actions>
                    <validation>
                        <integer/>
                        <greaterThanZero/>
                    </validation>
                </field>
                <field name="link_id">
                    <actions>
                        <trim/>
                    </actions>
                    <validation>
                        <integer/>
                        <greaterThanZero/>
                    </validation>
                </field>
                <field name="website_id">
                    <actions>
                        <trim/>
                        <websiteCode2WebsiteId/>
                    </actions>
                    <validation>
                        <websiteExists/>
                    </validation>
                    <filter>
                        <type>select</type>
                        <options>
                            <class>Amasty\ImportCore\Import\SourceOption\WebsiteOptions</class>
                        </options>
                    </filter>
                    <required/>
                </field>
            </fields>
            <sampleData>
                <row>
                    <field name='price_id'>1</field>
                    <field name='link_id'>1</field>
                    <field name='website_id'>1</field>
                    <field name='price'>10</field>
                </row>
                <row>
                    <field name='price_id'>2</field>
                    <field name='link_id'>2</field>
                    <field name='website_id'>1</field>
                    <field name='price'>20</field>
                </row>
            </sampleData>
        </fieldsConfig>
        <behaviors>
            <addUpdateDirect name="Add/Update">
                <tableName>downloadable_link_price</tableName>
                <idField>price_id</idField>
            </addUpdateDirect>
            <addDirect name="Only add">
                <tableName>downloadable_link_price</tableName>
                <idField>price_id</idField>
            </addDirect>
            <updateDirect name="Only update">
                <tableName>downloadable_link_price</tableName>
                <idField>price_id</idField>
            </updateDirect>
            <deleteDirect name="Delete">
                <tableName>downloadable_link_price</tableName>
                <idField>price_id</idField>
            </deleteDirect>
        </behaviors>
    </entity>
    <relation code="downloadable_link_link_price">
        <parent_entity>downloadable_link</parent_entity>
        <child_entity>downloadable_link_price</child_entity>
        <sub_entity_field_name>downloadable_link_price</sub_entity_field_name>
        <type>one_to_one</type>
        <arguments>
            <argument name="parent_field_name" xsi:type="string">link_id</argument>
            <argument name="child_field_name" xsi:type="string">link_id</argument>
        </arguments>
    </relation>
</config>
