di.xml 6.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?xml version="1.0"?>
  2. <!--
  3. /**
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. -->
  8. <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
  9. <preference for="Magento\Framework\GraphQl\Schema\SchemaGeneratorInterface" type="Magento\Framework\GraphQl\Schema\SchemaGenerator" />
  10. <preference for="Magento\Framework\GraphQl\Query\Resolver\ContextInterface" type="Magento\GraphQl\Model\Query\Resolver\Context" />
  11. <preference for="Magento\Framework\GraphQl\Schema\Type\Entity\MapperInterface" type="Magento\Framework\GraphQl\Schema\Type\Entity\DefaultMapper"/>
  12. <preference for="Magento\Framework\GraphQl\Schema\Type\Enum\DataMapperInterface" type="Magento\Framework\GraphQl\Schema\Type\Enum\DefaultDataMapper"/>
  13. <preference for="Magento\Framework\GraphQlSchemaStitching\GraphQlReader\TypeMetaReaderInterface" type="Magento\Framework\GraphQlSchemaStitching\GraphQlReader\TypeReaderComposite"/>
  14. <type name="Magento\Framework\App\AreaList">
  15. <arguments>
  16. <argument name="areas" xsi:type="array">
  17. <item name="graphql" xsi:type="array">
  18. <item name="frontName" xsi:type="string">graphql</item>
  19. </item>
  20. </argument>
  21. </arguments>
  22. </type>
  23. <preference for="Magento\Framework\GraphQl\ConfigInterface" type="Magento\Framework\GraphQl\Config"/>
  24. <preference for="Magento\Framework\GraphQl\Config\ConfigElementFactoryInterface" type="Magento\Framework\GraphQl\Config\ConfigElementFactory"/>
  25. <type name="Magento\Framework\GraphQl\Config\ConfigElementFactory">
  26. <arguments>
  27. <argument name="factoryMapByConfigElementType" xsi:type="array">
  28. <item name="graphql_interface" xsi:type="object">Magento\Framework\GraphQl\Config\Element\InterfaceFactory</item>
  29. <item name="graphql_type" xsi:type="object">Magento\Framework\GraphQl\Config\Element\TypeFactory</item>
  30. <item name="graphql_input" xsi:type="object">Magento\Framework\GraphQl\Config\Element\InputFactory</item>
  31. <item name="graphql_enum" xsi:type="object">Magento\Framework\GraphQl\Config\Element\EnumFactory</item>
  32. </argument>
  33. </arguments>
  34. </type>
  35. <type name="Magento\Framework\GraphQl\Config">
  36. <arguments>
  37. <argument name="data" xsi:type="object">Magento\Framework\GraphQl\Config\Data</argument>
  38. </arguments>
  39. </type>
  40. <virtualType name="Magento\Framework\GraphQl\Config\Data" type="Magento\Framework\Config\Data">
  41. <arguments>
  42. <argument name="reader" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\Reader</argument>
  43. <argument name="cacheId" xsi:type="string">Magento_Framework_GraphQlSchemaStitching_Config_Data</argument>
  44. </arguments>
  45. </virtualType>
  46. <virtualType name="Magento\Framework\GraphQl\Config\SchemaLocator" type="Magento\Framework\Config\SchemaLocator">
  47. <arguments>
  48. <argument name="realPath" xsi:type="string">urn:magento:module:Magento_GraphQl:etc/graphql.xsd</argument>
  49. </arguments>
  50. </virtualType>
  51. <virtualType name="Magento\Framework\GraphQlSchemaStitching\Reader" type="Magento\Framework\GraphQlSchemaStitching\Common\Reader">
  52. <arguments>
  53. <argument name="readers" xsi:type="array">
  54. <item name="graphql_reader" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader</item>
  55. </argument>
  56. </arguments>
  57. </virtualType>
  58. <type name="Magento\Framework\GraphQl\Schema\Type\TypeRegistry">
  59. <arguments>
  60. <argument name="configToTypeMap" xsi:type="array">
  61. <item name="Magento\Framework\GraphQl\Config\Element\Type" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Output\OutputTypeObject</item>
  62. <item name="Magento\Framework\GraphQl\Config\Element\Input" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Input\InputObjectType</item>
  63. <item name="Magento\Framework\GraphQl\Config\Element\InterfaceType" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Output\OutputInterfaceObject</item>
  64. <item name="Magento\Framework\GraphQl\Config\Element\Enum" xsi:type="string">Magento\Framework\GraphQl\Schema\Type\Enum\Enum</item>
  65. </argument>
  66. </arguments>
  67. </type>
  68. <type name="Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper">
  69. <arguments>
  70. <argument name="formatter" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\FormatterComposite</argument>
  71. </arguments>
  72. </type>
  73. <type name="Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\FormatterComposite">
  74. <arguments>
  75. <argument name="formatters" xsi:type="array">
  76. <item name="fields" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\Fields</item>
  77. <item name="interfaces" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\Interfaces</item>
  78. <item name="resolveType" xsi:type="object">Magento\Framework\GraphQl\Schema\Type\Output\ElementMapper\Formatter\ResolveType</item>
  79. </argument>
  80. </arguments>
  81. </type>
  82. <type name="Magento\Framework\GraphQlSchemaStitching\GraphQlReader\TypeReaderComposite">
  83. <arguments>
  84. <argument name="typeReaders" xsi:type="array">
  85. <item name="enum_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\EnumType</item>
  86. <item name="object_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\ObjectType</item>
  87. <item name="input_object_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\InputObjectType</item>
  88. <item name="interface_type" xsi:type="object">Magento\Framework\GraphQlSchemaStitching\GraphQlReader\Reader\InterfaceType</item>
  89. </argument>
  90. </arguments>
  91. </type>
  92. <type name="Magento\Framework\GraphQl\Query\QueryComplexityLimiter">
  93. <arguments>
  94. <argument name="queryDepth" xsi:type="number">20</argument>
  95. <argument name="queryComplexity" xsi:type="number">300</argument>
  96. </arguments>
  97. </type>
  98. </config>