<?xml version="1.0"?>
<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\Framework\GraphQl\Schema\Type\Enum\DefaultDataMapper">
        <arguments>
            <argument name="map" xsi:type="array">
                <item name="SubscriptionStatusesEnum" xsi:type="array">
                    <item name="subscribed" xsi:type="string">1</item>
                    <item name="not_active" xsi:type="string">2</item>
                    <item name="unsubscribed" xsi:type="string">3</item>
                    <item name="unconfirmed" xsi:type="string">4</item>
                </item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\StoreGraphQl\Model\Resolver\Store\StoreConfigDataProvider">
        <arguments>
            <argument name="extendedConfigData" xsi:type="array">
                <item name="newsletter_enabled" xsi:type="string">newsletter/general/active</item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\GraphQlResolverCache\Model\Resolver\Result\ResolverIdentityClassProvider">
        <arguments>
            <argument name="cacheableResolverClassNameIdentityMap" xsi:type="array">
                <item name="Magento\NewsletterGraphQl\Model\Resolver\IsSubscribed" xsi:type="string">
                    Magento\NewsletterGraphQl\Model\Resolver\Cache\Subscriber\ResolverCacheIdentity
                </item>
            </argument>
        </arguments>
    </type>
    <type name="Magento\GraphQlResolverCache\Model\Resolver\Result\CacheKey\Calculator\Provider">
        <arguments>
            <argument name="factorProviders" xsi:type="array">
                <item name="Magento\NewsletterGraphQl\Model\Resolver\IsSubscribed" xsi:type="array">
                    <item name="parent_customer_entity_id" xsi:type="string">Magento\NewsletterGraphQl\Model\Resolver\CacheKey\FactorProvider\ParentCustomerEntityId</item>
                </item>
            </argument>
        </arguments>
    </type>
</config>
