<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
    <services>
        <service id="api_platform.swagger_ui.context" class="ApiPlatform\Symfony\Bundle\SwaggerUi\SwaggerUiContext">
            <argument>%api_platform.enable_swagger_ui%</argument>
            <argument>%api_platform.show_webby%</argument>
            <argument>%api_platform.enable_re_doc%</argument>
            <argument>%api_platform.graphql.enabled%</argument>
            <argument>%api_platform.graphql.graphiql.enabled%</argument>
            <argument>%api_platform.graphql.graphql_playground.enabled%</argument>
            <argument>%api_platform.asset_package%</argument>
            <argument>%api_platform.swagger_ui.extra_configuration%</argument>
        </service>

        <service id="api_platform.swagger_ui.processor" class="ApiPlatform\Symfony\Bundle\SwaggerUi\SwaggerUiProcessor" public="false">
            <argument type="service" id="twig" on-invalid="null" />
            <argument type="service" id="router" />
            <argument type="service" id="api_platform.serializer" />
            <argument type="service" id="api_platform.openapi.options" />
            <argument type="service" id="api_platform.swagger_ui.context" />
            <argument>%api_platform.docs_formats%</argument>
            <argument>%api_platform.oauth.clientId%</argument>
            <argument>%api_platform.oauth.clientSecret%</argument>
            <argument>%api_platform.oauth.pkce%</argument>

            <tag name="api_platform.state_processor" priority="-100" key="api_platform.swagger_ui.processor" />
        </service>

        <service id="api_platform.swagger_ui.action" class="ApiPlatform\Symfony\Bundle\SwaggerUi\SwaggerUiAction" public="true">
            <argument type="service" id="api_platform.metadata.resource.metadata_collection_factory" />
            <argument type="service" id="twig" on-invalid="null" />
            <argument type="service" id="router" />
            <argument type="service" id="api_platform.serializer" />
            <argument type="service" id="api_platform.openapi.factory" />
            <argument type="service" id="api_platform.openapi.options" />
            <argument type="service" id="api_platform.swagger_ui.context" />
            <argument>%api_platform.docs_formats%</argument>
            <argument>%api_platform.oauth.clientId%</argument>
            <argument>%api_platform.oauth.clientSecret%</argument>
            <argument>%api_platform.oauth.pkce%</argument>
        </service>
    </services>
</container>
