Test Failed
Pull Request — master (#34)
by Anatoly
02:07
created

RequestBody   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 7
c 1
b 0
f 0
dl 0
loc 51
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getComponentName() 0 3 1
A getReferenceName() 0 3 1
1
<?php declare(strict_types=1);
2
3
/**
4
 * It's free open-source software released under the MIT License.
5
 *
6
 * @author Anatoly Fenric <[email protected]>
7
 * @copyright Copyright (c) 2018, Anatoly Fenric
8
 * @license https://github.com/sunrise-php/http-router/blob/master/LICENSE
9
 * @link https://github.com/sunrise-php/http-router
10
 */
11
12
namespace Sunrise\Http\Router\Annotation\OpenApi;
13
14
/**
15
 * Import classes
16
 */
17
use Sunrise\Http\Router\OpenApi\ComponentObjectInterface;
18
19
/**
20
 * Import functions
21
 */
22
use function spl_object_hash;
23
24
/**
25
 * @Annotation
26
 *
27
 * @Target({"ALL"})
28
 *
29
 * @link https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#request-body-object
30
 */
31
final class RequestBody extends AbstractAnnotation implements RequestBodyInterface, ComponentObjectInterface
32
{
33
34
    /**
35
     * {@inheritDoc}
36
     */
37
    protected const IGNORE_FIELDS = ['refName'];
38
39
    /**
40
     * @var string
41
     */
42
    public $refName;
43
44
    /**
45
     * @var string
46
     *
47
     * @link https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#user-content-requestbodydescription
48
     */
49
    public $description;
50
51
    /**
52
     * @Required
53
     *
54
     * @var array<\Sunrise\Http\Router\Annotation\OpenApi\MediaTypeInterface>
55
     *
56
     * @link https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#user-content-requestbodycontent
57
     * @link https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#media-types
58
     */
59
    public $content;
60
61
    /**
62
     * @var bool
63
     *
64
     * @link https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#user-content-requestbodyrequired
65
     */
66
    public $required;
67
68
    /**
69
     * {@inheritDoc}
70
     */
71
    public function getComponentName() : string
72
    {
73
        return 'requestBodies';
74
    }
75
76
    /**
77
     * {@inheritDoc}
78
     */
79
    public function getReferenceName() : string
80
    {
81
        return $this->refName ?? spl_object_hash($this);
82
    }
83
}
84