|
1 | 1 | <?php
|
2 |
| - |
3 | 2 | namespace Vyuldashev\LaravelOpenApi\Builders\Paths;
|
4 | 3 |
|
5 |
| -use GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException; |
6 |
| -use GoldSpecDigital\ObjectOrientedOAS\Objects\Operation; |
7 |
| -use Illuminate\Support\Collection; |
8 | 4 | use Illuminate\Support\Str;
|
9 |
| -use Vyuldashev\LaravelOpenApi\Attributes\Operation as OperationAttribute; |
| 5 | +use Illuminate\Support\Collection; |
| 6 | +use Vyuldashev\LaravelOpenApi\RouteInformation; |
| 7 | +use GoldSpecDigital\ObjectOrientedOAS\Objects\Operation; |
10 | 8 | use Vyuldashev\LaravelOpenApi\Builders\ExtensionsBuilder;
|
| 9 | +use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\SecurityBuilder; |
11 | 10 | use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\CallbacksBuilder;
|
| 11 | +use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\ResponsesBuilder; |
| 12 | +use Vyuldashev\LaravelOpenApi\Attributes\Operation as OperationAttribute; |
12 | 13 | use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\ParametersBuilder;
|
| 14 | +use GoldSpecDigital\ObjectOrientedOAS\Exceptions\InvalidArgumentException; |
13 | 15 | use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\RequestBodyBuilder;
|
14 |
| -use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\ResponsesBuilder; |
15 |
| -use Vyuldashev\LaravelOpenApi\Builders\Paths\Operation\SecurityBuilder; |
16 |
| -use Vyuldashev\LaravelOpenApi\RouteInformation; |
17 | 16 |
|
18 | 17 | class OperationsBuilder
|
19 | 18 | {
|
@@ -73,8 +72,14 @@ public function build(array | Collection $routes): array
|
73 | 72 | ->parameters(...$parameters)
|
74 | 73 | ->requestBody($requestBody)
|
75 | 74 | ->responses(...$responses)
|
76 |
| - ->callbacks(...$callbacks) |
77 |
| - ->security(...$security); |
| 75 | + ->callbacks(...$callbacks); |
| 76 | + |
| 77 | + /** Not the cleanest code, we need to call notSecurity instead of security when our security has been turned off */ |
| 78 | + if (count($security) === 1 && $security[0]->securityScheme === null) { |
| 79 | + $operation = $operation->noSecurity(); |
| 80 | + } else { |
| 81 | + $operation = $operation->security(...$security); |
| 82 | + } |
78 | 83 |
|
79 | 84 | $this->extensionsBuilder->build($operation, $route->actionAttributes);
|
80 | 85 |
|
|
0 commit comments