Skip to content
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

Add a @GraphQLIgnore annotation allowing field parameters to be ignored/excluded from a schema #299

Merged
merged 1 commit into from
Dec 12, 2023

Conversation

mattjquinn
Copy link
Contributor

@mattjquinn mattjquinn commented Dec 11, 2023

This will enhance type safety in situations where the schema is built using grapqhl-java and graphql-java-annotations, then provided to a different library (e.g. graphql-spring) for execution.

Currently, oftentimes the runtime implementation of a schema (resolvers, controllers, etc.) can't implement some of the interfaces defining the schema, as the former requires runtime-specific arguments (context, environment, etc.). This means that an interface can change, and the schema will change as a result upon regeneration from the interfaces, but forgetting to change the runtime implementation won't be caught statically at compile-time, leading to eventual runtime errors.

With this change, interfaces can be modified to include those runtime-specific parameters, tagging them with @GraphQLIgnore, so that runtime classes can implement them.

@mattjquinn mattjquinn changed the title Add an @GraphQLIgnore annotation allowing field parameters to be ignored/excluded from a schema Add a @GraphQLIgnore annotation allowing field parameters to be ignored/excluded from a schema Dec 11, 2023
@tdraier tdraier merged commit 74dd8c8 into Enigmatis:master Dec 12, 2023
1 check passed
github-merge-queue bot referenced this pull request in camunda/camunda May 2, 2024
…ns to v21.2 (main) (#18186)

[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.graphql-java:graphql-java-annotations](https://github.com/graphql-java/graphql-java-annotations)
| `21.1` -> `21.2` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.graphql-java:graphql-java-annotations/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.graphql-java:graphql-java-annotations/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.graphql-java:graphql-java-annotations/21.1/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.graphql-java:graphql-java-annotations/21.1/21.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>graphql-java/graphql-java-annotations
(io.github.graphql-java:graphql-java-annotations)</summary>

###
[`v21.2`](https://github.com/Enigmatis/graphql-java-annotations/releases/tag/v21.2)

[Compare
Source](https://github.com/graphql-java/graphql-java-annotations/compare/v21.1...v21.2)

#### What's Changed

- Upgrade graphql-java version to 21.2 by
[@&#8203;geichelberger](https://github.com/geichelberger) in
[https://github.com/Enigmatis/graphql-java-annotations/pull/297](https://github.com/Enigmatis/graphql-java-annotations/pull/297)
- Support for inherited interfaces
([#&#8203;65](https://github.com/graphql-java/graphql-java-annotations/issues/65))
by [@&#8203;richharms](https://github.com/richharms) in
[https://github.com/Enigmatis/graphql-java-annotations/pull/298](https://github.com/Enigmatis/graphql-java-annotations/pull/298)
- Add a `@GraphQLIgnore` annotation allowing field parameters to be
ignored/excluded from a schema by
[@&#8203;mattjquinn](https://github.com/mattjquinn) in
[https://github.com/Enigmatis/graphql-java-annotations/pull/299](https://github.com/Enigmatis/graphql-java-annotations/pull/299)

#### New Contributors

- [@&#8203;mattjquinn](https://github.com/mattjquinn) made their first
contribution in
[https://github.com/Enigmatis/graphql-java-annotations/pull/299](https://github.com/Enigmatis/graphql-java-annotations/pull/299)

**Full Changelog**:
Enigmatis/graphql-java-annotations@v21.1...v21.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/camunda/zeebe).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMzEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjMzMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiXX0=-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants