GraphQLBundle
GraphQLBundle copied to clipboard
Added IsPublic support to InputObject
| Q | A |
|---|---|
| Bug fix? | no |
| New feature? | yes |
| BC breaks? | no |
| Deprecations? | no |
| Tests pass? | yes |
| Documented? | yes |
| Fixed tickets | |
| License | MIT |
Added IsPublic support to InputObject
Tested locally, works fine
Hi @vladdnepr
Can you elaborate on this?
The Input Object describe objects used by the client to send a query or mutation. There is no access management of this.
What are you trying to achieve?
I did access control for admin area via public feature.
I need to control inputs, queries, mutations and types. Frontend received schema and can recognize what enabled and what not.
Queries, mutations and types supports IsPublic, but inputs not
@vladdnepr Ok, I see the use case.
Did you check if it's supported by the bundle and the filtering is properly called (PublicFieldsFilterConfigProcessor.php)
We would also need a couple of tests for this.
Thanks!
I will check it soon....
Did you check if it's supported by the bundle and the filtering is properly called (PublicFieldsFilterConfigProcessor.php)
Yes
@vladdnepr Ok great! Can you add a bunch of tests? Thank again!
I see some tests failed. Also failed in origin master.


What tests are you expected?
src/Config/Parser/MetadataParser/MetadataParser.php
I did change in private method, which called with another private inputMetadataToGQLConfiguration, which called with private classMetadatasToGQLConfiguration, which called with processFile

src/Config/InputObjectTypeDefinition.php
I do not see any tests for this file
@Vincz up
Hi @vladdnepr! The tests are now running and I updated your PR on the latest changes.
The tests we are expecting should be added in tests/Functional/App/config/public.
You just need to add an input object in the config and check that the public is correctly handled in Overblog\GraphQLBundle\Tests\Functional\Generator\TypeGeneratorTest (see the first two methods for inspiration).
Sorry, but now I don't have free time for this issue, maybe later I will add tests.
Maybe we release this issue later in another release?