<?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.security.expression_language" alias="security.expression_language" />

        <service id="api_platform.security.resource_access_checker" class="ApiPlatform\Symfony\Security\ResourceAccessChecker" public="false">
            <argument type="service" id="api_platform.security.expression_language" on-invalid="null" />
            <argument type="service" id="security.authentication.trust_resolver" on-invalid="null" />
            <argument type="service" id="security.role_hierarchy" on-invalid="null" />
            <argument type="service" id="security.token_storage" on-invalid="null" />
            <argument type="service" id="security.authorization_checker" on-invalid="null" />
        </service>
        <service id="ApiPlatform\Symfony\Security\ResourceAccessCheckerInterface" alias="api_platform.security.resource_access_checker" />

        <service id="api_platform.security.expression_language_provider" class="ApiPlatform\Symfony\Security\Core\Authorization\ExpressionLanguageProvider" public="false">
            <tag name="security.expression_language_provider" />
        </service>
    </services>

</container>
