• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

api-platform / core / 13718525764

07 Mar 2025 10:15AM UTC coverage: 7.289%. Remained the same
13718525764

push

github

web-flow
fix(doctrine): Add a proper exception when a doctrine manager could not be found for a resource class (#6995)

* fix(doctrine): Add a proper exception when a doctrine manager could not be found for a resource class

* Update ItemProvider.php

---------

Co-authored-by: Antoine Bluchet <soyuka@users.noreply.github.com>

1 of 2 new or added lines in 1 file covered. (50.0%)

2387 existing lines in 157 files now uncovered.

12437 of 170624 relevant lines covered (7.29%)

11.99 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

100.0
/src/OpenApi/Serializer/LegacyOpenApiNormalizer.php
1
<?php
2

3
/*
4
 * This file is part of the API Platform project.
5
 *
6
 * (c) Kévin Dunglas <dunglas@gmail.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11

12
declare(strict_types=1);
13

14
namespace ApiPlatform\OpenApi\Serializer;
15

16
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
17

18
final class LegacyOpenApiNormalizer implements NormalizerInterface
19
{
20
    public const SPEC_VERSION = 'spec_version';
21
    private array $defaultContext = [
22
        self::SPEC_VERSION => '3.1.0',
23
    ];
24

25
    public function __construct(private readonly NormalizerInterface $decorated, $defaultContext = [])
26
    {
27
        $this->defaultContext = array_merge($this->defaultContext, $defaultContext);
1,093✔
28
    }
29

30
    public function normalize(mixed $object, ?string $format = null, array $context = []): array
31
    {
32
        $openapi = $this->decorated->normalize($object, $format, $context);
33✔
33

34
        if ('3.0.0' !== ($context['spec_version'] ?? null)) {
33✔
35
            return $openapi;
32✔
36
        }
37

UNCOV
38
        $schemas = &$openapi['components']['schemas'];
1✔
UNCOV
39
        $openapi['openapi'] = '3.0.0';
1✔
UNCOV
40
        foreach ($openapi['components']['schemas'] as $name => $component) {
1✔
UNCOV
41
            foreach ($component['properties'] ?? [] as $property => $value) {
1✔
UNCOV
42
                if (\is_array($value['type'] ?? false)) {
1✔
UNCOV
43
                    foreach ($value['type'] as $type) {
1✔
UNCOV
44
                        $schemas[$name]['properties'][$property]['anyOf'][] = ['type' => $type];
1✔
45
                    }
UNCOV
46
                    unset($schemas[$name]['properties'][$property]['type']);
1✔
47
                }
48
            }
49
        }
50

UNCOV
51
        return $openapi;
1✔
52
    }
53

54
    /**
55
     * {@inheritdoc}
56
     */
57
    public function supportsNormalization(mixed $data, ?string $format = null, array $context = []): bool
58
    {
59
        return $this->decorated->supportsNormalization($data, $format, $context);
33✔
60
    }
61

62
    public function getSupportedTypes($format): array
63
    {
64
        return $this->decorated->getSupportedTypes($format);
1,048✔
65
    }
66
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc