<?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\Promotion">
        <attribute name="id">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
        </attribute>

        <attribute name="createdAt">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
        </attribute>

        <attribute name="updatedAt">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
        </attribute>

        <attribute name="name">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="code">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
        </attribute>

        <attribute name="description">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="priority">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="exclusive">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="appliesToDiscounted">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="usageLimit">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="used">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
        </attribute>

        <attribute name="startsAt">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="endsAt">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="couponBased">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="coupons">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
        </attribute>

        <attribute name="rules">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="actions">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="channels">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="translations">
            <group>admin:promotion:index</group>
            <group>sylius:admin:promotion:index</group>
            <group>admin:promotion:show</group>
            <group>sylius:admin:promotion:show</group>
            <group>admin:promotion:create</group>
            <group>sylius:admin:promotion:create</group>
            <group>admin:promotion:update</group>
            <group>sylius:admin:promotion:update</group>
        </attribute>

        <attribute name="archivedAt">
            <group>admin:promotion:read</group>
            <group>sylius:admin:promotion:read</group>
        </attribute>
    </class>
</serializer>
