Skip to content

Commit b79c7ae

Browse files
authored
feat(metadata): allow \Stringable for security parameters (#6095)
1 parent 3643152 commit b79c7ae

19 files changed

+201
-85
lines changed

src/Metadata/ApiProperty.php

+21-21
Original file line numberDiff line numberDiff line change
@@ -24,23 +24,23 @@
2424
final class ApiProperty
2525
{
2626
/**
27-
* @param bool|null $readableLink https://api-platform.com/docs/core/serialization/#force-iri-with-relations-of-the-same-type-parentchilds-relations
28-
* @param bool|null $writableLink https://api-platform.com/docs/core/serialization/#force-iri-with-relations-of-the-same-type-parentchilds-relations
29-
* @param bool|null $required https://api-platform.com/docs/admin/validation/#client-side-validation
30-
* @param bool|null $identifier https://api-platform.com/docs/core/identifiers/
31-
* @param string|null $default
32-
* @param mixed $example https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
33-
* @param string|null $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
34-
* @param bool|null $fetchEager https://api-platform.com/docs/core/performance/#eager-loading
35-
* @param array|null $jsonldContext https://api-platform.com/docs/core/extending-jsonld-context/#extending-json-ld-and-hydra-contexts
36-
* @param array|null $openapiContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
37-
* @param bool|null $push https://api-platform.com/docs/core/push-relations/
38-
* @param string|null $security https://api-platform.com/docs/core/security
39-
* @param string|null $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
40-
* @param string[] $types the RDF types of this property
41-
* @param string[] $iris
42-
* @param Type[] $builtinTypes
43-
* @param string|null $uriTemplate (experimental) whether to return the subRessource collection IRI instead of an iterable of IRI
27+
* @param bool|null $readableLink https://api-platform.com/docs/core/serialization/#force-iri-with-relations-of-the-same-type-parentchilds-relations
28+
* @param bool|null $writableLink https://api-platform.com/docs/core/serialization/#force-iri-with-relations-of-the-same-type-parentchilds-relations
29+
* @param bool|null $required https://api-platform.com/docs/admin/validation/#client-side-validation
30+
* @param bool|null $identifier https://api-platform.com/docs/core/identifiers/
31+
* @param string|null $default
32+
* @param mixed $example https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
33+
* @param string|null $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
34+
* @param bool|null $fetchEager https://api-platform.com/docs/core/performance/#eager-loading
35+
* @param array|null $jsonldContext https://api-platform.com/docs/core/extending-jsonld-context/#extending-json-ld-and-hydra-contexts
36+
* @param array|null $openapiContext https://api-platform.com/docs/core/openapi/#using-the-openapi-and-swagger-contexts
37+
* @param bool|null $push https://api-platform.com/docs/core/push-relations/
38+
* @param string|\Stringable|null $security https://api-platform.com/docs/core/security
39+
* @param string|\Stringable|null $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
40+
* @param string[] $types the RDF types of this property
41+
* @param string[] $iris
42+
* @param Type[] $builtinTypes
43+
* @param string|null $uriTemplate (experimental) whether to return the subRessource collection IRI instead of an iterable of IRI
4444
*/
4545
public function __construct(
4646
private ?string $description = null,
@@ -148,7 +148,7 @@ public function __construct(
148148
*
149149
* </div>
150150
*/
151-
private ?string $security = null,
151+
private string|\Stringable|null $security = null,
152152
/**
153153
* The `securityPostDenormalize` option defines access to the current property after the denormalization process, based on Symfony Security.
154154
* It receives an `object` variable related to the current object, and a `property` variable related to the current property.
@@ -192,7 +192,7 @@ public function __construct(
192192
*
193193
* </div>
194194
*/
195-
private ?string $securityPostDenormalize = null,
195+
private string|\Stringable|null $securityPostDenormalize = null,
196196
private array|string|null $types = null,
197197
/*
198198
* The related php types.
@@ -420,7 +420,7 @@ public function withPush($push): self
420420

421421
public function getSecurity(): ?string
422422
{
423-
return $this->security;
423+
return $this->security instanceof \Stringable ? (string) $this->security : $this->security;
424424
}
425425

426426
public function withSecurity($security): self
@@ -433,7 +433,7 @@ public function withSecurity($security): self
433433

434434
public function getSecurityPostDenormalize(): ?string
435435
{
436-
return $this->securityPostDenormalize;
436+
return $this->securityPostDenormalize instanceof \Stringable ? (string) $this->securityPostDenormalize : $this->securityPostDenormalize;
437437
}
438438

439439
public function withSecurityPostDenormalize($securityPostDenormalize): self

src/Metadata/ApiResource.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -946,11 +946,11 @@ public function __construct(
946946
* </div>
947947
*/
948948
protected ?string $paginationType = null,
949-
protected ?string $security = null,
949+
protected string|\Stringable|null $security = null,
950950
protected ?string $securityMessage = null,
951-
protected ?string $securityPostDenormalize = null,
951+
protected string|\Stringable|null $securityPostDenormalize = null,
952952
protected ?string $securityPostDenormalizeMessage = null,
953-
protected ?string $securityPostValidation = null,
953+
protected string|\Stringable|null $securityPostValidation = null,
954954
protected ?string $securityPostValidationMessage = null,
955955
protected ?bool $compositeIdentifier = null,
956956
protected ?array $exceptionToStatus = null,

src/Metadata/Delete.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public function __construct(
6767
?array $normalizationContext = null,
6868
?array $denormalizationContext = null,
6969
?bool $collectDenormalizationErrors = null,
70-
?string $security = null,
70+
string|\Stringable|null $security = null,
7171
?string $securityMessage = null,
72-
?string $securityPostDenormalize = null,
72+
string|\Stringable|null $securityPostDenormalize = null,
7373
?string $securityPostDenormalizeMessage = null,
74-
?string $securityPostValidation = null,
74+
string|\Stringable|null $securityPostValidation = null,
7575
?string $securityPostValidationMessage = null,
7676
?string $deprecationReason = null,
7777
?array $filters = null,

src/Metadata/Error.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public function __construct(
6767
?array $normalizationContext = null,
6868
?array $denormalizationContext = null,
6969
?bool $collectDenormalizationErrors = null,
70-
?string $security = null,
70+
string|\Stringable|null $security = null,
7171
?string $securityMessage = null,
72-
?string $securityPostDenormalize = null,
72+
string|\Stringable|null $securityPostDenormalize = null,
7373
?string $securityPostDenormalizeMessage = null,
74-
?string $securityPostValidation = null,
74+
string|\Stringable|null $securityPostValidation = null,
7575
?string $securityPostValidationMessage = null,
7676
?string $deprecationReason = null,
7777
?array $filters = null,

src/Metadata/ErrorResource.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ public function __construct(
7272
?int $paginationMaximumItemsPerPage = null,
7373
?bool $paginationPartial = null,
7474
?string $paginationType = null,
75-
?string $security = null,
75+
string|\Stringable|null $security = null,
7676
?string $securityMessage = null,
77-
?string $securityPostDenormalize = null,
77+
string|\Stringable|null $securityPostDenormalize = null,
7878
?string $securityPostDenormalizeMessage = null,
79-
?string $securityPostValidation = null,
79+
string|\Stringable|null $securityPostValidation = null,
8080
?string $securityPostValidationMessage = null,
8181
?bool $compositeIdentifier = null,
8282
?array $exceptionToStatus = null,

src/Metadata/Get.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public function __construct(
6767
?array $normalizationContext = null,
6868
?array $denormalizationContext = null,
6969
?bool $collectDenormalizationErrors = null,
70-
?string $security = null,
70+
string|\Stringable|null $security = null,
7171
?string $securityMessage = null,
72-
?string $securityPostDenormalize = null,
72+
string|\Stringable|null $securityPostDenormalize = null,
7373
?string $securityPostDenormalizeMessage = null,
74-
?string $securityPostValidation = null,
74+
string|\Stringable|null $securityPostValidation = null,
7575
?string $securityPostValidationMessage = null,
7676
?string $deprecationReason = null,
7777
?array $filters = null,

src/Metadata/GetCollection.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public function __construct(
6767
?array $normalizationContext = null,
6868
?array $denormalizationContext = null,
6969
?bool $collectDenormalizationErrors = null,
70-
?string $security = null,
70+
string|\Stringable|null $security = null,
7171
?string $securityMessage = null,
72-
?string $securityPostDenormalize = null,
72+
string|\Stringable|null $securityPostDenormalize = null,
7373
?string $securityPostDenormalizeMessage = null,
74-
?string $securityPostValidation = null,
74+
string|\Stringable|null $securityPostValidation = null,
7575
?string $securityPostValidationMessage = null,
7676
?string $deprecationReason = null,
7777
?array $filters = null,

src/Metadata/GraphQl/Operation.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -57,11 +57,11 @@ public function __construct(
5757
?array $normalizationContext = null,
5858
?array $denormalizationContext = null,
5959
?bool $collectDenormalizationErrors = null,
60-
?string $security = null,
60+
string|\Stringable|null $security = null,
6161
?string $securityMessage = null,
62-
?string $securityPostDenormalize = null,
62+
string|\Stringable|null $securityPostDenormalize = null,
6363
?string $securityPostDenormalizeMessage = null,
64-
?string $securityPostValidation = null,
64+
string|\Stringable|null $securityPostValidation = null,
6565
?string $securityPostValidationMessage = null,
6666
?string $deprecationReason = null,
6767
?array $filters = null,

src/Metadata/GraphQl/Query.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ public function __construct(
4141
?array $normalizationContext = null,
4242
?array $denormalizationContext = null,
4343
?bool $collectDenormalizationErrors = null,
44-
?string $security = null,
44+
string|\Stringable|null $security = null,
4545
?string $securityMessage = null,
46-
?string $securityPostDenormalize = null,
46+
string|\Stringable|null $securityPostDenormalize = null,
4747
?string $securityPostDenormalizeMessage = null,
48-
?string $securityPostValidation = null,
48+
string|\Stringable|null $securityPostValidation = null,
4949
?string $securityPostValidationMessage = null,
5050
?string $deprecationReason = null,
5151
?array $filters = null,

src/Metadata/GraphQl/QueryCollection.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ public function __construct(
4242
?array $normalizationContext = null,
4343
?array $denormalizationContext = null,
4444
?bool $collectDenormalizationErrors = null,
45-
?string $security = null,
45+
string|\Stringable|null $security = null,
4646
?string $securityMessage = null,
47-
?string $securityPostDenormalize = null,
47+
string|\Stringable|null $securityPostDenormalize = null,
4848
?string $securityPostDenormalizeMessage = null,
49-
?string $securityPostValidation = null,
49+
string|\Stringable|null $securityPostValidation = null,
5050
?string $securityPostValidationMessage = null,
5151
?string $deprecationReason = null,
5252
?array $filters = null,

src/Metadata/GraphQl/Subscription.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ public function __construct(
4141
?array $normalizationContext = null,
4242
?array $denormalizationContext = null,
4343
?bool $collectDenormalizationErrors = null,
44-
?string $security = null,
44+
string|\Stringable|null $security = null,
4545
?string $securityMessage = null,
46-
?string $securityPostDenormalize = null,
46+
string|\Stringable|null $securityPostDenormalize = null,
4747
?string $securityPostDenormalizeMessage = null,
48-
?string $securityPostValidation = null,
48+
string|\Stringable|null $securityPostValidation = null,
4949
?string $securityPostValidationMessage = null,
5050
?string $deprecationReason = null,
5151
?array $filters = null,

src/Metadata/HttpOperation.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,11 @@ public function __construct(
173173
?array $normalizationContext = null,
174174
?array $denormalizationContext = null,
175175
?bool $collectDenormalizationErrors = null,
176-
?string $security = null,
176+
string|\Stringable|null $security = null,
177177
?string $securityMessage = null,
178-
?string $securityPostDenormalize = null,
178+
string|\Stringable|null $securityPostDenormalize = null,
179179
?string $securityPostDenormalizeMessage = null,
180-
?string $securityPostValidation = null,
180+
string|\Stringable|null $securityPostValidation = null,
181181
?string $securityPostValidationMessage = null,
182182
?string $deprecationReason = null,
183183
?array $filters = null,

src/Metadata/Metadata.php

+16-16
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,15 @@
2121
abstract class Metadata
2222
{
2323
/**
24-
* @param string|null $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
25-
* @param string|null $security https://api-platform.com/docs/core/security
26-
* @param string|null $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
27-
* @param mixed|null $mercure
28-
* @param mixed|null $messenger
29-
* @param mixed|null $input
30-
* @param mixed|null $output
31-
* @param mixed|null $provider
32-
* @param mixed|null $processor
24+
* @param string|null $deprecationReason https://api-platform.com/docs/core/deprecations/#deprecating-resource-classes-operations-and-properties
25+
* @param string|\Stringable|null $security https://api-platform.com/docs/core/security
26+
* @param string|\Stringable|null $securityPostDenormalize https://api-platform.com/docs/core/security/#executing-access-control-rules-after-denormalization
27+
* @param mixed|null $mercure
28+
* @param mixed|null $messenger
29+
* @param mixed|null $input
30+
* @param mixed|null $output
31+
* @param mixed|null $provider
32+
* @param mixed|null $processor
3333
*/
3434
public function __construct(
3535
protected ?string $shortName = null,
@@ -60,11 +60,11 @@ public function __construct(
6060
protected ?bool $paginationClientPartial = null,
6161
protected ?bool $paginationFetchJoinCollection = null,
6262
protected ?bool $paginationUseOutputWalkers = null,
63-
protected ?string $security = null,
63+
protected string|\Stringable|null $security = null,
6464
protected ?string $securityMessage = null,
65-
protected ?string $securityPostDenormalize = null,
65+
protected string|\Stringable|null $securityPostDenormalize = null,
6666
protected ?string $securityPostDenormalizeMessage = null,
67-
protected ?string $securityPostValidation = null,
67+
protected string|\Stringable|null $securityPostValidation = null,
6868
protected ?string $securityPostValidationMessage = null,
6969
protected $provider = null,
7070
protected $processor = null,
@@ -451,7 +451,7 @@ public function withPaginationUseOutputWalkers(bool $paginationUseOutputWalkers)
451451

452452
public function getSecurity(): ?string
453453
{
454-
return $this->security;
454+
return $this->security instanceof \Stringable ? (string) $this->security : $this->security;
455455
}
456456

457457
public function withSecurity($security): static
@@ -477,7 +477,7 @@ public function withSecurityMessage(string $securityMessage): static
477477

478478
public function getSecurityPostDenormalize(): ?string
479479
{
480-
return $this->securityPostDenormalize;
480+
return $this->securityPostDenormalize instanceof \Stringable ? (string) $this->securityPostDenormalize : $this->securityPostDenormalize;
481481
}
482482

483483
public function withSecurityPostDenormalize($securityPostDenormalize): static
@@ -503,10 +503,10 @@ public function withSecurityPostDenormalizeMessage(string $securityPostDenormali
503503

504504
public function getSecurityPostValidation(): ?string
505505
{
506-
return $this->securityPostValidation;
506+
return $this->securityPostValidation instanceof \Stringable ? (string) $this->securityPostValidation : $this->securityPostValidation;
507507
}
508508

509-
public function withSecurityPostValidation(?string $securityPostValidation = null): static
509+
public function withSecurityPostValidation(string|\Stringable|null $securityPostValidation = null): static
510510
{
511511
$self = clone $this;
512512
$self->securityPostValidation = $securityPostValidation;

src/Metadata/NotExposed.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,11 @@ public function __construct(
8080
?array $normalizationContext = null,
8181
?array $denormalizationContext = null,
8282
?bool $collectDenormalizationErrors = null,
83-
?string $security = null,
83+
string|\Stringable|null $security = null,
8484
?string $securityMessage = null,
85-
?string $securityPostDenormalize = null,
85+
string|\Stringable|null $securityPostDenormalize = null,
8686
?string $securityPostDenormalizeMessage = null,
87-
?string $securityPostValidation = null,
87+
string|\Stringable|null $securityPostValidation = null,
8888
?string $securityPostValidationMessage = null,
8989
?string $deprecationReason = null,
9090
?array $filters = null,

src/Metadata/Operation.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -611,11 +611,11 @@ public function __construct(
611611
protected ?array $normalizationContext = null,
612612
protected ?array $denormalizationContext = null,
613613
protected ?bool $collectDenormalizationErrors = null,
614-
protected ?string $security = null,
614+
protected string|\Stringable|null $security = null,
615615
protected ?string $securityMessage = null,
616-
protected ?string $securityPostDenormalize = null,
616+
protected string|\Stringable|null $securityPostDenormalize = null,
617617
protected ?string $securityPostDenormalizeMessage = null,
618-
protected ?string $securityPostValidation = null,
618+
protected string|\Stringable|null $securityPostValidation = null,
619619
protected ?string $securityPostValidationMessage = null,
620620
/**
621621
* The `deprecationReason` option deprecates the current operation with a deprecation message.

src/Metadata/Patch.php

+3-3
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ public function __construct(
6767
?array $normalizationContext = null,
6868
?array $denormalizationContext = null,
6969
?bool $collectDenormalizationErrors = null,
70-
?string $security = null,
70+
string|\Stringable|null $security = null,
7171
?string $securityMessage = null,
72-
?string $securityPostDenormalize = null,
72+
string|\Stringable|null $securityPostDenormalize = null,
7373
?string $securityPostDenormalizeMessage = null,
74-
?string $securityPostValidation = null,
74+
string|\Stringable|null $securityPostValidation = null,
7575
?string $securityPostValidationMessage = null,
7676
?string $deprecationReason = null,
7777
?array $filters = null,

0 commit comments

Comments
 (0)