mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-09 02:59:27 +03:00
Make ClassMetadataFactory optional
This commit is contained in:
parent
a46458e1f3
commit
86745ae2eb
@ -33,7 +33,7 @@ class ObjectModelDescriber implements ModelDescriberInterface, ModelRegistryAwar
|
|||||||
|
|
||||||
/** @var PropertyInfoExtractorInterface */
|
/** @var PropertyInfoExtractorInterface */
|
||||||
private $propertyInfo;
|
private $propertyInfo;
|
||||||
/** @var ClassMetadataFactoryInterface */
|
/** @var ClassMetadataFactoryInterface|null */
|
||||||
private $classMetadataFactory;
|
private $classMetadataFactory;
|
||||||
/** @var Reader */
|
/** @var Reader */
|
||||||
private $doctrineReader;
|
private $doctrineReader;
|
||||||
@ -41,27 +41,27 @@ class ObjectModelDescriber implements ModelDescriberInterface, ModelRegistryAwar
|
|||||||
private $propertyDescribers;
|
private $propertyDescribers;
|
||||||
/** @var string[] */
|
/** @var string[] */
|
||||||
private $mediaTypes;
|
private $mediaTypes;
|
||||||
/** @var NameConverterInterface[] */
|
/** @var NameConverterInterface|null */
|
||||||
private $nameConverter;
|
private $nameConverter;
|
||||||
/** @var bool */
|
/** @var bool */
|
||||||
private $useValidationGroups;
|
private $useValidationGroups;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
PropertyInfoExtractorInterface $propertyInfo,
|
PropertyInfoExtractorInterface $propertyInfo,
|
||||||
ClassMetadataFactoryInterface $classMetadataFactory,
|
|
||||||
Reader $reader,
|
Reader $reader,
|
||||||
iterable $propertyDescribers,
|
iterable $propertyDescribers,
|
||||||
array $mediaTypes,
|
array $mediaTypes,
|
||||||
NameConverterInterface $nameConverter = null,
|
NameConverterInterface $nameConverter = null,
|
||||||
bool $useValidationGroups = false
|
bool $useValidationGroups = false,
|
||||||
|
ClassMetadataFactoryInterface $classMetadataFactory = null
|
||||||
) {
|
) {
|
||||||
$this->propertyInfo = $propertyInfo;
|
$this->propertyInfo = $propertyInfo;
|
||||||
$this->classMetadataFactory = $classMetadataFactory;
|
|
||||||
$this->doctrineReader = $reader;
|
$this->doctrineReader = $reader;
|
||||||
$this->propertyDescribers = $propertyDescribers;
|
$this->propertyDescribers = $propertyDescribers;
|
||||||
$this->mediaTypes = $mediaTypes;
|
$this->mediaTypes = $mediaTypes;
|
||||||
$this->nameConverter = $nameConverter;
|
$this->nameConverter = $nameConverter;
|
||||||
$this->useValidationGroups = $useValidationGroups;
|
$this->useValidationGroups = $useValidationGroups;
|
||||||
|
$this->classMetadataFactory = $classMetadataFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function describe(Model $model, OA\Schema $schema)
|
public function describe(Model $model, OA\Schema $schema)
|
||||||
@ -89,9 +89,12 @@ class ObjectModelDescriber implements ModelDescriberInterface, ModelRegistryAwar
|
|||||||
|
|
||||||
$schema->type = 'object';
|
$schema->type = 'object';
|
||||||
|
|
||||||
$mapping = $this->classMetadataFactory
|
$mapping = false;
|
||||||
->getMetadataFor($class)
|
if (null !== $this->classMetadataFactory) {
|
||||||
->getClassDiscriminatorMapping();
|
$mapping = $this->classMetadataFactory
|
||||||
|
->getMetadataFor($class)
|
||||||
|
->getClassDiscriminatorMapping();
|
||||||
|
}
|
||||||
|
|
||||||
if ($mapping && Generator::UNDEFINED === $schema->discriminator) {
|
if ($mapping && Generator::UNDEFINED === $schema->discriminator) {
|
||||||
$this->applyOpenApiDiscriminator(
|
$this->applyOpenApiDiscriminator(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user