<?xml version="1.0" ?>

<!--

 This file is part of the Sylius package.

 (c) Sylius Sp. z o.o.

 For the full copyright and license information, please view the LICENSE
 file that was distributed with this source code.

-->

<serializer xmlns="http://symfony.com/schema/dic/serializer-mapping"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://symfony.com/schema/dic/serializer-mapping https://symfony.com/schema/dic/serializer-mapping/serializer-mapping-1.0.xsd"
>
    <class name="Sylius\Component\Core\Model\Product">
        <attribute name="id">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="code">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="variantSelectionMethod">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
        </attribute>
        <attribute name="enabled">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
        </attribute>
        <attribute name="name">
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="description">
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="slug">
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="shortDescription">
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="translations">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
        </attribute>
        <attribute name="mainTaxon">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="productTaxons">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="options">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="variants">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="images">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="reviews">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
        </attribute>
        <attribute name="acceptedReviews" serialized-name="reviews">
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
            <normalization_context>
                <entry name="collection_values">true</entry>
            </normalization_context>
        </attribute>
        <attribute name="averageRating">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="associations">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="attributes">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
        </attribute>
        <attribute name="channels">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>admin:product:create</group>
            <group>sylius:admin:product:create</group>
            <group>admin:product:update</group>
            <group>sylius:admin:product:update</group>
        </attribute>
        <attribute name="createdAt">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
        <attribute name="updatedAt">
            <group>admin:product:index</group>
            <group>sylius:admin:product:index</group>
            <group>admin:product:show</group>
            <group>sylius:admin:product:show</group>
            <group>shop:product:index</group>
            <group>sylius:shop:product:index</group>
            <group>shop:product:show</group>
            <group>sylius:shop:product:show</group>
        </attribute>
    </class>
</serializer>
