Introduce a generic GraphQL base resolver #252
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #221 to the
main
.This introduces a
BaseGraphQLDataFetcher
which registers several base GraphQL queries and mutations (!) once implemented for a given entity (e.g.ApplicationGraphQLDataFetcher
). The names of the queries will be autogenerated for each available operation following simple conventions:findAll
all{BaseEntities}
, e.g.allApplications
findOne
{BaseEntity}ById
, e.g.applicationById
create
create{BaseEntity}
, e.g.createApplication
update
update{BaseEntity}
, e.g.updateApplication
delete
delete{BaseEntity}
, e.g.deleteApplication
Please see the
shogun.graphqls
for a full list of available queries and mutations.Upgrade notes for projects:
shogun.graphql.skipBean
is no longer needed and can be removed from theapplication.yml
GraphQLProvider
can be removed.GraphQLProvider
) should be moved to a single resolver, e.g.:(Note the annotation
@GraphQLQuery
which defines the name of the query which is needed to register it in the schema file.)Please review @terrestris/devs.
(In addition a new service method for returning the owner an entity has been added.)