mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-02 15:51:48 +03:00
7357de9c16
If this was turned on by default, that seems like a _large_ BC break as folks entire OpenAPI doc could change underneath them. The config option defaults to false and users can enable it if they desire.
41 lines
1.4 KiB
PHP
41 lines
1.4 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the NelmioApiDocBundle package.
|
|
*
|
|
* (c) Nelmio
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Nelmio\ApiDocBundle\DependencyInjection\Compiler;
|
|
|
|
use Nelmio\ApiDocBundle\ModelDescriber\FormModelDescriber;
|
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Reference;
|
|
|
|
/**
|
|
* Enables the FormModelDescriber only if forms are enabled.
|
|
*
|
|
* @internal
|
|
*/
|
|
final class ConfigurationPass implements CompilerPassInterface
|
|
{
|
|
public function process(ContainerBuilder $container)
|
|
{
|
|
if ($container->hasDefinition('form.factory')) {
|
|
$container->register('nelmio_api_doc.model_describers.form', FormModelDescriber::class)
|
|
->setPublic(false)
|
|
->addArgument(new Reference('form.factory'))
|
|
->addArgument(new Reference('annotations.reader'))
|
|
->addArgument($container->getParameter('nelmio_api_doc.media_types'))
|
|
->addArgument($container->getParameter('nelmio_api_doc.use_validation_groups'))
|
|
->addTag('nelmio_api_doc.model_describer', ['priority' => 100]);
|
|
}
|
|
|
|
$container->getParameterBag()->remove('nelmio_api_doc.media_types');
|
|
}
|
|
}
|