overblog / GraphQLBundle

This bundle provides tools to build a complete GraphQL API server in your Symfony App.
MIT License
788 stars 222 forks source link

ResolveInfo not available in Query #1186

Open fp-cfr opened 6 months ago

fp-cfr commented 6 months ago
Q A
Bug report? yes
Feature request? no
BC Break report? no
RFC? no
Version/Branch 1.1.0

Hello, I'm working on a large project with the update of the lib from version 1.0.0 to version 1.4.0. The following code is used which causes problems with the update:

#[GQL\Query(resolve: "query('CurrentClass:: getUser', info, args.id)")]
#[GQL\Arg('id', 'String!')]
public function getUser(ResolveInfo $info, string $id): User

Error:

Argument n°1 "$resolveInfo" on method "getUser" cannot be auto-guessed from the following type guessers:
[Type Hint] No corresponding GraphQL scalar,enum,input found for class "GraphQL\Type\Definition\ResolveInfo"

Since 1.1.0, is there another way to get ResolveInfo or is the observed behavior a bug?

AlexOstrovsky commented 5 months ago

I am having the same issue @Vincz any suggestion how to get ResolverInfo in Query in versions after 1.1.0?

Vincz commented 5 months ago

Hi guys. In this case, the argument should be ignored from arguments generation in the MetadataParser and it should be populated automatically by the ArgumentsTransformer.
Any of you want to work on this?

AlexOstrovsky commented 5 months ago

@Vincz TBO I looked into it a little and was able to skip arg 'info' in guessArgs of MetadataParser but then I don't see any way to know in ArgumentsTransformer if the Query has 'info' argument like in example: public function getUser(ResolveInfo $info, string $id) because generated function don't know about info as we skipped this argument. Would be so kind and ask someone who knows better what to do to look in it? Thanks.

Vincz commented 5 months ago

Hi @AlexOstrovsky! I'll try to look into it by the end of the week.

AlexOstrovsky commented 4 months ago

Hi @Vincz any luck with this?

AlexOstrovsky commented 4 months ago

@Vincz did you have time to look at this by any chance?

Vincz commented 3 months ago

Hi @AlexOstrovsky You can find here an implementation: https://github.com/overblog/GraphQLBundle/pull/1191 Let me know what you think

AlexOstrovsky commented 3 months ago

@Vincz tried your fork all works as expeted from my point of view