-
-
Notifications
You must be signed in to change notification settings - Fork 922
feat(metadata) Customize Resource & operations #7213
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
feat(metadata) Customize Resource & operations #7213
Conversation
15dcaa4
to
7f165b9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really cool, this is a follow up for php configured metadata as this allows to mutate vendor operations. I'll probably demonstrate this shortly.
I'd recommend to add a ResourceMutatorInterface. Obviously we should introduce an AsOperationMutator. I'd suggest that it takes:
public readonly string $operationName
URI Template would be nice as well but it will probably match several operations, therefore it's probably better to just use the $operationName
.
src/Metadata/Resource/Factory/CustomResourceMetadataCollectionFactory.php
Outdated
Show resolved
Hide resolved
src/Metadata/Resource/Factory/CustomResourceMetadataCollectionFactory.php
Outdated
Show resolved
Hide resolved
10140bd
to
1b3ab0e
Compare
src/Metadata/Resource/Factory/MutatorResourceMetadataCollectionFactory.php
Outdated
Show resolved
Hide resolved
src/Symfony/Bundle/DependencyInjection/Compiler/OperationMutatorPass.php
Outdated
Show resolved
Hide resolved
src/Symfony/Bundle/DependencyInjection/Compiler/ResourceMutatorPass.php
Outdated
Show resolved
Hide resolved
src/Symfony/Bundle/DependencyInjection/Compiler/ResourceMutatorPass.php
Outdated
Show resolved
Hide resolved
d35922c
to
61fb8f6
Compare
Co-authored-by: Antoine Bluchet <[email protected]>
a8626ee
to
4b7dbbd
Compare
4b7dbbd
to
d4ecfb6
Compare
The idea of this feature is to allow customizing built-in endpoints from a third party API (ex Sylius E-commerce API).