mirror of
https://github.com/retailcrm/NelmioApiDocBundle.git
synced 2025-02-02 23:59:26 +03:00
cc97b0ba45
* Add support for php attributes * Fix tests for php 8.1 * Simplify the annotations * Revert the changes to the tests * CS * Test FOSRest parsing of attributes * CS * typo * CS * Test fetchArticle php 8.1 attributes * Fix namespaces Co-authored-by: Guilhem Niot <guilhem@gniot.fr>
70 lines
1.3 KiB
PHP
70 lines
1.3 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\Annotation;
|
|
|
|
use OpenApi\Annotations\AbstractAnnotation;
|
|
use OpenApi\Annotations\Parameter;
|
|
use OpenApi\Generator;
|
|
|
|
/**
|
|
* @Annotation
|
|
*/
|
|
#[\Attribute(\Attribute::TARGET_METHOD)]
|
|
final class Model extends AbstractAnnotation
|
|
{
|
|
/** {@inheritdoc} */
|
|
public static $_types = [
|
|
'type' => 'string',
|
|
'groups' => '[string]',
|
|
'options' => '[mixed]',
|
|
];
|
|
|
|
public static $_required = ['type'];
|
|
|
|
public static $_parents = [
|
|
Parameter::class,
|
|
];
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
public $type;
|
|
|
|
/**
|
|
* @var string[]
|
|
*/
|
|
public $groups;
|
|
|
|
/**
|
|
* @var mixed[]
|
|
*/
|
|
public $options;
|
|
|
|
/**
|
|
* @param mixed[] $properties
|
|
* @param string[] $groups
|
|
* @param mixed[] $options
|
|
*/
|
|
public function __construct(
|
|
array $properties = [],
|
|
string $type = Generator::UNDEFINED,
|
|
array $groups = null,
|
|
array $options = null
|
|
) {
|
|
parent::__construct($properties + [
|
|
'type' => $type,
|
|
'groups' => $groups,
|
|
'options' => $options,
|
|
]);
|
|
}
|
|
}
|